https://github.com/sensmetry/sysml-2ls
SysIDE provides SysML v2 language support in VS Code
https://github.com/sensmetry/sysml-2ls
kerml language-server mbse sysml sysmlv2 system-engineering vscode vscode-extension
Last synced: 19 days ago
JSON representation
SysIDE provides SysML v2 language support in VS Code
- Host: GitHub
- URL: https://github.com/sensmetry/sysml-2ls
- Owner: sensmetry
- License: other
- Created: 2023-01-27T09:55:18.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-10-02T10:50:31.000Z (4 months ago)
- Last Synced: 2025-10-02T12:35:00.483Z (4 months ago)
- Topics: kerml, language-server, mbse, sysml, sysmlv2, system-engineering, vscode, vscode-extension
- Language: TypeScript
- Homepage: https://gitlab.com/sensmetry/public/sysml-2ls
- Size: 8.48 MB
- Stars: 41
- Watchers: 1
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: .github/README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Dco: DCO
Awesome Lists containing this project
README
# [Deprecated] SysIDE Editor Legacy
**NOTE: this is a mirror repository.** The main repository is hosted [here on Gitlab](https://gitlab.com/sensmetry/public/sysml-2ls).
> [!WARNING]
>
> ## This SysIDE Editor Legacy extension has been deprecated and is no longer being maintained
>
> **Please uninstall this extension and install the new**
> **[Syside Editor](https://marketplace.visualstudio.com/items?itemName=sensmetry.syside-editor),**
> **which has been migrated to a new software base. The new version is**
> **significantly more performant, can handle larger SysML v2 models, and will**
> **receive faster updates.**
>
> **Read the**
> **[announcement](https://sensmetry.com/syside-editor-rebirth-sysml-v2-0-50x-speed-up-license-change-free-as-before/).**
[](https://gitlab.com/sensmetry/public/sysml-2ls/-/commits/main)
[](https://sensmetry.gitlab.io/public/sysml-2ls)
[](https://gitlab.com/sensmetry/public/sysml-2ls/-/releases)
[](https://marketplace.visualstudio.com/items?itemName=sensmetry.sysml-2ls)
[](https://open-vsx.org/extension/sensmetry/sysml-2ls)
----
_SysIDE Editor Legacy_ is a free and open source SysML v2 textual editing and
analysis tool, bringing rich SysML v2 language support to Visual Studio Code.
_SysIDE Editor Legacy_ can also be integrated into other applications and
automated workflows which need to interact with SysML v2 textual
representations.
The main enabling components of _SysIDE Editor Legacy_ are a parser and a
language server for SysML v2 and KerML
[2024-12 release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-12)
specifications.
_SysIDE Editor Legacy_ provides features such as:
- Semantic highlighting
- Autocompletion
- Code navigation
- Formatting
- Real-time syntax and semantic validation
- Reference search
- Folding
- Document symbols
- Renaming
- Documentation on hover
_SysIDE Editor Legacy_ is built and maintained by
[**Sensmetry**](https://sensmetry.com/), a company focused on ensuring the
safety and reliability of mission- & safety-critical automated systems.
_SysIDE Editor Legacy_ is an open source project and Sensmetry is looking for
community contributions from users and developers. For further information about
the open source license, see [LICENSE](/LICENSE). To contribute, please see the
[CONTRIBUTING.md](/CONTRIBUTING.md) document.
## Syside tool suite
_Syside_ tool suite is quickly growing. It includes:
- [_**Syside Editor**_](https://marketplace.visualstudio.com/items?itemName=sensmetry.syside-editor) - free
VS Code extension, enabling modern 'as code' modeling for everyone. Available
to everyone.
- [_**Sysand**_](https://sysand.org) - open-source SysML v2 package manager
and package index.
- [_**Syside Modeler**_](https://marketplace.visualstudio.com/items?itemName=sensmetry.syside-modeler) - a
premium SysML v2 modeling environment. Please visit
[syside.sensmetry.com](https://syside.sensmetry.com) for more information.
- [_**Syside Automator**_](https://docs.sensmetry.com/latest/automator/index.html) - analyse,
optimise, and automate your modeling workflows by using Python. Please visit
[syside.sensmetry.com](https://syside.sensmetry.com) for more information.
If you want to get in touch regarding any edition of _Syside_, reach out to
Sensmetry at [syside@sensmetry.com](mailto:syside@sensmetry.com)
## Join the community
Connect with other Syside and SysML v2 users to share your experiences and learn
from others on our [community forum](https://forum.sensmetry.com).
## Quick start
### In a browser (without local VSCode)
You can try out _SysIDE Editor Legacy_ without needing to instal it locally. To
do so:
1. Go to [Visual Studio Code for the Web](https://vscode.dev)
2. Open the `Extensions` tab on the right of the screen
3. Search for and install _SysIDE Editor Legacy_
4. Open a folder or a `.sysml` file
This is a good way to get a taste for how _SysIDE Editor Legacy_ works. But if
you plan on using it for a longer term or for larger models, we suggest
installing it locally.
### Running locally
0. Install [Visual Studio Code](https://code.visualstudio.com),
[VSCodium](https://vscodium.com), or [Cursor AI](https://www.cursor.com)
1. Open the `Extensions` tab on the right of the screen
2. Search for and install _SysIDE Editor Legacy_
3. Open a SysML v2 (`.sysml`) file and the extension will activate.
4. Link with the SysML v2 standard library:
## Standard library
_SysIDE Editor Legacy_ includes the standard library from
[our fork](https://github.com/daumantas-kavolis-sensmetry/SysML-v2-Release/tree/fixes)
of the
[SysML-v2-Release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-12/sysml.library)
repository. The library is licensed under the LGPL v3.0, see
[LICENSE](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-12/LICENSE).
If you wish to use a different version of the standard library you can go to the
_SysIDE Editor Legacy_ settings and enter the path to the directory with your
preferred library.

## Features
The extension provides basic features to support SysML v2 document editing:
- **Semantic and syntax checking** identifies errors as they occur allowing to instantly correct mistakes and speed up workflow.

- **Semantic highlighting** increases readability and allows to distinguish different parts of the code quickly.

- **Autocompletion** speeds up the workflow by reducing typing errors and minimizing manual input.

- **Hovers** instantly display documentation allowing to quickly understand an element.

- **Code navigation** speeds up development by enabling quick access to element definitions.

- **Folding** improves readability and eases navigation by organizing code into collapsible sections.

- **Auto-formatting** enhances code readability and maintainability by ensuring consistent structure for:
- Comment bodies

- Elements

- **Renaming** saves time and reduces errors by renaming all elements with the same name with one click.

- **References** enable efficient navigation and code updating by identifying all instances of an element.

- **Document symbols** provide rapid model overviews, enabling efficient comprehension and navigation.

## Known Limitations
See [docs/known_limitations.md](docs/known_limitations.md).
## Developer instructions
### Building from source code
- [Install `pnpm`](https://pnpm.io/installation)
- 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.
### Make changes
- 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` or `Cmd+R` on Mac) the VS Code window with your
extension to load your changes.
### Packaging
To package the extension for VS Code run:
```bash
pnpm run vscode:package
```
## Contributing
We invite enthusiasts and developers to join the SysML v2 open-source community
by contributing to and expanding the capabilities of the _SysIDE Editor Legacy_.
See [CONTRIBUTING.md](/CONTRIBUTING.md).
## Disclaimer
_SysIDE Editor Legacy_ is developed for the language that carries the name of
SysML which is a trademark of OMG. _SysIDE Editor Legacy_ has been started and
continues to be maintained by [Sensmetry](https://sensmetry.com/).
The project is open source. For further information, see [LICENSE](/LICENSE).