JetBrains Fleet 1.30 Help

Smart mode

You can use Fleet both as a lightweight text editor and an IDE. In order to save system resources, you only enable heavy IDE features when you need them.

Enable smart mode

  • Click the Smart Mode Status icon in the top-right corner. In the popup that appears, click Enable.

    Enabling smart mode

You may have to wait for preparatory activities to complete. If you want to disable smart mode later on, you can do it through the same popup.

Features

Smart mode is required for the following features:

  • Semantic highlighting (partially available without Smart Mode)

  • Code completion (partially available without Smart Mode)

  • Code refactoring

  • Navigation and search (partially available without Smart Mode)

  • Find usages

  • Type information retrieval for parameters and expressions

The list above is not exhaustive and may vary for different languages and plugins. It only serves to give you an idea of the smart features that Fleet offers.

Exclude folders

By default, Fleet excludes some folders like .git and .DS_Store from the scope of the smart mode. Fleet does not index such directories, hence they are not used for search and code intelligence features.

For optimal resources usage, you may want Fleet to also ignore other folders in the workspace.

  1. Go to Settings/Preferences ⌘ , and open the tab that corresponds to your workspace.

    The 'SPRING-PETCLINIC' tab in Settings/Preferences
  2. Click Edit in settings.json near Exclude folders from workspace.

  3. settings.json opens in your workspace root. Populate the generated exclude array with relative paths to folders you want to exclude, for example:

    "excluded": [ "dir1/dir2", "dir3" ]

Security

For Fleet’s smart mode features to work, it may need to execute project code, which might pose a problem when its source is untrusted. Actions like importing project, running scripts, and executing git commands may run malicious code. For this reason it is important to only enable smart mode when you trust the code authors.

Smart mode under the hood

Code intelligence features are provided by components called backends. Architecturally, they are separate from other components, so they may run both locally or remotely. Fleet identifies two types of backends:

  • IntelliJ IDEA-based – a headless instance of IntelliJ IDEA with plugins.

  • LSP-based – a server that talks to Fleet via the Language Server Protocol

When you enable smart mode, Fleet launches a particular type of backend depending on the language. For example, Java is handled by IntelliJ IDEA, whereas Rust support is provided by a LSP server.

Last modified: 26 February 2024