JetBrains Fleet 1.33 Help

Settings

Fleet provides fine-grained control over its functionality and appearance. The corresponding settings are managed through a set of .json files. File-based approach allows for simple management and sharing of settings, at the same time providing the ability to handle more advanced scenarios like applying specific settings in a particular context.

This topic explains how settings work, describes the steps to configure them, and provides reference that will help you find the required setting and learn more about its meaning.

Settings layers

In Fleet, there are multiple layers of settings:

Settings layers diagram
  • Fleet default settings – settings embedded in the IDE or its plugins. These settings have the lowest priority and only apply when no other layer overrides them.

  • User settings – your personal settings. These settings override the default IDE settings.

  • Workspace settings – settings specified for a particular folder. This layer has the highest priority.

If a layer with higher priority does not override a setting, the value from a lower-priority layer is used. Ultimately, if the setting is not defined anywhere, the value from the default layer is used, which provides fallback values for all settings.

User settings

User settings are your personal settings. If you are working in a collaborative environment, they will only affect you and will not be visible to your teammates. User settings apply everywhere, except for workspaces that have their own settings.

User settings are managed in the Settings/Preferences tab ⌘ ,. If you want to edit user settings through a file, use the ⌘ ⇧ , or select Show settings.json in the Settings tab.

Edit user settings through settings.json

  • Press ⌘ ⇧ , to open settings.json. A separate editor tab opens. In the opened tab, specify the required settings using JSON syntax.

    For available settings and their descriptions, refer to Settings reference.

    Editing settings in settings.json

    Changes are applied immediately when you save the file.

Reset to defaults

  • Press ⌘ ⇧ , to open settings.json and clear the contents of the file.

User settings file locations

Fleet settings are stored under .fleet in the user directory:

Windows

C:\Users\user_directory\.fleet\settings.json

Linux

/home/user_directory/.fleet/settings.json

macOS

/Users/user_directory/.fleet/settings.json

Workspace settings

In addition to user settings, which apply globally to all files, you can specify settings for a particular workspace. These settings will only apply to files in this folder, and will be shared among all the users of the workspace.

Edit workspace settings through the menu

  1. Open the workspace, whose settings you want to edit.

  2. Open the IDE settings by pressing ⌘ ,. Alternatively, use the main menu:

    • Windows and Linux: click the Menu icon and navigate to File | Settings | Settings.

      workspace settings
    • macOS: from the main menu, click Fleet | Settings.

      workspace settings
  3. Open the tab that corresponds to your workspace.

    The 'SPRING-PETCLINIC' tab in Settings/Preferences

Edit workspace settings through settings.json

  1. In the workspace settings menu, select Show settings.json.

    Alternatively, open the .fleet folder in the workspace, whose settings you want to edit. If no settings have been defined for the workspace, and the .fleet folder does not exist, create the folder and the settings.json file in it.

  2. Fill in settings.json with the required settings using JSON syntax.

    For available settings and their descriptions, refer to Settings reference.

    Editing settings in settings.json

    Changes are applied immediately when you save the file.

Subfolder settings

Workspaces support nested settings in their subfolders. You can use them to achieve any level of granular control when you need custom settings for subfolders.

settings.json in a workspace subdirectory

To achieve the necessary granularity, create .fleet/settings.json in a subfolder. When you are working with files inside the subfolder, these settings will override the more general workspace settings.

Application settings

You can change the default directory locations for JetBrains Fleet. Specifically, you can set new paths for your IDE configuration, caches, and plugins.

Default locations

IDE configuration directory

Windows

~\AppData\Roaming\JetBrains\Fleet

Linux

~/.config/JetBrains/Fleet

macOS

~/Library/Application Support/Jetbrains/Fleet

Caches Directory

Windows

~\AppData\Local\JetBrains\Fleet

Linux

~/.cache/JetBrains/Fleet

macOS

~/Library/Caches/JetBrains/Fleet

Plugins Directory

WS Server

<config_path>/pluginStorage

Frontend

<config_path>/plugins

Change directory locations by using the fleet.properties file

  1. Locate the fleet.properties file. The default locations of the file are:

    • Home directory: ~/fleet.properties

    • Default caches directory: <caches_dir>/fleet.properties. Value of <caches_dir> depends on your operating system. For more information, refer to Caches Directory.

  2. Open fleet.properties in an editor and add the following properties to the file:

    • fleet.config.path=<your_custom_path>: sets a path to the IDE configuration directory.

    • fleet.caches.path=<your_custom_path>: Sets a path to the caches directory.

Change directory locations from JetBrains Fleet

  1. Press ⌘ ⇧ , to open settings.json. A separate editor tab opens. In the opened tab, specify the required settings using JSON syntax.

  2. Add the following property to settings.json.

    "internalMode": true
  3. Press ⌘ ⇧ K and type Open FleetCfg.

    Enabling internal mode
  4. In the Fleet.cfg file, add the following properties:

    • java-options=-Dfleet.config.path=<custom_path>: a property that sets a path to the IDE configuration directory.

    • java-options=-Dfleet.caches.path=<custom_path>: a property that sets a path to the caches directory.

  5. Restart JetBrains Fleet.

    §

Set a location of fleet.properties with the FLEET_PROPERTIES_FILE environment variable

  • To set the location of the fleet.properties file, follow the procedure for your operating system:

Press Win + R, type cmd, and press .

Type set FLEET_PROPERTIES_FILE=C:\path\to\your\file and press . This will set the variable for the current session only.

To set the environment variable permanently, consider adding it in the System Properties window.

System Properties

Search for the Terminal application in the Utilities folder within your Applications folder, or use Spotlight to search for it.

Type export FLEET_PROPERTIES_FILE=/path/to/your/file and press . This will set the variable for the current terminal session only.

