Helm Workbench
A VS Code extension for writing and checking Helm charts. Browse charts, navigate values, see lint errors, and preview the manifests your chart produces.
Install
Requires VS Code 1.100 or newer. Install Helm 3 or 4 on the machine running the extension (your local machine, SSH host, container, or Codespace). Chart browsing and language assistance work without Helm.
- Download or build
helm-workbench-0.1.0.vsix.
- In VS Code, run Extensions: Install from VSIX… and select the file.
- Open a folder containing
Chart.yaml.
You can also install from a terminal:
code --install-extension helm-workbench-0.1.0.vsix
Use
The Helm Charts view appears in Explorer and lists charts from every workspace folder. Expand a chart to browse its files. Use the chart's preview and check buttons, or run commands from the Command Palette:
| Command |
What it does |
| Helm: Render Chart |
Run helm template and open a read-only YAML preview beside your editor. Run again to refresh it. |
| Helm: Lint Chart |
Run helm lint and show diagnostics in Problems. |
| Helm: Select Values Files |
Select overrides for the active chart, remembered for this workspace. Clear the selection to use defaults. |
| Helm: Build Chart Dependencies |
Run helm dependency build; this can download dependencies and update chart files. |
| Helm: Refresh Charts |
Rediscover charts and detect template files. |
| Helm: Show Output |
Open command output and errors. |
Commands use the chart containing the active file. If no chart is active, choose one from a list. Unsaved chart changes must be saved before a manual lint, render, or dependency build.
Files under a chart's templates/ folder (.yaml, .yml, .tpl, and .txt) automatically use Helm Template mode. Other YAML files keep their normal language mode. If another language extension has assigned a custom language, select Helm Template from the editor's language menu.
- Type
.Values. inside {{ … }} for nested key completion from values.yaml.
- Hover over
.Values.image.repository to see its default value.
- Use Go to Definition to jump to the key in
values.yaml.
- Try
hif, hrange, hwith, hinclude, hdefine, hvalue, hyaml, or hrequired snippets.
Values files are applied in the alphabetical order displayed in the selector; later files override earlier files. They affect lint and render commands. Completion, hover, and definitions describe the chart's default values.yaml, including unsaved edits, rather than merged overrides. Dot navigation covers ordinary mapping keys; aliases, array indexes, keys containing hyphens, and values accessed through a changed with/range scope are not resolved.
Linting runs after saving a chart file. Parse errors with Go-template source positions point to the source line; errors that only report a line in generated YAML point to the start of the source file. Rendering uses Helm's local defaults and does not validate resources against a live Kubernetes cluster.
Settings
| Setting |
Default |
Purpose |
helmWorkbench.executablePath |
helm |
Executable name or absolute path, without command-line arguments. |
helmWorkbench.lintOnSave |
true |
Lint after chart files are saved. |
helmWorkbench.lintStrict |
false |
Fail lint on warnings. |
helmWorkbench.releaseName |
preview |
Release name for rendered manifests. |
helmWorkbench.namespace |
default |
Namespace for lint and render. |
helmWorkbench.kubeVersion |
empty |
Optional Kubernetes capabilities version. |
helmWorkbench.includeCRDs |
true |
Include CRDs in previews. |
helmWorkbench.timeoutSeconds |
30 |
Command timeout, from 1 to 600 seconds. |
In a remote workspace, install Helm on the remote host or set its path there. Helm commands require a trusted workspace. The extension executes Helm directly without a shell, collects no telemetry, and makes no network calls itself. An explicit dependency build can use Helm's configured repositories and credentials. Rendered manifests may contain sensitive values, including Secrets; take care when saving or sharing a preview.
Develop
Use Node.js 24 and an installed Helm binary:
npm ci
npm run build
npm test
npm run test:integration
npm run package
Press F5 to open the example chart in an Extension Development Host. The integration runner downloads a separate VS Code test instance by default; set VSCODE_EXECUTABLE_PATH to use an installed copy. Set VSCODE_VERSION=1.100.0 to exercise the minimum supported version. On Linux, run the integration command with xvfb-run -a if no display is available.
The extension bundles its runtime dependencies. CI checks compilation, core tests with real Helm, VS Code integration tests, and VSIX packaging, then uploads the VSIX as a build artifact.
Official references: VS Code extension APIs, Helm template, and Helm lint.