Migration: v0.16 → v0.17¶
v0.17 focuses on Protégé shell parity: menus, toolbars, dialogs, keyboard workflows, webview tab persistence, and named perspectives.
What changed¶
Command system¶
- OntoCode registers a centralized command registry with enablement predicates (
ontocode:hasOntology,ontocode:isDirty,ontocode:hasSelection,ontocode:reasonerRunning, …). - LSP exposes
ontocore/listCommands,ontocore/getWorkspaceUiState, and dialog schemas for validated flows. - Catalog stats are available on
getCatalogSnapshot(not only after index).
Menus, toolbar, keybindings¶
- File / Edit / Active Ontology / Refactor / Reasoner / Tools / Window / Help menus surface every high-level OntoCode action.
- Toolbar buttons for New, Save, Undo/Redo, Search, Reasoner Sync, Preferences, Metrics.
- Default keybindings from the keyboard shortcuts catalog; conflict detection runs at activation.
Dialogs¶
- Structured dialogs replace many InputBox/QuickPick flows: New Ontology, Export, Prefix Manager, Ontology Metadata, Create Entity, Delete (with impact), Search, Metrics, Reasoner Settings, Preferences hub.
- Critical dialogs validate IRIs/prefixes/imports live and refuse invalid persistence.
Engine¶
- Prefix and ontology-metadata patch ops; create-ontology scaffold; export/convert; active ontology state; merge/replace entity refactors.
- Reasoner menu actions (Start / Synchronize / Classify / Consistency) all run the same classify path via
runReasoner. Stop Reasoner clears UI running state only — an in-flight LSP request cannot be cancelled.
Layout¶
- Panel serializers keep OntoCode webview tabs across VS Code reloads; transient entity/query/refactor payload is not restored (panels show a recovery message — reopen from commands).
- Named perspectives: Modeling, Reasoning, Review (save / switch / reset) open the associated panel set.
Help¶
- About, Plugin Info, Error Log, Diagnostic Export, and documentation links.
Breaking changes¶
None known in v0.17.0. New LSP methods are additive.