To set the environment variable permanently, consider adding export FLEET_PROPERTIES_FILE=/path/to/your/file to .bashrc for bash or .zshrc for zsh.

System Properties

Search for Terminal in your application menu or by using a keyboard shortcut, often it is Ctrl+Alt+T.

Type export FLEET_PROPERTIES_FILE=/path/to/your/file and press . This will set the FLEET_PROPERTIES_FILE variable for the current session only.

To set the environment variable permanently, consider adding export FLEET_PROPERTIES_FILE=/path/to/your/file to .bashrc, .bash_profile, or .profile files.

Linux FLEET_PROPERTIES_FILE

Setting contexts

You can apply or override specific settings depending on the type of the file. For example, you can choose to only enable code vision for a specific language.

The syntax to achieve this is:

{ "[language]": { "setting-key-1": value, "setting-key-2": value } }

For example, if you want to enable soft wraps for HTML files, specify the following in a settings file:

{ "[HTML]": { "editor.softWrapEnabled": true } }

Feature flags

There is a special type of settings called feature flags These settings are used for controlling features that are temporary or experimental. Feature flags start with ff, for example: ff.logoOnMac.

Settings reference

This chapter provides the descriptions for settings grouped by subsystem to which they apply:

Running code

launchTerminalOnOpen

Start a terminal session when opening a workspace

Type: boolean

Default value: false

run.recentConfigurationsSize

Size of recent configurations list in Run & Debug popup

Type: integer

Default value: 3

terminal.TypeAheadLatency

Specifies the typeahead latency threshold (in milliseconds).When the latency between the terminal and the frontend is high, it causes laggy experience. To mitigate that, the typeahead mechanism is used. It provides an illusion of instant feedback by predicting the current terminal state.Due to differences in terminals' operation, the predictions may not be correct in some cases. For this reason, it makes sense to only use typeahead when the latency is high.Fleet automatically turns typeahead on and off depending on the current terminal latency. The recommended threshold value is 50 ms, which is also the default one, but you can set it manually, if required.

Type: integer

Default value: 50

terminal.bell

Enable terminal bell

Type: boolean

Default value: true

terminal.caretShape

Caret shape

Possible values: "Vertical", "Underline", "Block", "Same as in the editor"

Default value: "Same as in the editor"

terminal.clearTerminalOnCmdK

Clear terminal on ⌘K

Type: boolean

Default value: false

terminal.copyOnSelection

Copy text from terminal on selection

Type: boolean

Default value: false

terminal.enableFocusEditorOnEsc

Focus main panel on Esc

Type: boolean

Default value: false

terminal.enableFocusPanelsInApps

Focus main panel on Esc in interactive programs like vim

Type: boolean

Default value: false

terminal.fontFamily

Font family

Possible values: "JetBrains Mono", "Inter", "Academy Engraved LET", "Al Bayan", "Al Nile", "Al Tarikh", "American Typewriter", "Andale Mono", "Arial", "Arial Black", "Arial Hebrew", "Arial Hebrew Scholar", "Arial Narrow", "Arial Rounded MT Bold", "Arial Unicode MS", "Avenir", "Avenir Next", "Avenir Next Condensed", "Ayuthaya", "Baghdad", "Bangla MN", "Bangla Sangam MN", "Baskerville", "Beirut", "Big Caslon", "Bodoni 72", "Bodoni 72 Oldstyle", "Bodoni 72 Smallcaps", "Bodoni Ornaments", "Bradley Hand", "Brush Script MT", "Chalkboard", "Chalkboard SE", "Chalkduster", "Charter", "Cochin", "Comic Sans MS", "Copperplate", "Corsiva Hebrew", "Courier New", "Damascus", "DecoType Naskh", "Devanagari MT", "Devanagari Sangam MN", "Didot", "DIN Alternate", "DIN Condensed", "Diwan Kufi", "Diwan Thuluth", "Euphemia UCAS", "Farah", "Farisi", "Futura", "Galvji", "GB18030 Bitmap", "Geeza Pro", "Geneva", "Georgia", "Gill Sans", "Grantha Sangam MN", "Gujarati MT", "Gujarati Sangam MN", "Gurmukhi MN", "Gurmukhi MT", "Gurmukhi Sangam MN", "Heiti SC", "Heiti TC", "Helvetica", "Helvetica Neue", "Herculanum", "Hiragino Maru Gothic ProN", "Hiragino Mincho ProN", "Hiragino Sans", "Hiragino Sans GB", "Hoefler Text", "Impact", "InaiMathi", "ITF Devanagari", "ITF Devanagari Marathi", "Kailasa", "Kannada MN", "Kannada Sangam MN", "Kefa", "Khmer MN", "Khmer Sangam MN", "Kohinoor Bangla", "Kohinoor Devanagari", "Kohinoor Gujarati", "Kohinoor Telugu", "Kokonor", "Krungthep", "KufiStandardGK", "Lao MN", "Lao Sangam MN", "Lucida Grande", "Luminari", "Malayalam MN", "Malayalam Sangam MN", "Marker Felt", "Menlo", "Microsoft Sans Serif", "Mishafi", "Mishafi Gold", "Monaco", "Mshtakan", "Mukta Mahee", "Muna", "Myanmar MN", "Myanmar Sangam MN", "Nadeem", "New Peninim MT", "Noteworthy", "Noto Nastaliq Urdu", "Noto Sans Kannada", "Noto Sans Myanmar", "Noto Sans Oriya", "Noto Serif Myanmar", "Optima", "Oriya MN", "Oriya Sangam MN", "Palatino", "Papyrus", "Party LET", "Phosphate", "PingFang HK", "PingFang SC", "PingFang TC", "Plantagenet Cherokee", "PT Mono", "PT Sans", "PT Sans Caption", "PT Sans Narrow", "PT Serif", "PT Serif Caption", "Raanana", "Rockwell", "Sana", "Sathu", "Savoye LET", "Shree Devanagari 714", "SignPainter", "Silom", "Sinhala MN", "Sinhala Sangam MN", "Skia", "Snell Roundhand", "Songti SC", "Songti TC", "STIXGeneral", "STIXIntegralsD", "STIXIntegralsSm", "STIXIntegralsUp", "STIXIntegralsUpD", "STIXIntegralsUpSm", "STIXNonUnicode", "STIXSizeFiveSym", "STIXSizeFourSym", "STIXSizeOneSym", "STIXSizeThreeSym", "STIXSizeTwoSym", "STIXVariants", "STSong", "Sukhumvit Set", "Symbol", "Tahoma", "Tamil MN", "Tamil Sangam MN", "Telugu MN", "Telugu Sangam MN", "Thonburi", "Times New Roman", "Trattatello", "Trebuchet MS", "Verdana", "Waseem", "Webdings", "Wingdings", "Wingdings 2", "Wingdings 3", "Zapf Dingbats", "Zapfino", "Apple Braille", "Apple Chancery", "Apple Color Emoji", "Apple SD Gothic Neo", "Apple Symbols", "AppleGothic", "AppleMyungjo", "Same as in the editor"

