Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>ss-lang for VS CodeNew to Visual Studio Code? Get it now.
ss-lang for VS Code

ss-lang for VS Code

abap34

|
13 installs
| (0) | Free
Language server powered editor support for ss slide source files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ss-lang for VS Code

VS Code language support for ss slide source files.

Requirements

This extension does not bundle the ss CLI. Install ss first, then keep it on PATH or set ss.cli.path.

See the installation guide in the project README.

Project Files

Editor features use the same project discovery as the CLI. Put ss.toml at your workspace or deck root:

[project]
entry = "slide.ss"
asset_base_dir = "."

entry is required. asset_base_dir defaults to the entry file's parent directory when omitted.

Editor behavior can also be configured in ss.toml:

[editor.lsp]
enabled = true
debounce = 120
diagnostics = true
completion = true
hover = true
definition = true
document_symbols = true
folding_ranges = true
semantic_tokens = true
colors = true

[editor.wysiwyg]
enabled = true
debounce = 140
max_wait = 700

[editor.wysiwyg.refresh]
automatic = true
dependency = true

[editor.page_guide]
enabled = true
body_background = true
boundary = true
boundary_background = true
gutter_icon = true
overview_ruler = true

The repository ships a JSON Schema for ss.toml at src/project/ss-toml.schema.json. TOML language servers such as Taplo can use it for completion and validation. In a deck repository, add a Taplo rule like:

[[rule]]
include = ["**/ss.toml"]
schema.path = "src/project/ss-toml.schema.json"

If .ss Opens As Scheme

Some VS Code setups already associate .ss with Scheme.

Add this to your workspace settings:

{
  "files.associations": {
    "*.ss": "ss-slide"
  }
}

WYSIWYG Editor

Run ss: Open WYSIWYG Editor from the command palette or the editor title button. The editor uses the open VS Code buffers through the language server, so unsaved source edits are reflected after the configured debounce interval. If editing continues, max_wait bounds how long the next preview update can be postponed.

The editor always builds its initial preview when opened. Set [editor.wysiwyg.refresh].automatic = false to keep that preview after later source edits until an explicit build. Run ss: Build WYSIWYG Preview or press Ctrl+Shift+B (Cmd+Shift+B on macOS) to rebuild it.

The editor displays the shared HTML document used by the PDF and HTML renderers together with the compiler's page structure and anchor relations. Pages and the document outline are available from the activity rail. Use Single page or Continuous in the toolbar to switch page presentation. The theme button at the bottom of the activity rail switches between the light and dark editor themes. Selecting an object opens its bounds and constraints in the bottom sheet. Open in Editor reveals the existing source tab when one is already open.

Objects backed by a binding in the current page can be dragged. A normal drag replaces the page-local position constraints with page-relative left and top constraints. Shift-drag keeps existing horizontal and vertical anchor relations and changes their offsets. The language server recompiles the proposed source before returning the workspace edit.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft