Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>ArcLangNew to Visual Studio Code? Get it now.
ArcLang

ArcLang

ArcLang

|
1 install
| (0) | Free
Arcadia MBSE as code: diagnostics with rules, outline, completion from the metamodel, hover, go to definition, rename, formatting, the viewpoint diagrams beside the source, the production gate, Arcadia transitions, the @arclang chat participant and compiler tools for agent mode, the ArcLang MCP serv
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ArcLang for VS Code

ArcLang is Arcadia MBSE as code: a textual language and a strict compiler for the Arcadia method (operational analysis, system analysis, logical and physical architectures, EPBS), with Capella round-trip, SysML v2 import and export, viewpoint diagrams and a production gate.

This extension brings the compiler into the editor. Everything it shows or writes comes from the arclang binary: it never says more than the compiler does.

In the editor

  • Problems with their rule (trace.component, metamodel.type, ...) pointing at the element concerned. The catalogue is ArcLang: Show the catalogue of rules.
  • Outline, completion of keywords, attributes and enumeration values from the metamodel, hover documentation, go to definition, rename through the lossless source editor (comments and layout kept, refused when the element would not keep its identity).
  • Formatting (arclang format): whitespace only, order and comments kept.
  • Diagrams beside the source (ArcLang: Open diagrams), the compiler's own viewer of the Arcadia views, redrawn on every save.

From the command line, without leaving VS Code

Every command of the palette is one CLI subcommand:

Command Runs
ArcLang: Check the model arclang check --json
ArcLang: Run the production gate arclang gate --standard <setting>
ArcLang: Transition plan, Apply a transition step arclang transition --plan, arclang transition --step (applied in the editor, undoable)
ArcLang: Change impact of an element arclang impact
ArcLang: Semantic diff against the committed version arclang diff between git HEAD and the file
ArcLang: Export arclang export -f sys-ml, sysml-json, capella, req-if, c-headers, proto, ...
ArcLang: Import arclang import -f sysml, capella, req-if, ... (any SysML v2 text or API records)
ArcLang: Show the language metamodel arclang metamodel

With AI

@arclang in the chat view answers with the compiler at hand. It runs on the language models VS Code gives it (GitHub Copilot or another provider), so there is no key to configure.

  • /model writes or extends a model from a description. The answer is compiled before it is shown; when the compiler refuses it, the errors go back to the model (setting arclang.ai.repairAttempts), and the result comes with buttons to replace the open model or open it as a new file.
  • /fix repairs the errors and findings of the open model, minimally.
  • /explain explains the model, an element or a finding.
  • /review reviews the model against arclang check and the production gate.
  • /transition plans the next Arcadia step and offers to apply it.

Agent mode and other assistants get the compiler as tools: #arclangCheck, #arclangGate, #arclangMetamodel, #arclangRules, #arclangImpact, #arclangTransitionPlan, #arclangSet, #arclangRename. Reading tools run without asking; the two editing tools ask for confirmation and apply their change in the editor as an undoable edit, after the compiler accepted it. Tools only touch files of the workspace or open in the editor.

The ArcLang MCP server (mcp-server/ of the repository, Python) is offered to agent mode when arclang-mcp is on the PATH or the setting arclang.mcp.command names how to start it, for example uv run --directory /path/to/arclang/mcp-server arclang-mcp.

Requirements

The arclang compiler, 4.0.1 or later: a release on the PATH, or its path in the setting arclang.binary. ArcLang: Install or locate the arclang compiler helps. Chat features need a language model provider in VS Code (GitHub Copilot, for instance); the rest works without.

Settings

Setting Default Meaning
arclang.binary arclang The executable
arclang.diagrams.refreshOnSave true Redraw open diagrams on save
arclang.gate.standard iso26262 iso26262, do178c or iec61508
arclang.ai.repairAttempts 2 Corrections asked when a written model does not compile
arclang.mcp.command, arclang.mcp.args How to start the MCP server

Security

  • Only the compiler runs, never a shell. Every command is arclang with an argument list (no shell, no string interpolation). The executable and the MCP server command are user settings (scope: machine): a repository's .vscode/settings.json cannot choose what the extension runs.
  • Untrusted workspaces. In a workspace VS Code does not trust, the compiler is not run on its files: no diagnostics, commands, diagrams or tools until the workspace is trusted.
  • Diagrams are drawn in a webview under a content security policy: only the viewer's own scripts (marked with a fresh nonce) run, no network, no local resources, no command URIs, no message channel to the extension. The model's text is data in that page, never a script.
  • Language model tools read only files of the workspace or open in the editor (symbolic links are resolved before the check). The two tools that edit a model ask for confirmation, go through the compiler's source editor, and apply undoable edits. The assistant is told that the content of models and compiler outputs is data, not instructions.
  • Temporary files live in private directories (mode 0700, unguessable names) removed after use.
  • Nothing leaves the machine through the extension itself. With @arclang, the open model, its diagnostics and the compiler outputs are sent to the language model provider you configured in VS Code, and only then. The extension has no telemetry and makes no network request; its only external link is the GitHub releases page, opened on request.
  • Supply chain. One runtime dependency (vscode-languageclient), a committed lockfile, npm audit in CI, Dependabot updates.

Report a vulnerability as described in the repository's SECURITY.md.

Development

cd editors/vscode
npm install
npm run build              # dist/extension.js
npm run test:unit          # pure helpers, node:test
npm run test:integration   # in a VS Code instance; ARCLANG_BINARY=/path/to/arclang to point at a compiler
npx @vscode/vsce package --no-dependencies   # the .vsix

Open the folder in VS Code and press F5 to run the extension on the repository's examples. The sample model the assistant is shown, media/reference.arc, must compile and pass the gate: CI checks it.

License

MIT, like the compiler.

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