feat(sdk): add plugin activationScope (app/project)

Manifests can now declare activationScope to defer activation until a
project is focused, instead of always activating at app bootstrap.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-03 14:43:23 +02:00
parent 6bca9cc4c0
commit e509e796b4
3 changed files with 25 additions and 0 deletions

View File

@ -64,10 +64,17 @@ TypeScript.
"version": "0.1.0",
"main": "dist/index.js",
"trustLevel": "full",
"activationScope": "app",
"contributes": {}
}
```
`activationScope` is optional and defaults to `"app"`, which activates the
plugin at app bootstrap without requiring a focused project. Use
`"activationScope": "project"` only when `activate(ctx)` needs project-scoped
services immediately; IdeA will keep that plugin pending until a project is
focused, then activate it once for the app session.
The `main` field is the ESM entrypoint loaded by IdeA. It may import other
JavaScript files from the same plugin package with relative specifiers: