Skip to content

Reference & Troubleshooting


VS Code Commands

All commands are available in the Command Palette (Ctrl+Shift+P / Cmd+Shift+P).

Command Description
ArchTect: Open Editor Open the ArchTect visual editor
ArchTect: Open Project Open a folder or DSL file as a project
ArchTect: Open with ArchTect Open the selected .dsl or .nbc4 file
ArchTect: New Project Scaffold a new workspace in a chosen folder
ArchTect: Save Save the current workspace and layout
ArchTect: Export PNG Export the active view as PNG
ArchTect: Export SVG Export the active view as SVG
ArchTect: Create View Add a new view to the workspace
ArchTect: Edit Architecture Info Edit workspace name and description
ArchTect: Generate Documentation Generate documentation artifacts
ArchTect: Validate Architecture Run DSL validation and report errors
ArchTect: Toggle Explorer Show or hide the left panel
ArchTect: AI Assistant Open the AI assistant
ArchTect: Show Copilot Diagnostics Show Copilot diagnostic info
ArchTect: Open User Guide Open this documentation

File Types

File Purpose
workspace.dsl Main model file (Structurizr DSL)
workspace.json View layouts and editor state
.dsl Any DSL file openable directly in ArchTect
.nbc4 ArchTect diagram file format
docs/ Optional folder for documentation or exported artifacts

DSL Grammar

The authoritative grammar used by ArchTect is in frontend/src/lib/dsl/grammar.txt inside the extension source. It describes the supported syntax, view types, and configuration options. The canonical language reference for Structurizr DSL is at structurizr.com/help/dsl.

For what ArchTect specifically supports, see DSL Support Matrix.


Troubleshooting

Validation errors

If the DSL parser reports errors: 1. Open the dsl editor and check for error. 2. Fix the reported line and try again. 3. For syntax rules, check the DSL Support Matrix or the Structurizr DSL reference

View not appearing

If a view doesn't show up in the Views panel: - Confirm the view exists in the views { } block of your DSL. - Check that the view key is unique across all views. - For filtered views: a base view can be hidden once a filtered view is defined for it. This is expected Structurizr-compatible behavior.