Default value: "Same as in the editor"

terminal.fontFeatures

OpenType features that should be activated in the terminal text. Use this to enable stylistic sets (ss01-ss20), character variants (cv01-cv99), slashed zero (zero), fractions (frac), and more.

Type: object/string/object[]

Default value: []

terminal.fontSize

Font size in pixels

Possible values: from 5.0 to 100.0

Default value: 13.0

terminal.fontWeight

Terminal text weight which will be used if no other weight is given by highlighting. For example, a value of 500 will raise the default font weight to medium, which is slightly heavier than normal (regular).

Possible values: "-1"/In range: [1, 1000]

Default value: -1

terminal.lineCapacity

Maximum number of lines in terminals before oldest lines are deleted

Possible values: from 100 to 1000000

Default value: 10000

terminal.lineSpacing

Controls line spacing in the terminal. The distance between the baselines is calculated as font size multiplied by the given number. Note that this setting is interpreted differently than in other JetBrains IDEs, and you will need a higher number for the same result in Fleet.

Possible values: from 0.1 to 10.0

Default value: 1.7

terminal.outputBufferLines

Number of lines buffered from outputs for terminals

Possible values: from 100 to 1000000

Default value: 1000

terminal.profiles

Configure available shells

Type: object[]

Default value: []

terminal.shellIntegration

Integrate the terminal with the system shell to properly keep track of your command history for sessions and load a custom config file with required environment variables.Shell integration works for sh, bash, zsh, and fish shells

Type: boolean

Default value: true

terminal.tool

The tool used to run and render terminal

Type: string

Default value: "default"

Code-related settings

completion.autoPopupDelay

Specifies the delay after which the completion popup appears if not invoked explicitly. For explicit invocations, the popup appears immediately regardless of this setting.

Type: integer

Default value: 70

quickFixes.preview.contextLines

Number of lines to show around changed lines in the Quick Fixes preview

Type: integer

Default value: 0

quickFixes.preview.mergeDeletesInserts

Merge consecutive insertions and deletions in the Quick Fixes preview

Type: boolean

Default value: true

quickFixes.preview.useRealDiff

Show insertions and deletions on the same lines in the Quick Fixes preview

Type: boolean

Default value: true

rename.autoRenameOnTyping

Rename symbol usages automatically when typing inside symbol definitions

Type: boolean

Default value: false

rename.selectOnRename

Controls whether an entire symbol should be selected when you invoke the Rename refactoring (Code | Refactor | Rename) on it.

Type: boolean

Default value: true

Git

git.autoFetch

Run git fetch with a regular interval. This is used for showing incoming/outgoing commits in the Git panel.

Type: boolean

Default value: true

git.autoSaveOnStage

Save files automatically when staging it.

Type: boolean

Default value: true

git.discoverGitManually

Look for git binary among some known paths or just call `git`

Type: boolean

Default value: false

git.fetchInterval

The time interval in minutes for git.autoFetch

Possible values: from 0.5 to Infinity

Default value: 15.0

git.pull.autostash

Stash uncommited files when pulling (see --autostash option in git pull documentation)

Possible values: "config", "true", "false", "config-or-autostash"

Default value: "config-or-autostash"

git.pull.ff

Fast-forward policy for pull (see --ff option in git pull documentation)

Possible values: "config", "ff", "ff-only", "no-ff", "config-or-ff"

Default value: "config-or-ff"

git.pull.rebase

Rebase policy for pull (see --rebase option in git pull documentation)

Possible values: "config", "true", "false", "merges", "config-or-merges"

Default value: "config-or-merges"

git.push.confirm

Show confirmation on push

Type: boolean

Default value: true

git.revert.confirm

Show confirmation on revert

Type: boolean

Default value: true

git.user

Remote for custom git user mapping. Longer remote is preferred. You can use `*` for the default custom git user.

Type: object

Default value: {}

Python

python.extraPaths

Additional paths for python import resolution. Paths will also be added to the `PYTHONPATH` environment variable for run configurations.

Type: string[]

Default value: []

python.interpreters

List of the python interpreters installed on your local machine

Type: object[]

Default value: []

python.show.interpreters.widget

Show Python interpreters widget in status bar

Type: boolean

Default value: true

python.terminal.activateVirtualEnv

Activate project virtual environment in terminal

Type: boolean

Default value: true

python.useCommonExtraPaths

Activate usage of common additional paths for python import resolution, like `src` or `tests`.

Type: boolean

Default value: true

JavaScript

nodejs.editor.formatOnSave.eslint.glob

Run for files

Type: string

Default value: "{**/*,*}.{js,ts,jsx,tsx}"

