NOTE: this is a mirror repository. The main repository is hosted here on Gitlab.
SysIDE (pronounced "seaside") provides SysML v2 language support in VS Code.
SysIDE includes a language server for SysML v2 and KerML 2024-02 release specifications. Together with VS Code, SysIDE serves as integrated development environment (IDE) for SysML v2.
This extension provides:
- autocompletion,
- code navigation,
- semantic highlighting,
- formatting,
- syntax validation,
- reference search,
- folding,
- document symbols,
- renaming,
- documentation on hover,
- semantic validation.
SysIDE is built and maintained by Sensmetry, a company focused on ensuring the safety and reliability of mission & safety critical systems.
The initial version has been created as an R&D effort, and contributions are highly encouraged. To provide your contributions please see the CONTRIBUTING.md document.
- Install the latest extension from the marketplace.
- Open a SysMLv2 (.sysml) file and the extension will activate.
- Upon the first activation a pop-up will be displayed asking you to either locate an existing SysMLv2 standard library (
sysml.library
directory from SysML-v2-Release repository) or download it. The pop-up may also be disabled globally or in the workspace and the extension will continue without standard library support.
The extension provides basic features to support SysMLv2 document editing:
-
Auto-formatting:
See docs/known_limitations.md.
- Install
pnpm
- Run
pnpm install
to install dependencies. - Run
pnpm run grammar:generate
to generate TypeScript code from the grammar definition. - Run
pnpm run build
to compile all TypeScript code.
- Run
pnpm run install-hooks
to install git hooks. - Run
pnpm run watch
to have the TypeScript compiler run automatically after every change of the source files. - Run
pnpm run grammar:watch
to have the Langium generator run automatically after every change of the grammar declaration. - You can relaunch the extension from the debug toolbar after making changes to the files listed above.
- You can also reload (
Ctrl+R
orCmd+R
on Mac) the VS Code window with your extension to load your changes.
To package the extension for VS Code run:
pnpm run vscode:package
See CONTRIBUTING.md.
SysIDE is developed for the language that carries the name of SysML which is a trademark of OMG. SysIDE has been started and continues to be maintained by Sensmetry.
The project is open source. For further information, see LICENSE.