Migrate Syside settings

Syside v1 reads the options that decide how a model is loaded, checked and formatted from syside.toml only, so the VS Code Extension and syside check work from the same values.

Move editor settings to the configuration file

The VS Code Extension no longer has its own settings for options that syside.toml holds. When one is still set, the extension shows a warning with three choices: Open in Syside Settings shows its value proposed for syside.toml, for you to review and save (Edit settings on the settings page ); the delete button removes the setting; Don’t Ask Again stops the warning in every workspace. A value from your user settings goes to your global config, and a workspace value to the project’s syside.toml, except an absolute syside.stdlib path, which goes to syside.user.toml. With syside.config set, every value goes to that file.

Removed setting

syside.toml option

syside.stdlib

std

syside.include

include

syside.exclude

exclude

syside.edit

lsp.edit

syside.completionLimit

lsp.completion-limit

syside.lineLength

format.line-width

An exclude entry applies to syside check, syside reqif, syside viz, syside grid export and the VS Code Extension alike. A bare name such as "sandbox" matches a folder of that name at any depth. Use an anchored pattern such as "models/sandbox/**". Then run syside check to confirm it still reads the files you expect.

Rename the old modeler settings

Settings named syside.modeler.<key> are now syside.<key>, such as syside.modeler.visualization.defaultDepth, now syside.visualization.defaultDepth. The old names keep working until you rename them, and when both are set, the new name wins. When the extension finds an old name in your user or workspace settings, it offers to migrate them: choose Update Settings to move each value to its new name.

These settings have no successor in v1, and the extension no longer reads them, so delete them:

  • syside.modeler.vizTomSawyer.*. Set the diagram depth with syside.visualization.defaultDepth instead of syside.modeler.vizTomSawyer.elementDefaultDepth.

  • syside.modeler.enableLsp

  • syside.modeler.envPath

  • syside.modeler.showGenerateJSON

  • syside.modeler.useSystemCertificates

  • syside.modeler.workflowTimeout

Update keybindings and tasks

Most commands are renamed the same way, from syside.modeler.<command> to syside.<command>, such as syside.modeler.visualization.show, now syside.visualization.show. The commands that restart Syside or open its log are now under syside.lsp.* and syside.server.*. The old command IDs no longer work, so update every keybinding in keybindings.json and every ${command:...} reference in tasks.json and launch.json that names one. To find a command’s new ID, search for it in Preferences: Open Keyboard Shortcuts.

These commands have no successor:

  • syside.modeler.visualization.action.* and syside.modeler.visualization.tool.*

  • syside.modeler.visualization.showJSON and syside.modeler.server.generateJSON

  • syside.modeler.server.installJava

  • syside.modeler.server.changeMode

  • syside.modeler.addLegacySysideViews, syside.modeler.migrateGridViews and syside.modeler.generateGridViewMigrationConfig

Keep the multiplicity placement

syside format now places a multiplicity after the first group of types by default. Syside v0.11 placed it after the first type. A declaration with several types is formatted differently, so a file formatted with Syside v0.11 can fail syside format --check:

// Syside v0.11
part w : A [3] : C :> q;

// Syside v1
part w : A, C [3] :> q;

Format the files once with syside format, or keep the Syside v0.11 placement with format.decl.multiplicity-placement in syside.toml:

[format.decl]
multiplicity-placement = "first-specialization"

Syside v0.11 rejects the new default, first-group, and stops loading the whole syside.toml, so a syside.toml that Syside v0.11 users share can’t name it.