Visual Studio Code extension for working with the Noir programming language.
This extension helps developers write, understand, and improve Noir code by providing:
- Syntax highlighting
- Compile errors and warnings on file save
- Run tests via codelens above each test
- Useful snippets for common code patterns
- Auto-format on save
For Language Server Protocol support, we require nargo v0.7.1+ to be in your PATH. You can check this by running nargo --version in your terminal and you can check for the lsp command by running nargo --help.
If you can't put nargo in your PATH, you can set an absolute path in the Nargo Path setting.
- Noir: Enable LSP (noir.enableLSP) - If checked, the extension will launch the Language Server via
nargo lspand communicate with it. - Noir: Nargo Flags (noir.nargoFlags) - Additional flags may be specified if you require them to be added when the extension calls
nargo lsp. - Noir: Nargo Path (noir.nargoPath) - An absolute path to a Nargo binary with the
lspcommand. This may be useful if Nargo is not within thePATHof your editor. - Noir > Trace: Server (noir.trace.server) - Setting this to
"messages"or"verbose"will log LSP messages between the Client and Server. Useful for debugging.
You can find a full list of changes at https://github.com/noir-lang/vscode-noir/blob/master/CHANGELOG.md
The project provides a few useful commands via npm scripts:
npm run package- Builds the project and packages it into a.vsixfile which can be manually installed for testing.npm run esbuild- Builds the project with esbuild to outputout/extension.jsandout/extension.js.map.npm run test-compile- Check types with TypeScript. Useful since esbuild doesn't typecheck.npm run format- Formats all the code in the repository.npm run check-format- Checks the formatting in the repository.