nodejs.editor.formatOnSave.eslint.mode

Run ESLint

Possible values: "Auto", "Disabled", "Enabled"

Default value: "Auto"

nodejs.editor.formatOnSave.prettier.glob

Run for files

Type: string

Default value: "{**/*,*}.{js,ts,jsx,tsx}"

nodejs.editor.formatOnSave.prettier.mode

Run Prettier

Possible values: "Auto", "Disabled", "Enabled"

Default value: "Auto"

nodejs.eslint

Node.js ESLint

Type: object[]

Default value: []

nodejs.interpreters

Node.js interpreters

Type: object[]

Default value: []

nodejs.prettiers

Node.js prettier

Type: object[]

Default value: []

nodejs.terminal.addNodeModules

Add 'node_modules/.bin' from the workspace root to 'PATH' environment variable

Type: boolean

Default value: true

nodejs.typescript

TypeScript compiler

Type: object[]

Default value: []

nodejs.typescript.node.options

Node options

Type: string

Default value: ""

nodejs.typescript.rebuildOnChanges

Recompile on changes

Type: boolean

Default value: false

Java

java.debugger.reloadClassesAfterCompilation

Specifies whether changed classes after compilation can be reloaded

Possible values: "Ask", "Always", "Never"

Default value: "Ask"

java.runtimes

List of JDKs/JREs homes on the local machine

Type: object[]

Default value: []

java.terminal.addJavaToolchain

Add workspace java runtime binaries to 'PATH' environment variable and set properly 'JAVA_HOME' environment variable

Type: boolean

Default value: true

jps.build.additionalVmOptions

Specifies additional VM options which should be added to JPS build process

Type: string[]

Default value: []

jps.version

JPS standalone version

Type: string

Default value: "1.25.193"

jps.wrapper.version

JPS wrapper version

Type: string

Default value: "0.31"

kotlin.version

Kotlin dependencies version

Type: string

Default value: "1.9.20"

Maven

maven.home

Additional maven homes

Type: object[]

Default value: []

maven.user.settings

Additional maven user settings files

Type: object[]

Default value: []

.NET

dotnet.autoFocusSolutionView

Whether to automatically focus the Solution tool after enabling Smart Mode

Type: boolean

Default value: false

dotnet.autoSpawnSolutionView

Whether to automatically open the Solution tool after enabling Smart Mode

Type: boolean

Default value: true

dotnet.build.parallelProcessCount

Use this option to limit the number of parallel processes to start. By default, all available CPUs will be used to build solution projects in parallel.

Type: integer

Default value: 0

dotnet.build.restoreBeforeBuild

Whether to restore NuGet packages for all projects in the current solution before building it

Possible values: "never", "ifNoSmartMode", "force"

Default value: "ifNoSmartMode"

dotnet.dotnetCli

One or more .NET CLI tools, specified as a full path to the executable. Default installation of 'dotnet.exe' is detected automatically in Smart Mode.

Type: object[]

Default value: []

dotnet.msbuild

MSBuild tools, specified as a full path to the executable. Path to the latest available MSBuild is detected and applied automatically in Smart Mode.

Type: object[]

Default value: []

dotnet.useDotSettings

Whether to read and apply settings from ReSharper configuration files: 'SolutionName.sln.DotSettings', 'SolutionName.sln.DotSettings.user', and the global configuration file. Enabled by default.

Type: boolean

Default value: true

Go

go.imports

Enable on the fly files formatting with goimports tool

Type: boolean

Default value: true

go.imports.params

Extra arguments to pass to goimports tool

Type: string

Default value: ""

go.roots

Additional go roots

Type: object[]

Default value: []

Tailwind CSS

enableDapSupport

Enables Debug Adapter Protocol support (BETA)

Type: boolean

Default value: true

Rust

rust-analyzer.assist.emitMustUse

Whether to insert #[must_use] when generating `as_` methods for enum variants.

Type: boolean

Default value: false

rust-analyzer.assist.expressionFillDefault

Placeholder expression to use for missing expressions in assists.

Type: string

Default value: "todo"

rust-analyzer.cachePriming.enable

Warm up caches on project load.

Type: boolean

Default value: true

rust-analyzer.cachePriming.numThreads

How many worker threads to handle priming caches. The default `0` means to pick automatically.

Type: integer

Default value: 0

rust-analyzer.cargo.autoreload

Automatically refresh project info via `cargo metadata` on `Cargo.toml` or `.cargo/config.toml` changes.

Type: boolean

Default value: true

rust-analyzer.cargo.buildScripts.enable

Run build scripts (`build.rs`) for more precise code analysis.

Type: boolean

Default value: true

rust-analyzer.cargo.buildScripts.invocationLocation

Specifies the working directory for running build scripts. - "workspace": run build scripts for a workspace in the workspace's root directory. This is incompatible with `#rust-analyzer.cargo.buildScripts.invocationStrategy#` set to `once`. - "root": run build scripts in the project's root directory. This config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#` is set.

Type: string

Default value: "workspace"

rust-analyzer.cargo.buildScripts.invocationStrategy

Specifies the invocation strategy to use when running the build scripts command. If `per_workspace` is set, the command will be executed for each workspace. If `once` is set, the command will be executed once. This config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#` is set.

Type: string

Default value: "per_workspace"

rust-analyzer.cargo.buildScripts.overrideCommand

Override the command rust-analyzer uses to run build scripts and build procedural macros. The command is required to output json and should therefore include `--message-format=json` or a similar option. By default, a cargo invocation will be constructed for the configured targets and features, with the following base command line: ```bash cargo check --quiet --workspace --message-format=json --all-targets ``` .

Type: string

Default value: ""

rust-analyzer.cargo.buildScripts.useRustcWrapper

Use `RUSTC_WRAPPER=rust-analyzer` when running build scripts to avoid checking unnecessary things.

