NOTE: this is a mirror repository. The main repository is hosted here on Gitlab.
Provides language support for systems modeling in SysML v2 in VS Code.
SysML2 Tools is a language server for SysML v2 and KerML 2022-12 release specifications.
This extension provides:
- autocompletion,
- code navigation,
- semantic highlighting,
- formatting,
- syntax validation,
- reference search,
- folding,
- document symbols,
- renaming,
- documentation on hover.
SysML2 Tools 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:
- Autocompletion
- Code navigation
- Semantic highlighting
- Indenting
- Renaming
- Hovers
- References
- Document symbols
- Folding
- Install
pnpm
- Run
pnpm install
to install dependencies. - Run
pnpm run grammar:generate
to generate TypeScript code from the grammar definition. - Run
pnpm run esbuild
to compile all TypeScript code.
- 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.
SysML2 Tools is developed for the language that carries the name of SysML which is a trademark of OMG. SysML2 Tools has been started and continues to be maintained by Sensmetry. The project is open source. For further information, see LICENSE.