Requires the AI Core addon. This plugin holds no model of its own. It asks AI Core for every completion, so install AI Core first and select a model in AI Assistant → AI Settings. Without it, this plugin shows no completions.
Inline ghost-text code completions. As you type, the plugin debounces, asks
an LLM for a completion at the cursor, and shows it as dimmed inline text via
IdeEditorService.showInlineSuggestion().
The dependency is at runtime only — there is no compile-time dependency on
ai-core. This plugin resolvesLlmInferenceServicethrough the Code On The Go plugin manager (SharedServices), and binds lazily. Until AI Core is active it stays silent, then enables itself when the inference service appears.
┌─────────────────────────────┐
│ ai-code-suggestions (this) │ ← content-change listener, debounce, ghost text
└──────────────┬──────────────┘
│ SharedServices (runtime) → LlmInferenceService
▼
┌─────────────────────────────┐
│ ai-core │ ← LLM inference (local llama.cpp / Gemini)
└─────────────────────────────┘
- Inline ghost-text completions while typing
- 800 ms debounce to reduce LLM load
- LRU cache to avoid redundant calls
- Language-aware prompts (Kotlin, Java, Python, …)
- Graceful degradation when
ai-coreisn't loaded yet (binds lazily)
This plugin declares no plugin.permissions of its own — it only registers a
content-change listener and renders ghost text. Reading the configured
backend/model and any network access happen inside ai-core's process,
which declares those permissions.
The surrounding file content and cursor context are sent to the configured backend to generate a completion — on-device for Local, or to Google over HTTPS for Gemini. Choose the backend accordingly for sensitive code.
Prerequisites: Android SDK (API 33+), JDK 17. Create local.properties with
sdk.dir=.... No NDK or native toolchain.
cd plugins/AI-Code-Suggestions
./gradlew assemblePlugin # release -> build/plugin/ai-code-suggestions.cgp
./gradlew assemblePluginDebug # debug variantThe build resolves plugin-api.jar from the repo-root ../../libs/.
- Build and install
ai-corefirst (see../ai-core/README.md). - Build this plugin, install
build/plugin/ai-code-suggestions.cgpvia Code on the Go's Plugin Manager, and restart the IDE. - Configure a model in AI Assistant → AI Settings.
CodeSuggestionsPlugin.kt— lifecycle, content-change listener, debounceSuggestionProvider.kt— prompt building, LLM call, LRU cache
GPL-3.0 — same as AndroidIDE / Code on the Go.