Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>OPC UA ModelerNew to Visual Studio Code? Get it now.
OPC UA Modeler

OPC UA Modeler

sterfive

|
26 installs
| (0) | Free
Intelligent YAML authoring for OPC UA Information Models — real-time diagnostics, context-aware completions, and hover documentation.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

OPC UA Modeler for VS Code

Write OPC UA information models the way you write code.

Author your OPC UA (IEC 62541) information model in a clean YAML dialect and let VS Code do the hard part: completions that know the OPC UA address space, hover cards that resolve any type, diagnostics as you type, one-click quick fixes, and a live tree of the model you are building. Then generate the standard NodeSet2.xml and the documentation with one command.

Authoring an OPC UA model in VS Code: reference counts above every node, engineering units and ranges inline

Powered by the OPC UA Modeler engine from Sterfive, the authors of node-opcua.

Prefer to try it first? The same engine runs in the browser at opcua-modeler.sterfive.io — nothing to install.


Install in one command

npm install -g @sterfive/opcua-modeler
opcua-modeler install-extension

That single step installs this extension (Marketplace first, bundled .vsix as an offline fallback), pulls in the companion Red Hat YAML extension for schema validation, and points opcuaModeler.serverPath at the CLI it just installed. Open any *.model.yaml file and you are modeling.

Installing from the Marketplace directly also works: install the CLI as above, then install the Red Hat YAML extension alongside this one.

Free users get JSON Schema validation and completions immediately: the extension ships the schema and registers it with the Red Hat YAML extension for every matching file, no # yaml-language-server: $schema= pragma needed. Licensed users additionally get the semantic layer shown below: type resolution, browse-path checks, quick fixes, the Address Space explorer and unlimited generation. Licences at sterfive.com/product/opcua-modeler.


What you get

Completions that know the address space

Press Space, :, - or / and the list contains only what is valid where the cursor is. Browse paths for organizedBy:, componentOf: and propertyOf: are walked from the live node tree, typeDefinition: lists every instantiable type across the standard and imported namespaces, optionals: offers exactly the optional members of the enclosing type, and dataType: mixes the OPC UA primitives with your own structures. Types declared in the current file sort first.

Completing organizedBy with the browse paths that exist in the model

Hover any type and see it resolved

Hovering a type reference opens a card with every member the type brings in, mandatory and optional, with its kind and data type. Members inherited from companion specifications such as DI or Machinery are resolved for you, so there is no need to open a NodeSet2 XML to check what a DeviceType carries. The Resolved Definition view in the side bar shows the same for the node under the cursor, level by level of the inheritance chain.

Hovering typeDefinition: BottleFillerType shows the resolved mandatory and optional members

Errors as you type, fixed in one click

Two validation layers run in the background. JSON Schema catches structural mistakes instantly. The semantic pass, half a second after you stop typing, checks what only an OPC UA engine can: unknown type references, broken browse paths, duplicate anchors, illegal optionals and promotedToMandatory members. When a placement path is wrong, the lightbulb offers the closest valid path so the fix is a single click.

A mistyped organizedBy path is flagged and fixed with the quick-fix lightbulb

Explore the address space you are building

The OPC UA Modeler view shows the full address space the file produces, Objects and Types alike, filtered to this model or expanded into the standard and companion namespaces it builds on. Your BottleFillerType sits next to DeviceType from DI, exactly as a client would browse it.

The Address Space explorer follows the file as instances are placed

Generate NodeSet2 and documentation from the terminal

When the model is green, one command in the integrated terminal writes the standard NodeSet2.xml, a stable symbols file that keeps NodeIds from drifting between releases, and a Markdown document with hierarchy diagrams, member tables and method signatures. opcua-modeler viewer opens it in the browser.

opcua-modeler generate then viewer, from the VS Code terminal to the rendered documentation

The same engine everywhere

The intelligence lives in the opcua-modeler language server, so what you see in VS Code is exactly what the web app, the CLI, your CI pipeline and the MCP connector see. Neovim, Zed, Emacs and any other LSP-compliant editor get the same features; see the LSP server guide.


Configuration

Setting Type Default Description
opcuaModeler.serverPath string "opcua-modeler" Path to the CLI binary the extension launches.
opcuaModeler.trace.server "off" \| "messages" \| "verbose" "off" Trace LSP communication to the Output panel for debugging.

The status bar shows ✓ OPC UA Modeler when the server is ready. Click it, or run OPC UA Modeler: Restart Language Server from the Command Palette, if something looks off after upgrading the CLI.

Supported file patterns

The extension activates on files matching any of these patterns:

*.nodeset.yaml   *.nodeset.yml
*.model.yaml     *.model.yml
model.yaml       model.yml

Requirements

  • VS Code ^1.120.0
  • opcua-modeler on your PATH. The extension is a thin LSP client: it bundles no server of its own and delegates every request to opcua-modeler lsp --stdio.

Privacy & Telemetry

The LSP server itself collects no telemetry. When the CLI is used as the server backend, the CLI's standard telemetry policy applies: anonymous usage events only, no file contents, no model data. See the CLI privacy statement to learn more or opt out.


About Sterfive

Sterfive is a French software company specialising in OPC UA tooling and industrial interoperability. We are the authors of node-opcua, the most widely used open-source OPC UA stack for Node.js, trusted by thousands of developers and industrial organisations worldwide.

The OPC UA Modeler is our commercial product suite built on top of node-opcua, designed to make OPC UA information modelling accessible to engineering teams without sacrificing the rigour of the OPC UA specification.

  • 🌐 sterfive.com
  • 🚀 OPC UA Modeler in your browser
  • 📖 Documentation
  • 🐛 Issue tracker
  • 💬 node-opcua community

Licence

The extension client is provided free of charge. The LSP server bundled within this extension is © Sterfive. Redistribution is not permitted without a valid licence. See sterfive.com/legal for details.

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