Fleet 1.0 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.

Edit user settings

  • 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.

    Editing settings in settings.json

    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

  1. 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 it.

    The .fleet folder in a workspace
  2. In the .fleet folder, create the settings.json file and populate it with required settings using JSON syntax.

    For available settings and their description, refer to Settings reference section.

    Editing settings in settings.json

    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:

{ "[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:

Frontend

Key

Type

Description

internalMode

boolean

Enables actions, UI elements, and statistics that are used for internal development purposes.

You can also enable internal mode through environment variables. To do this, add the FLEET_INTERNAL_MODE_DEFAULT environment variable and set it to true.

launchTerminalOnOpen

boolean

Controls whether a terminal session should be started when opening a workspace.

terminalTypeAheadLatency

number

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.

trimTrailingSpacesOnSave

boolean

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.

See also: autoSave.

showShortcuts

boolean

Makes the shortcuts that you are using at the moment appear on the screen. This may be useful for screencasts and demos.

Shortcut is shown

Code completion

Key

Type

Description

completion.autoPopupDelay

number

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

Editor

Key

Type

Description

editor.fontSize

number

Controls the font size in the editor and terminal.

editor.showLineNumbers

boolean

Shows/hides line numbers in the gutter.

Line numbers in the gutter

editor.showFileStatus

boolean

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.

File status indicator

editor.showNavBar

boolean

Shows/hides the navigation bar in the bottom part of the editor.

Editor navigation bar

editor.showStatusBar

boolean

Shows/hides the status bar in the bottom part of the editor.

Editor status bar

editor.softWrapEnabled

boolean

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.

Soft wrap in editor

editor.semanticHighlighting

boolean

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.showCodeVision

boolean

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.

See also: editor.showDeclarationUsages

editor.showDeclarationUsages

boolean

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.

See also: editor.showCodeVision

editor.pulseEditorCaretWhenBusy

boolean

Controls whether the caret should have pulsing animation when the frontend is waiting for response from the workspace.

editor.previewTab

boolean

Controls whether a separate preview tab should open when selecting a file in the Files view.

editor.selectIdentifierOnWordSelection

boolean

Controls whether an entire identifier should be selected on double-clicking it.

The entire identifier gets highlighting on double-clicking it

editor.highlightIdentifierFromBackend

boolean

Controls whether semantic analysis should be applied when highlighting the occurrences of an identifier in the code.

editor.distractionFreeMode

boolean

Shows/hides editor tabs and moves the code closer to the editor center.

editor.showTooltipOnHover

boolean

Controls whether a tooltip with error description appears when hovering over an error in the source code.

A tooltip with error description

editor.overscrollKind

string

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.showScrollbarMarks

boolean

Shows/hides colored stripes on the vertical scrollbar that indicate warnings, errors, TODOs, and so on.

editor.alwaysShowVerticalScrollbar

boolean

Controls whether the vertical scrollbar should only appear when scrolling.

alwaysShowHorizontalScrollbar

boolean

Controls whether the horizontal scrollbar should only appear when scrolling.

editor.showBreakpoints

boolean

Shows/hides breakpoints in the gutter.

A line breakpoint

editor.lineSpacing

number

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.

Git

Key

Type

Description

git.autoFetch

boolean

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

number

Specifies the time interval in minutes for git.autoFetch.

Other

Key

Type

Description

rename.selectOnRename

boolean

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

excluded

array of strings

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"]

autoSave

boolean

Controls whether the edited file is saved automatically. Auto-save happens on every edit with the delay of 1 second.

Last modified: 02 May 2022