udsdoc VS Code Extension
VS Code wrapper around the udsdoc CLI.
Right-click any .arxml file in the Explorer or editor to generate a UDS specification
document (LaTeX, PDF, or HTML), validate it against ISO 14229-1, diff it against a
baseline, or open the browser UI.
For ISO 22901-1 ODX/PDX output (--format odx / --format pdx), invoke the CLI
directly — the extension currently exposes only the LaTeX/PDF/HTML commands.
Prerequisites
The extension shells out to the udsdoc CLI — install it once via:
pip install udsdoc[all]
(Or udsdoc[web] for browser UI, udsdoc[llm] for LLM features, etc.)
The extension expects udsdoc to be on the user's PATH. If it isn't, set
udsdoc.executable in VS Code settings to the absolute path.
Commands
| Command |
Description |
| Generate UDS Spec |
LaTeX output (--format tex) |
| Generate UDS Spec (PDF) |
Compile to PDF (--format pdf) — requires LaTeX |
| Generate UDS Spec (HTML ZIP) |
Multi-page HTML ZIP (--format html) |
| Validate ARXML (ISO 14229-1) |
Run --validate (output panel) |
| Validate (inline diagnostics) |
Run --validate and surface findings via the VS Code Diagnostics API (squiggles in the Problems panel) |
| Diff against ARXML/JSON |
Compare with a baseline file (--diff) |
| Open Browser UI |
udsdoc --serve (requires [web] extra) |
| LLM: Summarize Spec |
Markdown executive summary (requires [llm] and either ANTHROPIC_API_KEY or a local Ollama / OpenAI-compatible server configured via ~/.udsdoc/llm.json) |
| LLM: Ask Question About Spec |
Natural-language Q&A on the parsed spec |
| Verify Compliance Matrix (inline verdicts) |
Run the layered verifier (--verify) for the active matrix CSV against a chosen ARXML and decorate every requirement row with its verdict in the Problems panel (deviates → warning, uncertain → info, matches → hint with rationale) |
Matrix CSVs additionally get status-column completion — the canonical
status vocabulary (accepted, conditionally_accepted, in_progress,
na, not_yet, rejected, verified) is offered while editing the
status column, so typos never reach the loader's unknown-status lint.
For the YAML inputs (system config / sources / supplement), the bundled
samples carry # yaml-language-server: $schema=… modelines — install the
Red Hat YAML extension and udsdoc --input-schema {system,sources,supplement}
prints the schemas for custom associations.
All commands appear in the command palette (Ctrl+Shift+P) and in the right-click
menu on any .arxml file.
Configuration
| Setting |
Default |
Description |
udsdoc.executable |
udsdoc |
Path to the CLI |
udsdoc.defaultEcuName |
"" |
Default --ecu-name |
udsdoc.outputDirectory |
"" |
Default output directory (workspace-relative) |
udsdoc.llmModel |
sonnet |
Anthropic alias (sonnet / opus / haiku) when not using ~/.udsdoc/llm.json. For local Ollama / OpenAI-compatible servers, configure via the global config file instead — the VS Code extension respects it automatically. |
udsdoc.verifyArxml |
"" |
ARXML that Verify Compliance Matrix checks the CSV against. Blank = auto-detect (single workspace ARXML) or ask. |
Build from source
cd vscode-extension
npm install
npm run compile
Then F5 in VS Code with this folder open to launch a new Extension Development Host.
Publishing to Marketplace
npm install -g @vscode/vsce
vsce publish
(Requires a Marketplace publisher account configured for YutaroNakagama.)
License
MIT — same as the parent repository.