Type: boolean

Default value: true

rust-analyzer.cargo.extraArgs

Extra arguments that are passed to every cargo invocation.

Type: string[]

Default value: []

rust-analyzer.cargo.extraEnv

Extra environment variables that will be set when running cargo, rustc or other commands within the workspace. Useful for setting RUSTFLAGS.

Type: object

Default value: {}

rust-analyzer.cargo.features

List of features to activate. Set this to `"all"` to pass `--all-features` to cargo.

Type: string[]

Default value: []

rust-analyzer.cargo.noDefaultFeatures

Whether to pass `--no-default-features` to cargo.

Type: boolean

Default value: false

rust-analyzer.cargo.sysroot

Relative path to the sysroot, or "discover" to try to automatically find it via "rustc --print sysroot". Unsetting this disables sysroot loading. This option does not take effect until rust-analyzer is restarted.

Type: string

Default value: "discover"

rust-analyzer.cargo.sysrootSrc

Relative path to the sysroot library sources. If left unset, this will default to `{cargo.sysroot}/lib/rustlib/src/rust/library`. This option does not take effect until rust-analyzer is restarted.

Type: string

Default value: ""

rust-analyzer.cargo.target

Compilation target override (target triple).

Type: string

Default value: ""

rust-analyzer.cargo.unsetTest

Unsets `#[cfg(test)]` for the specified crates.

Type: string[]

Default value: ["core"]

rust-analyzer.check.allTargets

Check all targets and tests (`--all-targets`).

Type: boolean

Default value: true

rust-analyzer.check.command

Cargo command to use for `cargo check`.

Type: string

Default value: "check"

rust-analyzer.check.extraArgs

Extra arguments for `cargo check`.

Type: string[]

Default value: []

rust-analyzer.check.extraEnv

Extra environment variables that will be set when running `cargo check`. Extends `#rust-analyzer.cargo.extraEnv#`.

Type: object

Default value: {}

rust-analyzer.check.features

List of features to activate. Defaults to `#rust-analyzer.cargo.features#`. Set to `"all"` to pass `--all-features` to Cargo.

Type: string

Default value: ""

rust-analyzer.check.invocationLocation

Specifies the working directory for running checks. - "workspace": run checks for workspaces in the corresponding workspaces' root directories. This falls back to "root" if `#rust-analyzer.cargo.checkOnSave.invocationStrategy#` is set to `once`. - "root": run checks in the project's root directory. This config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#` is set.

Type: string

Default value: "workspace"

rust-analyzer.check.invocationStrategy

Specifies the invocation strategy to use when running the checkOnSave command. If `per_workspace` is set, the command will be executed for each workspace. If `once` is set, the command will be executed once. This config only has an effect when `#rust-analyzer.cargo.buildScripts.overrideCommand#` is set.

Type: string

Default value: "per_workspace"

rust-analyzer.check.noDefaultFeatures

Whether to pass `--no-default-features` to Cargo. Defaults to `#rust-analyzer.cargo.noDefaultFeatures#`.

Type: string

Default value: ""

rust-analyzer.check.overrideCommand

Override the command rust-analyzer uses instead of `cargo check` for diagnostics on save. The command is required to output json and should therefore include `--message-format=json` or a similar option (if your client supports the `colorDiagnosticOutput` experimental capability, you can use `--message-format=json-diagnostic-rendered-ansi`). If you're changing this because you're using some tool wrapping Cargo, you might also want to change `#rust-analyzer.cargo.buildScripts.overrideCommand#`. If there are multiple linked projects, this command is invoked for each of them, with the working directory being the project root (i.e., the folder containing the `Cargo.toml`). An example command would be: ```bash cargo check --workspace --message-format=json --all-targets ``` .

Type: string

Default value: ""

rust-analyzer.check.targets

Check for specific targets. Defaults to `#rust-analyzer.cargo.target#` if empty. Can be a single target, e.g. `"x86_64-unknown-linux-gnu"` or a list of targets, e.g. `["aarch64-apple-darwin", "x86_64-apple-darwin"]`. Aliased as `"checkOnSave.targets"`.

Type: string

Default value: ""

rust-analyzer.checkOnSave

Run the check command for diagnostics on save.

Type: boolean

Default value: true

rust-analyzer.completion.autoimport.enable

Toggles the additional completions that automatically add imports when completed. Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.

Type: boolean

Default value: true

rust-analyzer.completion.autoself.enable

Toggles the additional completions that automatically show method calls and field accesses with `self` prefixed to them when inside a method.

Type: boolean

Default value: true

rust-analyzer.completion.callable.snippets

Whether to add parenthesis and argument snippets when completing function.

Type: string

Default value: "fill_arguments"

rust-analyzer.completion.limit

Maximum number of completions to return. If `None`, the limit is infinite.

Type: integer

Default value: 10000

rust-analyzer.completion.postfix.enable

Whether to show postfix snippets like `dbg`, `if`, `not`, etc.

Type: boolean

Default value: true

rust-analyzer.completion.privateEditable.enable

Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position.

Type: boolean

Default value: false

rust-analyzer.completion.snippets.custom

Custom completion snippets.

Type: object

Default value: {}

rust-analyzer.diagnostics.disabled

List of rust-analyzer diagnostics to disable.

Type: string[]

Default value: []

rust-analyzer.diagnostics.enable

Whether to show native rust-analyzer diagnostics.

Type: boolean

Default value: true

rust-analyzer.diagnostics.experimental.enable

Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual.

Type: boolean

Default value: false

rust-analyzer.diagnostics.remapPrefix

Map of prefixes to be substituted when parsing diagnostic file paths. This should be the reverse mapping of what is passed to `rustc` as `--remap-path-prefix`.

Type: object

Default value: {}

rust-analyzer.diagnostics.warningsAsHint

