docs(sdk): feedback visible via windows.open + séparation Codex skills documentées — commands-and-feedback (surface normative + exemple), layouts-react (type↔contributes.layouts, capacité ui), manifest (exemple complet menu+layout+ui), windows (contrat ui, retour structuré), packaging-distribution (idea_plugin_install_from_directory, sémantique plugin_reloaded/ESM), nouveau codex-skills-and-idea-plugins, README (lien) — #280 QA verte
This commit is contained in:
@ -102,8 +102,23 @@ After editing plugin source files, rebuild the plugin output first:
|
||||
npm run build
|
||||
```
|
||||
|
||||
Then ask an IdeA agent that has the plugin administration tool available to run
|
||||
`idea_plugin_reload` with the installed plugin id:
|
||||
An IdeA agent can install a development plugin directory only when that agent has
|
||||
the plugin administration MCP tool explicitly allowed. The public tool is
|
||||
`idea_plugin_install_from_directory`:
|
||||
|
||||
```json
|
||||
{
|
||||
"path": "relative/path/to/hello-plugin",
|
||||
"expectedPluginId": "com.example.hello-plugin"
|
||||
}
|
||||
```
|
||||
|
||||
The path must resolve under the requester's project root. This installs the
|
||||
directory as the recorded development source for later reloads.
|
||||
|
||||
After source edits, rebuild the plugin output and ask an IdeA agent that has the
|
||||
plugin administration tool available to run `idea_plugin_reload` with the
|
||||
installed plugin id:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -122,7 +137,17 @@ reload. Archive installs are fixed package snapshots. They are appropriate for
|
||||
distribution, but the reload command is only defined for plugins installed from
|
||||
a directory source.
|
||||
|
||||
Current limitation: backend registry state and plugin MCP/tool contributions are
|
||||
reloaded without restarting IdeA. Frontend React contributions that are already
|
||||
loaded in the current UI session may keep their existing module instance until
|
||||
the relevant plugin surface is recreated or the app session is restarted.
|
||||
On reload, `plugin_reloaded` tells the UI to rebuild the plugin runtime registry.
|
||||
When the package content hash changes, plugin ESM URLs change and React layout
|
||||
components are loaded from the new package. Existing plugin layout instances may
|
||||
remount and lose local React state; host-persisted layout state written through
|
||||
`setState` remains the durable state channel.
|
||||
|
||||
JavaScript module instances cannot be forcibly removed from the browser ESM
|
||||
cache. Register handlers, layouts, watches and subscriptions through the SDK
|
||||
registries and push disposable side effects into `ctx.subscriptions`; global
|
||||
module side effects can otherwise survive a reload. If the package hash did not
|
||||
change, the reload is idempotent and may reuse the same module instance.
|
||||
|
||||
IdeA runtime plugin installation is separate from Codex plugin/skill discovery.
|
||||
See [Codex Skills And IdeA Plugins](codex-skills-and-idea-plugins.md).
|
||||
|
||||
Reference in New Issue
Block a user