A VS Code extension for the Umple modeling language. Provides IDE features for .ump files.
- Diagnostics - Real-time error and warning detection via the Umple compiler
- Go-to-definition - Jump to classes, attributes, state machines, states, and associations
- Code completion - Context-aware keyword and symbol suggestions
- Syntax highlighting - TextMate grammar for accurate highlighting
- Cross-file support - Transitive
usestatement resolution and cross-file diagnostics - Import error reporting - Errors in imported files shown on the
usestatement line
- Node.js 18+
- Java 11+ (optional — only needed for diagnostics)
Install from the VS Code Marketplace (coming soon), or build from source:
git clone https://github.com/umple/umple.vscode.git
cd umple.vscode
npm install # automatically downloads umple-lsp-server from npm
npm run compileTo package as .vsix:
npx @vscode/vsce package| Setting | Type | Default | Description |
|---|---|---|---|
umple.autoUpdate |
boolean | true |
Automatically update umplesync.jar on startup |
To test local changes to the LSP server:
- Clone both repos side by side:
workspace/
├── umple-lsp/ # LSP server monorepo
└── umple.vscode/ # This extension
- Build the server:
cd umple-lsp
npm install
npm run compile- Link the local server into the extension:
cd umple.vscode
npm install
npm link ../umple-lsp/packages/server
npm run compile-
Press F5 in VS Code to launch the Extension Development Host.
-
After making changes to the server, recompile and reload:
cd umple-lsp
npm run compileThen in the dev host: Cmd+Shift+P (or Ctrl+Shift+P) → Developer: Reload Window
This extension is a thin client that launches the Umple LSP server. The server handles diagnostics, completion, and go-to-definition.
VS Code Extension (this repo)
|
+-- (stdio) --> umple-lsp-server --> umplesync.jar (diagnostics)
|
+-- tree-sitter (go-to-definition, symbol indexing)