List of warnings that should be displayed with hint severity. The warnings will be indicated by faded text or three dots in code and will not show up in the `Problems Panel`.

Type: string[]

Default value: []

rust-analyzer.diagnostics.warningsAsInfo

List of warnings that should be displayed with info severity. The warnings will be indicated by a blue squiggly underline in code and a blue icon in the `Problems Panel`.

Type: string[]

Default value: []

rust-analyzer.files.excludeDirs

These directories will be ignored by rust-analyzer. They are relative to the workspace root, and globs are not supported. You may also need to add the folders to Code's `files.watcherExclude`.

Type: string[]

Default value: []

rust-analyzer.files.watcher

Controls file watching implementation.

Type: string

Default value: "client"

rust-analyzer.highlightRelated.breakPoints.enable

Enables highlighting of related references while the cursor is on `break`, `loop`, `while`, or `for` keywords.

Type: boolean

Default value: true

rust-analyzer.highlightRelated.closureCaptures.enable

Enables highlighting of all captures of a closure while the cursor is on the `|` or move keyword of a closure.

Type: boolean

Default value: true

rust-analyzer.highlightRelated.exitPoints.enable

Enables highlighting of all exit points while the cursor is on any `return`, `?`, `fn`, or return type arrow (`->`).

Type: boolean

Default value: true

rust-analyzer.highlightRelated.references.enable

Enables highlighting of related references while the cursor is on any identifier.

Type: boolean

Default value: true

rust-analyzer.highlightRelated.yieldPoints.enable

Enables highlighting of all break points for a loop or block context while the cursor is on any `async` or `await` keywords.

Type: boolean

Default value: true

rust-analyzer.hover.actions.debug.enable

Whether to show `Debug` action. Only applies when `#rust-analyzer.hover.actions.enable#` is set.

Type: boolean

Default value: true

rust-analyzer.hover.actions.enable

Whether to show HoverActions in Rust files.

Type: boolean

Default value: true

rust-analyzer.hover.actions.gotoTypeDef.enable

Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hover.actions.enable#` is set.

Type: boolean

Default value: true

rust-analyzer.hover.actions.implementations.enable

Whether to show `Implementations` action. Only applies when `#rust-analyzer.hover.actions.enable#` is set.

Type: boolean

Default value: true

rust-analyzer.hover.actions.references.enable

Whether to show `References` action. Only applies when `#rust-analyzer.hover.actions.enable#` is set.

Type: boolean

Default value: false

rust-analyzer.hover.actions.run.enable

Whether to show `Run` action. Only applies when `#rust-analyzer.hover.actions.enable#` is set.

Type: boolean

Default value: true

rust-analyzer.hover.documentation.enable

Whether to show documentation on hover.

Type: boolean

Default value: true

rust-analyzer.hover.documentation.keywords.enable

Whether to show keyword hover popups. Only applies when `#rust-analyzer.hover.documentation.enable#` is set.

Type: boolean

Default value: true

rust-analyzer.hover.links.enable

Use markdown syntax for links in hover.

Type: boolean

Default value: true

rust-analyzer.imports.granularity.enforce

Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.

Type: boolean

Default value: false

rust-analyzer.imports.granularity.group

How imports should be grouped into use statements.

Type: string

Default value: "crate"

rust-analyzer.imports.group.enable

Group inserted imports by the https://rust-analyzer.github.io/manual.html#auto-import[following order]. Groups are separated by newlines.

Type: boolean

Default value: true

rust-analyzer.imports.merge.glob

Whether to allow import insertion to merge new imports into single path glob imports like `use std::fmt::*;`.

Type: boolean

Default value: true

rust-analyzer.imports.prefer.no.std

Prefer to unconditionally use imports of the core and alloc crate, over the std crate.

Type: boolean

Default value: false

rust-analyzer.imports.prefix

The path structure for newly inserted paths to use.

Type: string

Default value: "plain"

rust-analyzer.inlayHints.bindingModeHints.enable

Whether to show inlay type hints for binding modes.

Type: boolean

Default value: false

rust-analyzer.inlayHints.chainingHints.enable

Whether to show inlay type hints for method chains.

Type: boolean

Default value: true

rust-analyzer.inlayHints.closingBraceHints.enable

Whether to show inlay hints after a closing `}` to indicate what item it belongs to.

Type: boolean

Default value: true

rust-analyzer.inlayHints.closingBraceHints.minLines

Minimum number of lines required before the `}` until the hint is shown (set to 0 or 1 to always show them).

Type: integer

Default value: 25

rust-analyzer.inlayHints.closureReturnTypeHints.enable

Whether to show inlay type hints for return types of closures.

Type: string

Default value: "never"

rust-analyzer.inlayHints.closureStyle

Closure notation in type and chaining inlay hints.

Type: string

Default value: "impl_fn"

rust-analyzer.inlayHints.discriminantHints.enable

Whether to show enum variant discriminant hints.

Type: string

Default value: "never"

rust-analyzer.inlayHints.expressionAdjustmentHints.enable

Whether to show inlay hints for type adjustments.

Type: string

Default value: "never"

rust-analyzer.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe

Whether to hide inlay hints for type adjustments outside of `unsafe` blocks.

Type: boolean

Default value: false

rust-analyzer.inlayHints.expressionAdjustmentHints.mode

Whether to show inlay hints as postfix ops (`.*` instead of `*`, etc).

Type: string

Default value: "prefix"

rust-analyzer.inlayHints.lifetimeElisionHints.enable

Whether to show inlay type hints for elided lifetimes in function signatures.

Type: string

Default value: "never"

rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames

Whether to prefer using parameter names as the name for elided lifetime hints if possible.

Type: boolean

Default value: false

rust-analyzer.inlayHints.maxLength

Maximum length for inlay hints. Set to null to have an unlimited length.

Type: integer

