IDE Plugins
Official editor plugins add language support for .wsl and .swsl files. Source and binaries: github.com/kuetix/ide-plugins.
Both plugins are language-support only — they do not execute workflows. Execution is handled by the kue CLI or the engine runtime.
Supported IDEs
| IDE family | Versions | Plugin |
|---|---|---|
| JetBrains (IntelliJ IDEA, GoLand, WebStorm, PyCharm, PhpStorm, CLion, Rider, …) | Any IntelliJ Platform 2023.3+ build | jetbrains-wsl |
| Visual Studio Code | 1.75+ | vs-code-wsl |
The JetBrains plugin is built in two variants: a legacy build covering 2023.3 → 2025.1 and a separate 2025.2+ build (Java 21 / Kotlin 2.2). Both ship the same plugin version.
Features
| Feature | JetBrains | VS Code |
|---|---|---|
Syntax highlighting for .wsl and .swsl | yes | yes |
| Keyword completion | yes | yes |
Snippet completion (workflow, state, action, def, feature, solution, hierarchical calls) | yes | yes |
Module / method completion from modules.json | yes | yes |
Brace matching ({}, ()) | yes | yes |
Line (//) and block (/* */) comment toggling | yes | yes |
Hash (#) line comments in .swsl | yes | yes |
| Auto-closing pairs for brackets and quotes | n/a | yes |
| File-type icons | yes | yes |
| Structure view (workflows and states) | yes | — |
| Color settings page | yes | — |
Neither plugin currently performs semantic validation or diagnostics — invalid syntax is caught when the workflow is parsed by kue or the engine.
Installation
JetBrains
The plugin builds as a .zip archive (e.g. jetbrains-wsl-1.4.1.zip).
- Download the archive from the latest release or build it locally.
- In your IDE: Settings → Plugins → ⚙ → Install Plugin from Disk…
- Select the
.zipfile and restart the IDE when prompted.
To build from source:
git clone https://github.com/kuetix/ide-plugins
cd ide-plugins/jetbrains-wsl
./gradlew buildPlugin
# Output: build/distributions/jetbrains-wsl-<version>.zip
For 2025.2+ builds use the variant Gradle files:
./2025-docker-build.sh
# Output: output/jetbrains-wsl-<version>.zip
Visual Studio Code
The plugin builds as a .vsix package (e.g. wsl-language-support-1.2.0.vsix).
- Download the
.vsixfrom the latest release or build it locally. - In VS Code: Extensions sidebar → … menu → Install from VSIX…
- Select the
.vsixfile.
To build from source:
git clone https://github.com/kuetix/ide-plugins
cd ide-plugins/vs-code-wsl
npm install
npm run compile
npx vsce package
# Output: wsl-language-support-<version>.vsix
Module-aware completion (modules.json)
Both plugins resolve module and method names for completion by reading modules.json from your workspace. They look in, and merge, the following paths in order:
<project root>/modules.json<project root>/workflows/modules.json<project root>/runtime/workflows/modules.json
Files are watched and merged automatically — later sources override earlier entries. If modules.json is missing or malformed the plugins fall back silently to keyword-only completion.
The file format is a map keyed by module path:
{
"auth/login": {
"info": {
"namespace": "auth",
"class": "Login",
"label": "Login",
"description": "User authentication"
},
"methods": [
{ "value": "authenticate", "label": "authenticate", "description": "Authenticate a user" },
{ "value": "logout", "label": "logout", "description": "End the user session" }
]
}
}
Once loaded, typing action in a state (or any action position in .swsl) suggests module paths; after a trailing ., it suggests methods for that module.
See the Modules reference for the canonical module concept.
Snippets
Selected prefixes available in .wsl files:
| Prefix | Inserts |
|---|---|
workflow | Workflow skeleton with start, a state, and end ok |
state | Named state with action and on success / on error |
state-end | Terminal state with end ok / end error |
action | action <path>.<method>() placeholder |
const | const { … } block |
on-success, on-error | Transition lines |
Selected prefixes available in .swsl files:
| Prefix | Inserts |
|---|---|
swsl-workflow, swsl-feature, swsl-solution | Workflow-type skeleton |
swsl-def | Reusable def action with body |
swsl-def-error | Error handler def |
swsl-flow, swsl-chain | Action flow with -> chains and <- error binding |
swsl-call-workflow, swsl-call-feature | Hierarchical call (workflow:, feature:) |
$const, $context | Constant / context variable reference |
Limitations
- No semantic validation, "go to definition", rename refactoring, or find usages.
- No formatter.
- No language server — both plugins are pure in-IDE implementations and do not call out to
kue, the MCP server, or any other process. - The IDE plugins are versioned independently of the engine; their version number does not track engine releases.
Related
- WSL Overview — language reference
- Simplified WSL Syntax —
.swslreference - Modules reference —
modules.jsonshape - Kuetix Studio — browser-based visual workflow editor
- Source repository — plugin source, releases, and issues