Verum Axiom and Dezyne extension for Visual Studio Code
Functionality
This extension works for *.dzn files. It has the following language features:
- Syntax Highlighting.
- Completions.
- Diagnostics regenerated on each file change or configuration change
- Inline webviews positioned in second column
- Auto starting of the daemon.
- Each extension instance runs its own daemon.
- Go-to-definition for symbols and imports.
- vscode Commands for the following "ide" commands: "state", "system",
"simulate", "parse", "code", and "verify".
For the commands that need a model, a pick-list is presented to the user.
- Default key bindings for these commands.
- Editor context menu for these commands.
- Buttons at the status bar for these commands.
All commands are configurable. See extension settings.
Settings
Settings live under axiom.*: axiom.path, axiom.importPath,
axiom.command.verify and so on. With Verum Axiom, parse, list-models and code
generation call axiom; verify, simulate, the diagrams and the daemon call
ide.
axiom.toolchain picks the tools per project: axiom, dzn for the legacy
Dezyne tools, or auto (the default), which uses Verum Axiom when only Verum Axiom is
installed and otherwise the Dezyne tools, so an existing Dezyne setup keeps
working unchanged.
The Dezyne tools keep their own dezyne.* settings: dezyne.path, the tool
commands and the daemon start and stop commands. Other settings from before
the rename, under dezyne.*, keep working: an axiom.* setting that is not
set falls back to the dezyne.* one it replaced, at the same level (user,
workspace or folder). The old names show as deprecated in the settings
editor, and the extension offers once to move them; Axiom: Move Dezyne
Settings to Axiom does the same at any time. Commands keep their old
dezyne.* ids as aliases, so existing keybindings still work.