Default value: 25

rust-analyzer.inlayHints.parameterHints.enable

Whether to show function parameter name inlay hints at the call site.

Type: boolean

Default value: true

rust-analyzer.inlayHints.reborrowHints.enable

Whether to show inlay hints for compiler inserted reborrows. This setting is deprecated in favor of #rust-analyzer.inlayHints.expressionAdjustmentHints.enable#.

Type: string

Default value: "never"

rust-analyzer.inlayHints.renderColons

Whether to render leading colons for type hints, and trailing colons for parameter hints.

Type: boolean

Default value: true

rust-analyzer.inlayHints.typeHints.enable

Whether to show inlay type hints for variables.

Type: boolean

Default value: true

rust-analyzer.inlayHints.typeHints.hideClosureInitialization

Whether to hide inlay type hints for `let` statements that initialize to a closure. Only applies to closures with blocks, same as `#rust-analyzer.inlayHints.closureReturnTypeHints.enable#`.

Type: boolean

Default value: false

rust-analyzer.inlayHints.typeHints.hideNamedConstructor

Whether to hide inlay type hints for constructors.

Type: boolean

Default value: false

rust-analyzer.interpret.tests

Enables the experimental support for interpreting tests.

Type: boolean

Default value: false

rust-analyzer.joinLines.joinAssignments

Join lines merges consecutive declaration and initialization of an assignment.

Type: boolean

Default value: true

rust-analyzer.joinLines.joinElseIf

Join lines inserts else between consecutive ifs.

Type: boolean

Default value: true

rust-analyzer.joinLines.removeTrailingComma

Join lines removes trailing commas.

Type: boolean

Default value: true

rust-analyzer.joinLines.unwrapTrivialBlock

Join lines unwraps trivial blocks.

Type: boolean

Default value: true

rust-analyzer.lens.debug.enable

Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set.

Type: boolean

Default value: true

rust-analyzer.lens.enable

Whether to show CodeLens in Rust files.

Type: boolean

Default value: true

rust-analyzer.lens.forceCustomCommands

Internal config: use custom client-side commands even when the client doesn't set the corresponding capability.

Type: boolean

Default value: true

rust-analyzer.lens.implementations.enable

Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set.

Type: boolean

Default value: true

rust-analyzer.lens.location

Where to render annotations.

Type: string

Default value: "above_name"

rust-analyzer.lens.references.adt.enable

Whether to show `References` lens for Struct, Enum, and Union. Only applies when `#rust-analyzer.lens.enable#` is set.

Type: boolean

Default value: false

rust-analyzer.lens.references.enumVariant.enable

Whether to show `References` lens for Enum Variants. Only applies when `#rust-analyzer.lens.enable#` is set.

Type: boolean

Default value: false

rust-analyzer.lens.references.method.enable

Whether to show `Method References` lens. Only applies when `#rust-analyzer.lens.enable#` is set.

Type: boolean

Default value: false

rust-analyzer.lens.references.trait.enable

Whether to show `References` lens for Trait. Only applies when `#rust-analyzer.lens.enable#` is set.

Type: boolean

Default value: false

rust-analyzer.lens.run.enable

Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set.

Type: boolean

Default value: true

rust-analyzer.linkedProjects

Disable project auto-discovery in favor of explicitly specified set of projects. Elements must be paths pointing to `Cargo.toml`, `rust-project.json`, or JSON objects in `rust-project.json` format.

Type: string[]

Default value: []

rust-analyzer.lru.capacity

Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.

Type: integer

Default value: 128

rust-analyzer.lru.query.capacities

Sets the LRU capacity of the specified queries.

Type: object

Default value: {}

rust-analyzer.notifications.cargoTomlNotFound

Whether to show `can't find Cargo.toml` error message.

Type: boolean

Default value: true

rust-analyzer.numThreads

How many worker threads in the main loop. The default `null` means to pick automatically.

Type: integer

Default value: 0

rust-analyzer.procMacro.attributes.enable

Expand attribute macros. Requires `#rust-analyzer.procMacro.enable#` to be set.

Type: boolean

Default value: true

rust-analyzer.procMacro.enable

Enable support for procedural macros, implies `#rust-analyzer.cargo.buildScripts.enable#`.

Type: boolean

Default value: true

rust-analyzer.procMacro.ignored

These proc-macros will be ignored when trying to expand them. This config takes a map of crate names with the exported proc-macro names to ignore as values.

Type: object

Default value: {}

rust-analyzer.procMacro.server

Internal config, path to proc-macro server executable.

Type: string

Default value: ""

rust-analyzer.references.excludeImports

Exclude imports from find-all-references.

Type: boolean

Default value: false

rust-analyzer.runnables.command

Command to be executed instead of 'cargo' for runnables.

Type: string

Default value: ""

rust-analyzer.runnables.extraArgs

Additional arguments to be passed to cargo for runnables such as tests or binaries. For example, it may be `--release`.

Type: string[]

Default value: []

rust-analyzer.rustc.source

Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private projects, or "discover" to try to automatically find it if the `rustc-dev` component is installed. Any project which uses rust-analyzer with the rustcPrivate crates must set `[package.metadata.rust-analyzer] rustc_private=true` to use it. This option does not take effect until rust-analyzer is restarted.

Type: string

Default value: ""

rust-analyzer.rustfmt.extraArgs

Additional arguments to `rustfmt`.

Type: string[]

Default value: []

rust-analyzer.rustfmt.overrideCommand

Advanced option, fully override the command rust-analyzer uses for formatting. This should be the equivalent of `rustfmt` here, and not that of `cargo fmt`. The file contents will be passed on the standard input and the formatted result will be read from the standard output.

Type: string

Default value: ""

rust-analyzer.rustfmt.rangeFormatting.enable

Enables the use of rustfmt's unstable range formatting command for the `textDocument/rangeFormatting` request. The rustfmt option is unstable and only available on a nightly build.

