Workbench for Zephyr (VS Code)

Ac6 Workbench for Zephyr is a VS Code extension that adds support of Zephyr development to Visual Studio Code, including host tools installation, SDK and toolchain management, west workspace management, project creation, build, flash and debug, Kconfig and devicetree editing, memory analysis, static code analysis and SBOM generation.
The extension is available on the VS Code Marketplace and on Open VSX.
Features
- Install native host tools (Python, CMake, Ninja, ...) in a sandboxed location, with an advanced mode to select individual tools
- Install and manage toolchains: Zephyr SDK (full or minimal, with optional LLVM/Clang), ARM GNU, IAR ARM and Rust
- Detect and use Zephyr SDKs installed globally or locally
- Import west workspaces from a template, a repository, a local folder or a manifest file
- Manage west manifests, west blobs and per-workspace Python environments with the West Manager
- Create application projects for a specific board from a sample, or import existing applications
- Define multiple build configurations per application, with sysbuild, shields and snippets support
- Build and flash applications from the status bar, the command palette or the Applications view
- Open a Zephyr terminal with the build environment sourced (PowerShell, bash, zsh, Git Bash, MSYS2 or Cygwin)
- Debug with OpenOCD, J-Link, pyOCD, LinkServer, ST-LINK GDB Server, STM32CubeProgrammer, nRF tools or Simplicity Commander, using the built-in backend or Cortex-Debug
- Generate launch configurations with the Debug Manager, manage pyOCD target packs, install runners from the extension
- Configure applications with the Kconfig Manager GUI, menuconfig, guiconfig or hardenconfig
- Edit devicetree and pin muxing with the Devicetree Manager, with DTS language server support out of the box
- Analyze memory usage with RAM/ROM reports, plots and puncover
- Inspect builds in the Zephyr Dashboard: application summary, sys-init data and RAM/ROM usage with ELF size breakdown
- Run static code analysis with ECLAIR (MISRA, BARR-C, AUTOSAR) and diagnose devicetree errors with DT Doctor
- Generate SPDX 2.3 and SPDX 3.0 SBOM documents, verify them with SBOM Total and export PDF, DOCX or Markdown reports
- IntelliSense with the C/C++ extension or clangd
- Supported on Windows, Linux and macOS, including VS Code Portable mode
Quick Start
- Click on the Workbench for Zephyr icon in the activity bar
- Install Host Tools: the native tools are downloaded into
${USERDIR}/.zinstaller (takes ~5 minutes)
- Add a toolchain: import an official Zephyr SDK or register an already installed one
- Add a west workspace: from a template, a repository, a local folder or a manifest file (takes ~10 minutes)
- Create a new application: select the west workspace, the toolchain, the board and a sample project
- Build from the status bar, then configure your debug session with the Debug Manager
Step-by-step guides are available for Windows, Linux and macOS.
| Toolchain |
Notes |
| Zephyr SDK |
Official SDK, full or minimal install, all Zephyr target architectures |
| LLVM/Clang |
Optional download together with a Zephyr SDK |
| ARM GNU Toolchain |
arm-none-eabi and aarch64-none-elf |
| IAR ARM Toolchain |
Registered with an IAR license token, a Zephyr SDK is still required for the host utilities |
| Rust |
zephyr-lang-rust module, standalone toolchain or rustup |
Zephyr SDKs installed globally with west sdk are detected automatically, shown with a [global] badge in the Toolchains view and selectable as an application toolchain.
Supported debug runners
| Runner |
Notes |
| OpenOCD |
Zephyr, ESP32, xPack, Infineon, TI or custom variants |
| J-Link |
SEGGER |
| pyOCD |
Target packs managed with the pyOCD Manager |
| LinkServer |
NXP |
| ST-LINK GDB Server |
STMicroelectronics |
| STM32CubeProgrammer |
STMicroelectronics |
| nrfjprog, nRF Util |
Nordic Semiconductor |
| Simplicity Commander |
Silicon Labs |
Debug sessions run on the built-in west debugserver backend or on Cortex-Debug. Runners and programming tools (including ModusToolbox Programming Tools) can be installed directly from the Install Runners view.
Devicetree Manager
The Devicetree Manager is a visual editor for the devicetree and the pin muxing of an application. It reads the resolved devicetree of the selected build configuration and generates the corresponding boards/<board>.overlay file. It ships as a separate companion extension, Devicetree Manager for Zephyr (also on Open VSX).
CI and Docker
A Docker image with VS Code and the Workbench for Zephyr extension pre-installed is available in the vscode-zephyr-workbench-docker repository. The image is based on Ubuntu 24.04 and already contains the Zephyr host tools. It can be used as a Dev Container from your local VS Code, as a standalone VS Code with GUI, or in terminal-only mode to run west builds in CI pipelines.
Documentation
The complete documentation is available on https://z-workbench.com/, in particular:
The latest features are listed in the CHANGELOG.
Open Source
The Workbench for Zephyr extension is a fully open-source project, built to provide an IDE for the Zephyr community and to introduce Zephyr to newcomers. The source code is available on GitHub, and we actively encourage developers to contribute, review and improve the project. The extension is licensed under the Apache-2.0 license.
Contribute
We welcome contributions from developers of all skill levels. Whether you are fixing bugs, adding new features, or improving documentation, your efforts help make this extension better for everyone.
- Reporting issues: found a bug or have a feature request? Please check the existing issues and, if needed, open a new one to let us know
- Improving documentation: clear documentation is crucial for the user experience, if you spot something unclear or missing, feel free to suggest improvements
Useful links
| |