docs(sdk): éclate et étend la documentation SDK par sujet
Remplace le README monolithique par un point d'entrée vers des pages dédiées (manifest, activation/contexte, menus, commandes/feedback, layouts React, fenêtres, services, packaging/distribution) pour couvrir #142-#144 et faciliter la navigation. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -10,7 +10,10 @@ It exercises the current plugin primitives end to end:
|
||||
`{ status: "launched", taskId, state, message }` when it starts a background
|
||||
task, or `{ status: "skipped", reason, message }` when a precondition is not
|
||||
met;
|
||||
- layout contribution: `hello-plugin.hello-world`, rendered as `hello-world`.
|
||||
- layout contribution: `hello-plugin.hello-world`, rendered by a React/JSX
|
||||
component with hooks.
|
||||
- plugin window: the menu command opens the layout through
|
||||
`ctx.services.windows.open(...)` when services are available.
|
||||
- plugin-owned storage: activation count, command run count and initialization flag;
|
||||
- tooling capability: logs the focused workspace project when `ctx.services` is available.
|
||||
|
||||
@ -18,13 +21,14 @@ The source is intentionally split across multiple TypeScript modules:
|
||||
|
||||
- `src/index.ts` is the manifest entrypoint and imports relative ESM modules;
|
||||
- `src/constants.ts` owns shared command/layout identifiers;
|
||||
- `src/core/layout.ts` and `src/core/workspace.ts` hold feature logic.
|
||||
- `src/core/layout.tsx` and `src/core/workspace.ts` hold feature logic.
|
||||
- `src/core/storage.ts` keeps plugin-owned counters and flags in `ctx.storage`.
|
||||
|
||||
The build uses plain `tsc`; it does not bundle the plugin into one file. The archive includes all
|
||||
compiled `dist/**/*.js` files so IdeA can load `dist/index.js` and serve its package-relative imports
|
||||
through `idea-plugin://`. Runtime imports from `node_modules` are outside this contract: vendor them
|
||||
as relative files or bundle them into the plugin output before packaging.
|
||||
through `idea-plugin://`. React and ReactDOM are peer dependencies resolved to the host instance at
|
||||
runtime. Other runtime imports from `node_modules` are outside this contract: vendor them as relative
|
||||
files or bundle them into the plugin output before packaging.
|
||||
|
||||
```sh
|
||||
npm run typecheck:examples
|
||||
@ -46,7 +50,8 @@ During activation the plugin logs:
|
||||
- successful registration of the `hello-plugin.hello-world` layout;
|
||||
- availability of the workspace service from the `tooling` runtime capability;
|
||||
- best-effort workspace watch setup, including a non-fatal log when unavailable;
|
||||
- the first layout render, including project/node identifiers.
|
||||
- the first layout render, including project/node identifiers;
|
||||
- plugin window open/focus results from `ctx.services.windows.open(...)`.
|
||||
|
||||
During command invocation the plugin logs and returns structured feedback for
|
||||
programmatic callers. The current human menu-click UI does not guarantee display
|
||||
|
||||
Reference in New Issue
Block a user