Settings in the editor

The Modeler extension adds these settings to the editor that hosts it: VS Code, or a compatible editor such as Cursor, Kiro or VSCodium. All sit under syside.* and work the same in every host. Where a setting mirrors a syside.toml option, the editor value takes priority when set. For where these settings fit among the configuration files, see how configuration is discovered and merged.

Tip

VS Code has two types of settings: User and Workspace. User settings are meant for personal settings that apply to all of your projects. If you work in a team or have settings that should only apply to one project, consider using Workspace settings instead. For more information, refer to the VS Code settings documentation.

General settings

  • syside.path – Overrides the path to the Syside language server executable. If this setting is not set, the Modeler extension will attempt to download the language server executable and use it.

  • syside.include – Additional files and/or directories to analyze. Equivalent to the include configuration option. If set, this takes priority.

  • syside.exclude – Files and/or directories to omit from analysis. Equivalent to the exclude configuration option. If set, this takes priority.

  • syside.stdlib – Equivalent to the std configuration option. If set, this takes priority.

  • syside.completionLimit – Equivalent to the lsp.completion-limit configuration option. If set, this takes priority.

SysML settings

  • syside.lineLength – Equivalent to the format.line-width configuration option. If set, this takes priority. Note that the formatter does not have automatic paragraph wrapping for long comments, docs and notes. To help with comment, docs, and notes line lengths, Sensmetry recommends also setting the Visual Studio Code’s in-built editor.rulers setting to the same value, which will show you a ruler at the given character limit, enabling you to manually break down your comments according to the limit.

  • syside.edit – Equivalent to the lsp.edit configuration option. If set, this takes priority.

Logging

  • syside.log – Overrides the path to the log file of the Syside language server. If this setting is not set, Syside will use the default log file created in a location designated by Visual Studio Code. The currently used active log file’s path can be found in Visual Studio Code’s Output > Syside Modeler pane. Note that Syside attempts to rotate log files, however this may fail on certain configurations, e.g. Windows and VS Code when the log file is open in another process, in which case the log file will be overwritten.

  • syside.logLevel – Controls how much information Syside should record in the log file. Currently available options, listed from the most verbose to the least verbose:

    • trace – Should not be used day-to-day, only for troubleshooting. Contains all language server communication messages and their contents, leading to huge log files.

    • debug – Should not be used day-to-day, only for troubleshooting. Contains all language server communication messages, leading to huge log files.

    • info – The default. Good for day-to-day usage.

    • warning

    • error

    • critical

    • off – Completely disables any logging.

  • syside.telemetry.crashReports – Equivalent to the telemetry.crash-reports configuration option. If set, this takes priority. Additionally, crash reports can also be disabled by setting the VS Code-wide telemetry.telemetryLevel setting to off. For more information refer to What data we collect.

Diagram visualization

Diagrams in diagram panels are rendered by the Syside Diagram Engine, the same engine the Modeler CLI uses.

  • syside.modeler.visualization.useTomSawyer – Renders diagrams with the Tom Sawyer SysMLv2 Viewer instead. Off by default.

  • syside.modeler.visualization.defaultElementRendering – Layout used by the Visualize element command and the Ctrl/Cmd+Alt+E shortcut, either asNestedDiagram (the default) or asTreeDiagram. The right-click menu always offers an explicit choice regardless of this setting.

  • syside.modeler.alwaysShowTitleBarMenu – Hides the Syside logo from the top right of the tab. If the logo menu is hidden, the commands can still be accessed through the Command Palette.

The [viz] settings in syside.toml apply to diagrams rendered in the editor as well as on the command line, so a diagram can be styled and filtered in one place for both. See Visualization settings for the full list.

Tom Sawyer SysMLv2 Viewer

The viewer is the diagram engine Modeler used before 0.11.0, from Tom Sawyer Software.

To render diagrams with it, tick syside.modeler.visualization.useTomSawyer in your VS Code settings: open the Command Palette, run “Preferences: Open Settings (UI)” and search for useTomSawyer. The next diagram you open uses the viewer; diagram panels that are already open keep the engine that rendered them.

The remaining settings in this section apply only while that setting is enabled.

The viewer requires Java. Syside Modeler attempts to detect it automatically without any configuration. If Java is not found, you can specify the path manually:

  • syside.modeler.vizTomSawyer.java – The path to the Java executable. Should end with the Java binary (.exe file on Windows), not just its folder. E.g. /opt/homebrew/Cellar/openjdk/24.0.2/libexec/openjdk.jdk/Contents/Home/bin/java, not /opt/homebrew/Cellar/openjdk/24.0.2/libexec/openjdk.jdk/Contents/Home/bin/.

You can also modify your viewer experience with the following settings:

  • syside.modeler.vizTomSawyer.hierarchicalLayoutDirection – By default the initial visualization uses the top-to-bottom layout. By enabling this setting, the default visualization direction will be left-to-right.

  • syside.modeler.vizTomSawyer.interactiveZoomReversedDirection – Reverses the direction of the zoom when using the mouse scroll wheel.