Skip to content

beeemT/vscode-helm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

23 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ›๏ธ Helm Values Preview

A VS Code extension that supercharges Helm chart development

VS Code License: MIT TypeScript

See resolved template values inline, navigate to definitions, and switch between environments instantly.


โœจ Features

๐Ÿ“Š Inline Value Decorations

See resolved .Values.* expressions directly in your template files. Values update instantly when you switch between environmentsโ€”no need to run helm template repeatedly.

  • Values shown inline after each template expression
  • Unset values highlighted with warnings
  • Truncated display for long values (configurable)

๐Ÿ”„ Values File Selector

Quickly switch between values override files using the status bar dropdown. The selected file is merged with values.yaml following Helm's merge behavior.

Status bar shows: ๐Ÿ“„ values-prod.yaml or ๐Ÿ“ฆ subchart > ๐Ÿ“„ values-prod.yaml for subcharts

๐Ÿ” Go-to-Definition

Ctrl/Cmd+Click on any value decoration to jump directly to where that value is definedโ€”whether it's in your override file, default values.yaml, or a subchart's values.

๐Ÿ“š Find All References

Right-click on any key in a values file and select "Find All References" to see every template that uses that value across your chart and subcharts.

๐Ÿ’ก Quick Fixes for Missing Values

When a .Values.* reference doesn't exist, the extension shows a warning decoration and offers a Quick Fix to create the missing key in your values.yaml.

๐Ÿ“ฆ Full Subchart Support

Works seamlessly with Helm dependencies:

Feature Description
Auto-detection Subcharts in charts/ directory automatically detected
Alias support Dependencies with aliases in Chart.yaml properly resolved
Nested subcharts Full support for subcharts within subcharts
Archive support Works with .tgz packaged subcharts (read-only introspection)
Global values global: section properly inherited

๐ŸŽฏ Autocomplete for Subchart Values

When editing values files, get intelligent autocomplete suggestions for subchart configuration keys based on their default values.yaml.


๐Ÿš€ Getting Started

  1. Install the extension from the VS Code marketplace
  2. Open a workspace containing a Helm chart (must have Chart.yaml)
  3. Edit any template file in the templates/ directory
  4. Click the status bar item to select a values override file
  5. Enjoy inline value previews and instant navigation!

โš™๏ธ Configuration

Setting Description Default
helmValues.enableInlayHints Enable/disable inline value decorations true
helmValues.inlayHintMaxLength Maximum characters before value is truncated 50
helmValues.enableArchiveIntrospection Enable go-to-definition and find-references inside .tgz archive subcharts true

๐Ÿ“‹ Commands

Command Description
Helm: Select Values File Open the values file picker
Helm: Clear Values File Selection Reset to default values.yaml only
Helm: Go to Value Definition Navigate to the value source
Helm: Create Missing Value Add undefined value to values.yaml

๐Ÿ“ Supported Patterns

Template Expressions

{{ .Values.foo }}
{{- .Values.foo -}}
{{ $.Values.foo }}
{{ .Values.foo | default "bar" }}
{{ if .Values.enabled }}...{{ end }}

Values File Patterns

The extension discovers override files matching these patterns:

  • values-*.yaml โ†’ values-prod.yaml, values-dev.yaml
  • *.values.yaml โ†’ prod.values.yaml
  • *-values.yaml โ†’ production-values.yaml
  • values.*.yaml โ†’ values.prod.yaml
  • values/*.yaml โ†’ values/staging.yaml

๐Ÿ“ฆ Subchart Example

# Chart.yaml
dependencies:
  - name: mysql
    version: '1.0.0'
    alias: database

# values.yaml
database:
  auth:
    rootPassword: 'my-secret'
global:
  environment: production

When editing charts/mysql/templates/deployment.yaml:

  • .Values.auth.rootPassword โ†’ "my-secret" (from parent)
  • .Values.global.environment โ†’ "production" (inherited global)

Archive subcharts (.tgz) are fully supportedโ€”values resolve, autocomplete works, and you can Cmd/Ctrl+Click to navigate into archive values.yaml files as read-only virtual documents.


๐Ÿ› ๏ธ Development

# Install dependencies
npm install

# Compile
npm run compile

# Watch mode (for development)
npm run watch

# Run tests
npm test

# Lint
npm run lint

# Format code
npm run format

Debugging

  1. Open the project in VS Code
  2. Press F5 to launch the Extension Development Host
  3. Open a folder containing a Helm chart to test

๐Ÿค Contributing

Contributions are welcome! Please see the AGENTS.md file for development guidelines and architecture documentation.


๐Ÿ“„ License

MIT


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors