дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 19:25:54 +02:00
Closes #1720 Plugins can declare searchable multi-page settings (API 1.3): pages under the plugin in Settings, groups, string lists, editable tables and command buttons, while single-schema plugins keep working. A command button applies pending edits first and runs against the selected Global/Project layer (also remotely); Reset keeps other pages' edits, and invalid table/list edits never replace saved rows. Field and page order come from the schema without changing serde_json's map ordering elsewhere in the app. Co-authored-by: arnaud-ritti <[email protected]>
18 рядки
995 B
Markdown
18 рядки
995 B
Markdown
# Multi-page settings example (API 1.3)
|
||
|
||
Two IDE-rendered pages demonstrate grouped string lists and an editable model
|
||
profile table. `Test` first applies pending settings, then runs the declared
|
||
`test` command. With no profiles it returns an inline error; after adding a row
|
||
it reads the saved JSON array and reports success through a notification.
|
||
This fixture checks the settings/action flow; it does not contact a provider.
|
||
|
||
Build with `plugins/build.sh crates/ide-plugin/tests/fixtures/settings-pages`.
|
||
Install or link this directory with `openidea-plugin link` and open
|
||
Settings › Plugins › Model Profiles. Edit without Apply and Cancel to discard;
|
||
Apply or OK saves. Running Test also saves pending edits before the command,
|
||
so Cancel after Test does not undo those already-applied edits.
|
||
|
||
API keys belong in `[[contributes.secrets]]`, never table cells. A real Test
|
||
connection command can use `host::fetch` with the appropriate declared network
|
||
capability and secret-backed headers.
|