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:
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 description, refer to Settings reference section.
Changes are applied immediately when you save the file. By default, files are saved automatically, so you don't need to do anything unless you have turned off the auto-save feature.
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. They 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
Open the workspace, whose settings you want to edit.
Go to Settings/Preferences ⌘, and open the tab corresponding to your workspace.
Edit workspace settings through settings.json
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.
Populate settings.json with the required settings using JSON syntax.
For available settings and their description, refer to Settings reference section.
Changes are applied immediately when you save the file. By default, files are saved automatically, so you don't need to do anything unless you have turned off the auto-save feature.
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:
For example, if you want to enable soft wraps for HTML files, specify the following in a settings file:
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:
General Fleet settings
- allowSubpixelFontPositioning
Do allow font glyph subpixel positioning
- autoSave
Controls whether the edited file is saved automatically. Auto-save happens on every edit with the delay of 1 second.
- backend.fsdMode
FSD mode
- backend.noDotIdea
Don't generate .idea in workspace root folder
- beepOnUnhandledInput
Configure which inputs should trigger a beep sound when unhandled
- closeEmptySplit
Close empty split after closing the last tab
- collapseMacroOnSave
Enable text substitution in configuration files on save if the text matches a registered macro
- createScratchOnNewFile
Create scratch on new file
- editor.alwaysShowHorizontalScrollbar
Controls whether the horizontal scrollbar should only appear when scrolling.
- editor.alwaysShowVerticalScrollbar
Controls whether the vertical scrollbar should only appear when scrolling.
- editor.caretShape
Caret shape
- editor.distractionFreeMode
Shows/hides editor tabs and moves the code closer to the editor center.
- editor.fontFamily
Font family
- editor.fontSize
Controls the font size in the editor and terminal.
- editor.guides
Visual guides
- editor.honorCamelHumps
Use "CamelHumps" words
- editor.hoverTooltipDelayMs
Tooltip delay on hover (ms)
- editor.indentStyle
Indent using Spaces or Tabs. EditorConfig may override this option
- editor.ligatures
Enable font ligatures
- editor.lineSpacing
Controls line spacing in the editor and terminal. The interval between lines is calculated as line height multiplied by this setting. Values less than 1.0 are ignored.
- editor.markupWithoutSmartMode
Highlight basic syntax errors when Smart Mode is off
- editor.overscrollKind
Controls how much blank space there is after the last line of the file.
Fixed
– five times line height.Half
– half editor height.Full
– full editor height minus two times line height.None
– no overscroll space.
- editor.previewTab
Controls whether a separate preview tab should open when selecting a file in the Files view.
- editor.pulseEditorCaretWhenBusy
Controls whether the caret should have pulsing animation when the frontend is waiting for response from the workspace.
- editor.renderRunInGutter
Show run icons in the gutter
- editor.renderWhitespace
Show whitespace
- editor.selectIdentifierOnWordSelection
Controls whether an entire identifier should be selected on double-clicking it.
- editor.semanticHighlighting
Controls whether code gets highlighted based on its semantics. In contrast with the basic highlighting that is provided by the frontend, semantic highlighting analyzes the syntax tree and takes into account things like whether a symbol is used elsewhere and the like. For a particular type of file, it's the language plugin's responsibility to implement semantic highlighting.
- editor.showAutoImportWidget
Show project auto-import widget in the top-right corner
- editor.showBreakpoints
Shows/hides breakpoints in the gutter.
- editor.showCodeVision
Shows/hides the following inlay hints at declaration sites:
Usages – shows how many times a given symbol is used in the project. Clicking the hint gives a preview of the usages, or navigates you directly to the client code if there is only one usage.
Super – the count of classes or interfaces that a given symbol inherits from. Clicking the hint gives a preview of the ancestors, or navigates you directly to the declaration if there is only one ancestor.
Run – appears at runnable code like application entry points or tests. Click to run the code.
- editor.showDeclarationUsages
Shows/hides the Usages inlay hints. By default, they are shown together with the other hints when
editor.showCodeVision
is on. This setting allows you to disable them without affecting the other hints.- editor.showFileDetails
Shows/hides the file details in the bottom part of the editor.
- editor.showFileStatus
Shows/hides the status indicator in the top-right corner of the editor. It shows the number of warnings and errors or a check mark if the file has none.
- editor.showFileTemplatesSuggestion
Suggest file templates for new files
- editor.showFloatingDebugPanel
Show floating debug toolbar
- editor.showLineNumbers
Shows/hides line numbers in the gutter.
- editor.showLineStatus
Show git changes in the gutter
Shows/hides the navigation bar in the bottom part of the editor.
- editor.showScrollbarMarks
Shows/hides colored stripes on the vertical scrollbar that indicate warnings, errors, TODOs, and so on.
- editor.showTabs
Show editor tabs
- editor.showTooltipOnHover
Controls whether a tooltip with error description appears when hovering over an error in the source code.
- editor.showVisualGuides
Show visual guides in the editor
- editor.softWrapEnabled
Enables/disables soft wraps in the editor. When soft wraps are on, the content of the lines that exceed the editor width will be wrapped onto the next line without actually inserting line breaks in the file.
- editor.tabLimit
A number of tabs that can be opened in the editor simultaneously
- editor.tabSize
Tab size
- enableIndenter
Automatically indent code fragments on editing, for example, after using a line break, closing a brace, inserting a snippet, and so on.
- enableTypeAheadInTerminal
Enable predictive rendering of symbols in terminal to reduce perceived latency
- excluded
Specifies directories that will not be indexed or scanned for configuration files. The directories are specified relative to the workspace root in the following format:
"excluded": ["dir1", "dir2"]
- ff.alwaysDisplayHighlightedFragmentsInGotoFile
When set to true Goto File panel will try to display all highlighted fragments of the query in the results, even when fragments are tiny.
- ff.autoSyncEditors
Automatically sync opened editors during a collaboration session
- ff.expandGitDiffByDefault
Expand git diff by default
- ff.formatWithIndenter
Use indenter to format files when Smart Mode is disabled
- ff.globalStatusBar
Use a single status bar instead of one per editor split
- ff.panelButtonsOnTheSides
Display panel buttons on the sides of the window instead of the title bar
- ff.previewAndPrioritiseFileSymbolsInGotoEverywhere
When set to true will always display file symbols at the top of Goto Everywhere panel, even when the query is empty.
- ff.runIconsAfterLineNumbers
Display run icon right after line numbers in gutter
- ff.showDaemonPostlines
Show errors and warnings as a widget at the end of the end of the corresponding lines
- ff.showSuspendIcons
Show icons for suspend calls on the gutter
- files.compactDirectories
Show compact folders
- files.exclude
Exclude files
Use "select" for the basic mode where keyboard navigation updates the selection, and "highlight" for the advanced mode where keyboard navigation only highlights an item with a rectangular cursor and items are explicitly selected by pressing space. This might be helpful to make file previews less distracting when navigating with the keyboard.
- files.openFileMode
Opens files mode
- files.toggleFolderMode
Expand folder mode
- fontEdging
Choose aliasing setting value for font rendering
- fontHinting
Choose hinting setting value for font rendering
- fus.sendAllowed
Send usage statistics to JetBrains. This includes anonymous data about the features and plugins you use, the project type, errors and exceptions, etc. Please note that this will not include personal data or any sensitive information such as source code, file names etc.
- git.autoFetch
Specifies whether
git fetch
should automatically run with a regular interval. This is used for showing incoming/outgoing commits in the Git panel.- git.fetchInterval
Specifies the time interval in minutes for
git.autoFetch
.- git.push.confirm
Show confirmation on push and sync
- git.revert.confirm
Show confirmation on revert
- git.user
Specifies remote to custom git user mapping. Longer remote is preferred, you can use `*` for default custom git user
- goto_panel.showShortcuts
Display helper keyboard shortcuts in Goto Panel
- inputSequenceTimeoutMilliseconds
Maximum time between inputs in a sequence (ms)
- internalMode
Enables actions, UI elements, and statistics that are used for internal development purposes.
- keymap
Keymap
- launchTerminalOnOpen
Controls whether a terminal session should be started when opening a workspace.
- localBigFileMinimumThreshold
Local files of this size (in MB) and larger will only open after an additional confirmation.
- lsp.use.jbclangd
Download and use JetBrains clangd
- mergeDirectoriesInPlacesTree
Merge directory nodes in Usages and Search Tab results tree when grouping by directories is enabled.
Disabled:
src/ |- org/ | |- name/ | | |- package | | | |- file.ext | | | | |- matchEnabled:
src/org/name/package/ |- file.ext | |- match- preferedRenderApi
Allow to choose prefered render API
- remoteBigFileMinimumThreshold
Remote files of this size (in MB) and larger will only open after an additional confirmation.
- restoreWorkspacesOnStartup
Reopen workspaces from previous session on next Fleet startup
- showEmptyStateOnLastClosedWindow
Show startup page when closing the last workspace
- showShortcuts
Makes the shortcuts that you are using at the moment appear on the screen. This may be useful for screencasts and demos.
- toolchains
Enable toolchains for the folder or its subfolders
- trimTrailingSpacesOnSave
Controls whether Fleet should remove whitespace at the end of the lines when the file is saved. The lines that currently have carets on them are not trimmed.
- useModifiedKeyIdentifiers
Identify keys as their modified version, for example "shift-!" instead of "shift-1", depending on your keyboard layout. Please note that the existing keymap will not be updated automatically, so you will need to manually update all key bindings which are affected by this change.
- useSystemFileDialog
Use system file dialog in local workspaces
- zoomLevel
Zoom
Running code
- run.recentConfigurationsSize
Size of recent configurations list in Run & Debug popup
- 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.
- terminal.caretShape
Caret shape
- terminal.clearTerminalOnCmdK
Clear terminal on ⌘K
- terminal.copyOnSelection
Copy text from terminal on selection
- terminal.enableFocusEditorOnEsc
Focus main panel on Esc
- terminal.enableFocusPanelsInApps
Focus main panel on Esc in interactive programs like vim
- terminal.fontFamily
Font family
- terminal.fontSize
Font size in pixels
- terminal.lineSpacing
Line spacing
- terminal.profiles
Configure available shells
.NET
- 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.
- dotnet.dotsettings.enabled
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.
- 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.
Java/Kotlin
- java.runtimes
List of JDKs/JREs homes on the local machine
- jps.version
JPS standalone version
- jps.wrapper.version
JPS wrapper version
- kotlin.version
Kotlin dependencies version
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.
- quickFixes.preview.contextLines
Number of lines to show around changed lines in the Quick Fixes preview
- quickFixes.preview.mergeDeletesInserts
Merge consecutive insertions and deletions in the Quick Fixes preview
- quickFixes.preview.useRealDiff
Show insertions and deletions on the same lines in the Quick Fixes preview
- rename.autoRenameOnTyping
Rename symbol usages automatically when typing inside symbol definitions
- rename.selectOnRename
Controls whether an entire symbol should be selected when you invoke the Rename refactoring (Code | Refactor | Rename) on it.
JavaScript
- formatter.prettier.enabled
Enables Prettier to be used instead of the default formatter, when it's installed in the project
- formatter.prettier.glob
Specifies files with glob to which Prettier is applied
Go
- go.roots
List of the Go compilers available on your local machine
Python
- python.interpreters
List of the python interpreters installed on your local machine