Type: boolean

Default value: false

rust-analyzer.semanticHighlighting.doc.comment.inject.enable

Inject additional highlighting into doc comments. When enabled, rust-analyzer will highlight rust source in doc comments as well as intra doc links.

Type: boolean

Default value: true

rust-analyzer.semanticHighlighting.operator.enable

Use semantic tokens for operators. When disabled, rust-analyzer will emit semantic tokens only for operator tokens when they are tagged with modifiers.

Type: boolean

Default value: true

rust-analyzer.semanticHighlighting.operator.specialization.enable

Use specialized semantic tokens for operators. When enabled, rust-analyzer will emit special token types for operator tokens instead of the generic `operator` token type.

Type: boolean

Default value: false

rust-analyzer.semanticHighlighting.punctuation.enable

Use semantic tokens for punctuation. When disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when they are tagged with modifiers or have a special role.

Type: boolean

Default value: false

rust-analyzer.semanticHighlighting.punctuation.separate.macro.bang

When enabled, rust-analyzer will emit a punctuation semantic token for the `!` of macro calls.

Type: boolean

Default value: false

rust-analyzer.semanticHighlighting.punctuation.specialization.enable

Use specialized semantic tokens for punctuation. When enabled, rust-analyzer will emit special token types for punctuation tokens instead of the generic `punctuation` token type.

Type: boolean

Default value: false

rust-analyzer.semanticHighlighting.strings.enable

Use semantic tokens for strings. In some editors (e.g. vscode) semantic tokens override other highlighting grammars. By disabling semantic tokens for strings, other grammars can be used to highlight their contents.

Type: boolean

Default value: true

rust-analyzer.signatureInfo.detail

Show full signature of the callable. Only shows parameters if disabled.

Type: string

Default value: "full"

rust-analyzer.signatureInfo.documentation.enable

Show documentation.

Type: boolean

Default value: true

rust-analyzer.typing.autoClosingAngleBrackets.enable

Whether to insert closing angle brackets when typing an opening angle bracket of a generic argument list.

Type: boolean

Default value: false

rust-analyzer.workspace.symbol.search.kind

Workspace symbol search kind.

Type: string

Default value: "only_types"

rust-analyzer.workspace.symbol.search.limit

Limits the number of items returned from a workspace symbol search (Defaults to 128). Some clients like vs-code issue new searches on result filtering and don't require all results to be returned in the initial search. Other clients requires all results upfront and might require a higher limit.

Type: integer

Default value: 128

rust-analyzer.workspace.symbol.search.scope

Workspace symbol search scope.

Type: string

Default value: "workspace"

C++

lsp.clangd.arguments

Clangd arguments

Type: string[]

Default value: []

lsp.clangd.hidden.tweaks

Enable hidden tweaks

Type: boolean

Default value: false

lsp.use.clangd.dynamic.index

Use dynamic clangd index

Type: boolean

Default value: true

lsp.use.clangd.indexer

Use JetBrains clangd for indexing

Type: boolean

Default value: true

lsp.use.jbclangd

Download and use JetBrains clangd

Type: boolean

Default value: true

lsp.usr.jbclangd.fleetModeOn

Enables clion-related features

Type: boolean

Default value: true

Docker

docker.executable.path

Path to Docker CLI executable file.

Type: string

Default value: "docker"

Terraform

terraform-ls.experimentalFeatures.validateOnSave

Enabling this feature will run terraform validate within the folder of the file saved.

Type: boolean

Default value: false

terraform-ls.ignoreSingleFileWarning

This setting controls whether terraform-ls sends a warning about opening up a single Terraform file instead of a Terraform folder. Setting this to `true` will prevent the message being sent.

Type: boolean

Default value: false

terraform-ls.indexing.ignoreDirectoryNames

This allows excluding directories from being indexed upon initialization by passing a list of directory names. The following list of directories will always be ignored: `.git`, `.fleet`, `.idea`, `.vscode`, `terraform.tfstate.d`, `.terragrunt-cache`.

Type: string[]

Default value: []

terraform-ls.indexing.ignorePaths

Paths to ignore when indexing the workspace on initialization. This can serve as an escape hatch in large workspaces. Key side effect of ignoring a path is that go-to-definition, go-to-references and generally most IntelliSense related to local `module` blocks will not work until the target module code is explicitly opened. Relative paths are resolved relative to the root (workspace) path opened in the editor. Path separators are converted automatically to the match separators of the target platform (e.g. `\` on Windows, or `/` on Unix), symlinks are followed, trailing slashes automatically removed, and `~` is replaced with your home directory.

Type: string[]

Default value: []

terraform-ls.terraform.logFilePath

Path to a file for Terraform executions to be logged into (`TF_LOG_PATH`) with support for variables (e.g. Timestamp, Pid, Ppid) via Go template syntax `{{.VarName}}`

Type: string

Default value: ""

terraform-ls.terraform.path

Path to the Terraform binary. This is usually looked up automatically from `PATH` and should not need to be specified in majority of cases. Use this to override the automatic lookup.

Type: string

Default value: ""

terraform-ls.terraform.timeout

Overrides Terraform execution timeout in https://pkg.go.dev/time#ParseDuration compatible format (e.g. `30s`).

Type: string

Default value: ""

Vim

vimEmulationEnabled

Activates the Vim-like modal editing system inside Fleet

Type: boolean

Default value: false

DAP

tailwindcss.languageServerPath

Path to the tailwindcss language server executable (see https://github.com/tailwindlabs/tailwindcss-intellisense)

Type: string

Default value: ""

WSL

wsl.networkingMode

Describes the networking mode that is used by WSL. By default (`autoDetect`), Fleet will try to automatically detect it.

Type: N/A

Default value: null

Last modified: 15 April 2024