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

Check smart mode status

  • Open the Smart Mode Status popup and click the expand icon. Green circles indicate languages for which smart mode is currently on.

    Smart mode status

Features

Smart mode is required for the following features:

  • Semantic highlighting

  • Code completion

  • Code refactoring

  • Navigation

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

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: 07 June 2022