Skip to main content

Configure Your Editor for Atmos

A properly configured editor can make working with Atmos configurations more intuitive and efficient. The right setup can improve readability, speed up your workflow, and even help you catch configuration errors as you go! Whether you’re setting up your editor for the first time or refining your current environment, we have some recommendations to get you started.

You will learn

  • How to configure your VS Code editor to boost productivity
  • Ensure your YAML files are validated against the Atmos schema to catch issues early and maintain compliance with best practices
  • How to format your code automatically

To work effectively with Atmos, we recommend configuring your VS Code editor for the best developer experience. Alternatively, you can use a DevContainer configuration.

Configure Visual Studio Code

You can manually configure your VS Code environment with the following settings.

Install these extensions for enhanced productivity:

Visual Studio Code Settings

Update your VS Code settings to optimize the experience for working with Atmos. With these configurations, your VS Code editor will be fully optimized for working with Atmos.

Add the following to your settings.json for your infrastructure repository (e.g. infra/.vscode/settings.json)

{
"git.openRepositoryInParentFolders": "always",
"git.autofetch": true,
"git.showProgress": true,
"workbench.startupEditor": "readme",
"workbench.editor.autoLockGroups": {
"readme": "/welcome.md"
},
"workbench.editorAssociations": {
"*.md": "vscode.markdown.preview.editor"
},
"terminal.integrated.tabs.title": "Atmos (${process})",
"terminal.integrated.tabs.description": "${task}${separator}${local}${separator}${cwdFolder}",
"terminal.integrated.shell.linux": "/bin/zsh",
"terminal.integrated.allowWorkspaceConfiguration": true,
"yaml.schemaStore.enable": true,
"yaml.schemas": {
"https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json": [
"**/stacks/**/*.yaml",
"!**/stacks/workflows/**/*.yaml",
"!**/stacks/schemas/**/*.yaml"
]
}
}

Terminal Configuration

Set your terminal to use Zsh for an improved command-line experience:

"terminal.integrated.shell.linux": "/bin/zsh"

YAML Schema Validation

Ensure your YAML files are validated against the Atmos schema:

"yaml.schemas": {
"https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json": [
"**/stacks/**/*.yaml",
"!**/stacks/workflows/**/*.yaml",
"!**/stacks/schemas/**/*.yaml"
]
}