Skip to main content

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):

LayerWhat it checksWhen
Layer 1 — JSON SchemaStructural correctness: required fields, allowed keys, value typesInstant
Layer 2 — SemanticOPC 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:

EditorTransportSetup
VS Code--stdioVS Code Extension — one-click install
Neovim (nvim-lspconfig)--stdioManual config — see LSP Server
Zed--stdioManual config — see LSP Server
Emacs (eglot / lsp-mode)--stdioManual config — see LSP Server
Any editor--socket <port>WebSocket / TCP mode for multi-client setups

Next steps: