IDE Integration Overview
The OPC UA Modeler provides first-class IDE support through the Language Server Protocol (LSP). This means you get intelligent editing assistance — completions, diagnostics, hover hints, and quick fixes — directly inside your editor, with no browser required.
How it works
The LSP server runs alongside your editor as a background process. As you type your .model.yaml
file it validates your model in real time and streams feedback back to the editor UI.
┌─────────────────────┐ LSP (stdio / socket) ┌──────────────────────────┐
│ Your Editor │ ◄────────────────────────────────► │ opcua-modeler lsp │
│ (VS Code, Neovim…) │ completions · diagnostics │ (Language Server) │
└─────────────────────┘ hover · quick fixes └──────────────────────────┘
Two validation layers
The LSP server runs two independent validation passes every time you stop typing (500 ms debounce):
| Layer | What it checks | When |
|---|---|---|
| Layer 1 — JSON Schema | Structural correctness: required fields, allowed keys, value types | Instant |
| Layer 2 — Semantic | OPC UA logic: type references, browse paths, optionals, duplicate anchors | ~500 ms after typing stops |
Supported editors
Because the server speaks the standard Language Server Protocol it works with any LSP-compliant editor:
| Editor | Transport | Setup |
|---|---|---|
| VS Code | --stdio | VS Code Extension — one-click install |
| Neovim (nvim-lspconfig) | --stdio | Manual config — see LSP Server |
| Zed | --stdio | Manual config — see LSP Server |
| Emacs (eglot / lsp-mode) | --stdio | Manual config — see LSP Server |
| Any editor | --socket <port> | WebSocket / TCP mode for multi-client setups |
Next steps:
- VS Code users → Install the VS Code Extension (recommended, easiest setup)
- Other editors → Configure the LSP Server manually
- Schema-only validation (no LSP) → Install the JSON Schema