Language Settings Structure
Configure language-specific settings in yoursettings.json:
Common Language Settings
Indentation
tab_size: Number of spaces per tab (or tab character width)hard_tabs: Use tab characters (true) vs spaces (false)
Line Wrapping
soft_wrap:"none","editor_width", or"preferred_line_length"preferred_line_length: Character count for wrappingshow_wrap_guides: Show vertical rulerswrap_guides: Array of column positions for guides
Formatting
Format on Save Options
"off"- Don’t format on save"on"- Format using configured formatter"language_server"- Use language server formatting"external"- Use external command
Formatter Options
"auto"- Automatically choose formatter"language_server"- Use LSP formatting"prettier"- Use Prettier (if available)"external"- Use external command["formatter1", "formatter2"]- Try formatters in order
Code Actions on Format
Run code actions automatically when formatting:Save Actions
Language Servers
Enabling/Disabling
Language Server Selection
Control which language servers to use:"..."- Placeholder for all other available servers"!name"- Exclude a specific server (prefix with!)
Language Server Configuration
Semantic Tokens
Control how LSP semantic tokens are used for highlighting:"disabled"- Don’t use semantic tokens"basic"- Use basic semantic token types"enhanced"- Use full semantic token capabilities
Document Features
Folding Ranges
Document Symbols
Completions
Inlay Hints
Edit Predictions (AI Completions)
Bracket Colorization
Prettier Configuration
Tasks
Configure language-specific task behavior:Debuggers
Specify preferred debuggers for a language:Language-Specific Features
Auto-closing
Auto-indent
Comment Continuation
Linked Edits
File Type Associations
Associate file patterns with languages:*- Matches any characters except/**- Matches any characters including/?- Matches a single character[abc]- Matches any character in the set
Common Language Examples
Rust
Python
TypeScript/JavaScript
Go
HTML/CSS
EditorConfig Support
Zed respects.editorconfig files for per-file settings. EditorConfig takes precedence over language settings for:
indent_style(hard_tabs)indent_size(tab_size)max_line_length(preferred_line_length)insert_final_newline(ensure_final_newline_on_save)trim_trailing_whitespace(remove_trailing_whitespace_on_save)
Viewing Language Defaults
To see default settings for all languages:- Open Command Palette
- Run “zed: open default settings”
- Search for specific language names
assets/settings/default.json.