Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>ZenerNew to Visual Studio Code? Get it now.
Zener

Zener

Diode Inc

|
129 installs
| (1) | Free
A Zener language server
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Zener VSCode Extension

Zener is a domain-specific language for designing PCB schematics, built on top of Starlark. This VSCode extension provides comprehensive language support for .zen files, enabling a productive development experience for hardware design.

Features

  • Syntax Highlighting - Full syntax support for Zener/Starlark code
  • IntelliSense - Code completion, hover information, and signature help
  • Diagnostics - Real-time error checking and validation
  • Go to Definition - Navigate to component and module definitions
  • Debugging - Step through your designs with the integrated debugger

Requirements

  • pcb CLI tool - The extension uses the pcb binary for language server functionality
  • The pcb binary must be available on your PATH or configured via the zener.lspPath setting

Configuration

The extension provides the following settings:

  • zener.lspPath - Path to the pcb binary (defaults to pcb on PATH)
  • zener.lspArguments - Additional arguments to pass to the language server

Sandbox Workflows

The Sandbox explorer lets you create a writable registry checkout for the active board package, iterate on registry code locally, and keep the board's pcb.toml pointed at the exact sandbox commits you are using.

Iterate On An Existing Registry Dependency

Use this flow when a board already depends on something in the registry, but you need to change it while continuing board work.

  1. Create a sandbox from the Sandbox explorer with the + button.
  2. Open sandbox files with cmd+k s.
  3. Edit the dependency inside the sandbox, for example its .zen file.
  4. Commit the sandbox changes. This automatically updates the board's pcb.toml to point at the new sandbox commit for each changed sandbox package.
  5. Repeat editing and committing as you iterate.
  6. Push the sandbox branch and merge it on GitHub when the full set of changes is ready.
  7. Close the sandbox, then bump dependencies to move back to the merged registry version.

Add A New Registry Package And Use It Immediately

Use this flow when you want to create new registry content in a sandbox and start using it from the board before it has been merged.

  1. Create a sandbox from the Sandbox explorer with the + button.
  2. Add the new registry content inside the sandbox.
  3. Run pcb sandbox search to confirm the new package is visible there.
  4. Commit the sandbox changes. This automatically updates the board's pcb.toml so changed sandbox packages are added as branch-and-rev dependencies.
  5. Start using the new package from the board.
  6. Continue iterating with more edits and commits as needed.
  7. Push the sandbox branch, merge it on GitHub, then close the sandbox and bump dependencies when you are ready to move back to the merged registry version.

Learn More

  • PCB Repository - Main project repository with CLI tools and examples
  • Zener Language Specification - Complete language reference
  • Examples - Sample Zener designs to get started

Made in Brooklyn, NY, USA.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft