Skip to main content
Most settings are easiest to change in the Settings window (see Settings). This page describes the files behind it, for when you want to edit, share or script them.

Files and layers

Settings are combined from three layers, each overriding the one before:
  1. Built-in defaults.
  2. The global file, settings.toml in the configuration directory:
    • macOS: ~/Library/Application Support/ai.l0ng.openidea/settings.toml
    • Windows: %APPDATA%\ai.l0ng.openidea\settings.toml
    • Linux: ~/.config/ai.l0ng.openidea/settings.toml
  3. The project file, <project>/.openidea/settings.toml, written when you save a page with This project selected.
A file holds only the values that differ from the layer below. Tables merge key by key; a value or array in a higher layer replaces the lower one entirely (for example, setting files.exclude in a project replaces the global list). Some settings are ignored in the project file: mcpServer and imported color schemes (editor.customSchemes) are global only. Project trust is never read from settings.

File format

The files are TOML. Keys use the camelCase names shown below; sections group them:
  • OpenIDEA keeps your comments and formatting when it writes a file.
  • If a file can’t be parsed, or a value has the wrong type, that whole file is ignored and a warning is written to the log. The other layers still apply.
  • OpenIDEA reads the files when a window loads its settings. After editing a file by hand, restart OpenIDEA (or reopen the project) to be sure the change is picked up.

Settings pages

Installed plugins can add pages, and file icon themes with options add one each. Plugin settings are stored under [plugins.<plugin-id>].

Common keys

Top level

[general]

Settings › Appearance & Behavior › System Settings, unless noted.

[appearance]

Settings › Appearance & Behavior › Appearance, unless noted.

[editor]

Sub-tables such as [editor.general], [editor.appearance], [editor.completion], [editor.tabs], [editor.codeStyle] and [editor.encodings] hold the options of the matching Editor pages.

[files]

[notifications]

[terminal]

Settings › Tools › Terminal.

[proxy]

Settings › Appearance & Behavior › System Settings › HTTP Proxy. Used by the IDE’s own downloads, the updater and the HTTP client; with a manual proxy, processes started by the IDE get HTTP_PROXY, HTTPS_PROXY and NO_PROXY.

Other sections

The complete list of keys and their defaults is in the source: crates/ide-core/src/settings.rs and the other *_settings.rs files next to it.