If any of the formatters fails, the subsequent ones will still be executed.
## Code Actions On Format
- Description: The code actions to perform with the primary language server when formatting the buffer.
- Setting: `code_actions_on_format`
- Default: `{}`, except for Go it's `{ "source.organizeImports": true }`
**Examples**
<!--
TBD: Add Python Ruff source.organizeImports example
-->
1. Organize imports on format in TypeScript and TSX buffers:
```json
{
"languages": {
"TypeScript": {
"code_actions_on_format": {
"source.organizeImports": true
}
},
"TSX": {
"code_actions_on_format": {
"source.organizeImports": true
}
}
}
}
```
2. Run ESLint `fixAll` code action when formatting:
```json
{
"languages": {
"JavaScript": {
"code_actions_on_format": {
"source.fixAll.eslint": true
}
}
}
}
```
3. Run only a single ESLint rule when using `fixAll`:
```json
{
"languages": {
"JavaScript": {
"code_actions_on_format": {
"source.fixAll.eslint": true
}
}
},
"lsp": {
"eslint": {
"settings": {
"codeActionOnSave": {
"rules": ["import/order"]
}
}
}
}
}
```
## Auto close
- Description: Whether to automatically add matching closing characters when typing opening parenthesis, bracket, brace, single or double quote characters.
- Setting: `use_autoclose`
- Default: `true`
**Options**
`boolean` values
## Always Treat Brackets As Autoclosed
- Description: Controls how the editor handles the autoclosed characters.
- Setting: `always_treat_brackets_as_autoclosed`
- Default: `false`
**Options**
`boolean` values
**Example**
If the setting is set to `true`:
1. Enter in the editor: `)))`
2. Move the cursor to the start: `^)))`
3. Enter again: `)))`
The result is still `)))` and not `))))))`, which is what it would be by default.
## File Scan Exclusions
- Setting: `file_scan_exclusions`
- Description: Files or globs of files that will be excluded by Zed entirely. They will be skipped during file scans, file searches, and not be displayed in the project file tree. Overrides `file_scan_inclusions`.
- Default:
```json
"file_scan_exclusions": [
"**/.git",
"**/.svn",
"**/.hg",
"**/.jj",
"**/CVS",
"**/.DS_Store",
"**/Thumbs.db",
"**/.classpath",
"**/.settings"
],
```
Note, specifying `file_scan_exclusions` in settings.json will override the defaults (shown above). If you are looking to exclude additional items you will need to include all the default values in your settings.
## File Scan Inclusions
- Setting: `file_scan_inclusions`
- Description: Files or globs of files that will be included by Zed, even when ignored by git. This is useful for files that are not tracked by git, but are still important to your project. Note that globs that are overly broad can slow down Zed's file scanning. `file_scan_exclusions` takes precedence over these inclusions.
- Default:
```json
"file_scan_inclusions": [".env*"],
```
## File Types
- Setting: `file_types`
- Description: Configure how Zed selects a language for a file based on its filename or extension. Supports glob entries.
- Default:
```json
"file_types": {
"JSONC": ["**/.zed/**/*.json", "**/zed/**/*.json", "**/Zed/**/*.json", "**/.vscode/**/*.json"],
"Shell Script": [".env.*"]
}
```
**Examples**
To interpret all `.c` files as C++, files called `MyLockFile` as TOML and files starting with `Dockerfile` as Dockerfile:
```json
{
"file_types": {
"C++": ["c"],
"TOML": ["MyLockFile"],
"Dockerfile": ["Dockerfile*"]
}
}
```
## Diagnostics
- Description: Configuration for diagnostics-related features.
- Setting: `diagnostics`
- Default:
```json
{
"diagnostics": {
"include_warnings": true,
"inline": {
"enabled": false
},
"update_with_cursor": false,
"primary_only": false,
"use_rendered": false
}
}
```
### Inline Diagnostics
- Description: Whether or not to show diagnostics information inline.