JetBrains Rider 2018.2 Help

Tuning JetBrains Rider

Besides the standard options available In the Settings/Preferences dialog (Ctrl+Alt+S), JetBrains Rider enables you to perform low-level configuration.

Note that this may lead to unexpected problems and may render your JetBrains Rider installation inoperable. It is strongly recommended that you contact JetBrains Support for instructions regarding the options and values that might help you with whatever issue you are trying to solve.

Configuring JVM options

JetBrains Rider runs on the Java Virtual Machine (JVM), which has various options that control its performance. The default options used to run JetBrains Rider are specified in the following file:

<IDE_HOME>\bin\rider64.exe.vmoptions (for the default 64-bit JVM)
<IDE_HOME>\bin\rider.exe.vmoptions (for optional 32-bit JVM)
JetBrains Rider.app/Contents/bin/rider.vmoptions
<IDE_HOME>/bin/rider64.vmoptions (for the default 64-bit JVM)
<IDE_HOME>/bin/rider.vmoptions (for optional 32-bit JVM)

To configure JVM options:

  • On the Help menu, click Edit Custom VM Options.

JetBrains Rider creates a copy of the file with JVM options in the configuration directory and opens it in a new editor tab. Any values that you change in this file will override the values from the original default file.

If you do not have write access to the JetBrains Rider configuration directory, you can add the RIDER_VM_OPTIONS environment variable to specify the location of the file with JVM options. The values in this file will override the corresponding values from both the original default file and the copy located in the JetBrains Rider configuration directory.

Common options

The default values of the JVM options should be optimal in most cases. The following are the most commonly modified ones:

Option

Description

-Xmx

Limits the maximum memory heap size that the JVM can allocate for running JetBrains Rider. Default value depends on the platform. If you are experiencing slowdowns, you may want to increase this value, for example, to set the value to 2048 megabytes, change this option to -Xmx2048m.

-Xms

Specifies the initial memory allocated by the JVM for running JetBrains Rider. Default value depends on the platform. It is usually set to about half of the maximum allowed memory (-Xmx), for example, -Xms1024m.

-XX:NewRatio

Specifies the ratio between the size of the young and old generation of the heap. In most cases, a ratio between 2 and 4 is recommended. This will set the size of the young generation to be 1/2 to 1/4 of the old generation correspondingly, which is good when you are often working on one project and only a few files at a time. However, if you are constantly opening new files and switching between several projects, you may need to increase the young generation. In this case, try setting -XX:NewRatio=1, which will make the young generation as large as the old generation, allowing objects to remain in the young generation for longer.

For more information about available JVM options, see the java reference for Windows or macOS/Linux.

Configuring platform properties

JetBrains Rider enables you to customize various platform-specific properties, such as the path to user-installed plugins and the maximum supported file size. The default properties used to run JetBrains Rider are specified in the following file:

<IDE_HOME>\bin\idea.properties
JetBrains Rider.app/Contents/bin/idea.properties
<IDE_HOME>/bin/idea.properties

To configure platform properties:

  • On the Help menu, click Edit Custom Properties.

JetBrains Rider creates an empty idea.properties file in the configuration directory and opens it in a new editor tab. Any properties that you add to this file will override the corresponding properties in the original default file.

If you do not have write access to the JetBrains Rider configuration directory, you can add the RIDER_PROPERTIES environment variable to specify the location of the idea.properties file. The properties in this file will override the corresponding properties in both the original default file and the one located in the JetBrains Rider configuration directory.

Common properties

The following properties are commonly changed by users solving specific issues:

  • Location of the default IDE directories may need to be moved, for example, if the user profile drive runs out of space or is located on a slow disk, if the home directory is encrypted (slowing down the IDE) or located on a network drive, if you want to create a portable installation or exclude caches from home directory backups, and so on.

    You can use macros with any property name to insert its value, for example, use ${user.home} (standard Java system property) to specify paths relative to the user's home directory.

    Property

    Path to ...

    idea.config.pathConfiguration directory
    idea.system.pathSystem directory
    idea.plugins.pathPlugins directory
    idea.log.pathLogs directory
  • Limits that can affect performance:

    Property

    Description

    idea.max.content.load.filesize

    Maximum size of files (in kilobytes) that JetBrains Rider is able to open. Working with large files can affect editor performance and increase memory consumption. Default value is 20000.

    idea.max.intellisense.filesize

    Maximum size of files (in kilobytes) for which JetBrains Rider provides code assistance. Code assistance for large files can affect editor performance and increase memory consumption. Default value is 2500.

    idea.cycle.buffer

    Maximum size of the console cyclic buffer (in kilobytes). If the console output size exceeds this value, oldest lines are deleted. To disable the cyclic buffer, set idea.cycle.buffer.size=disabled.

    idea.max.vcs.loaded.size.kb

    Maximum size (in kilobytes) that JetBrains Rider loads for showing past file contents when comparing changes. Default value is 20480.

JetBrains Rider provides a number of other properties that define interaction with the environment (window managers, launchers, file system, and so on). Most of them are like hidden settings (in the sense that they are not evidently exposed), which may need to be enabled or disabled in certain cases. It is strongly recommended to change these properties only after contacting JetBrains Support for assistance.

Selecting the Java runtime for JetBrains Rider

JetBrains Rider includes JetBrains Runtime (based on OpenJDK 8), which is used by default.

To switch the Java runtime used to run JetBrains Rider:

  1. On the Help menu, click Find Action, or press Ctrl+Shift+A.

  2. Find and select the Switch Boot JDK action.

  3. Select the desired JDK and click OK.

The path to the selected runtime is stored in the rider.jdk file in the JetBrains Rider configuration directory. To revert to the default JetBrains Runtime, you can delete this file, or modify the path to point to another Java runtime.

You can also override the runtime used for JetBrains Rider by adding the RIDER_JDK environment variable with the path to the desired JDK home directory.

Default IDE directories

By default, JetBrains Rider stores user-specific files (configuration, caches, plugins, logs, and so on) in the user's home directory. However, you can change the location for storing those files, if necessary.

Configuration directory

The JetBrains Rider configuration directory contains XML files with personal settings, such as, keymaps, color schemes, and so on. It is also the default location for user-defined VM options and platform properties files.

Syntax
%HOMEPATH%\.<product><version>\config
Example
C:\Users\JohnS\.Rider2018.2\config
Syntax
~/Library/Preferences/<product><version>
Example
~/Library/Preferences/Rider2018.2
Syntax
~/.<product><version>/config
Example
~/.Rider2018.2/config

You can change the location of the JetBrains Rider configuration directory using the idea.config.path property.

You can share your personal IDE settings by copying the files from the configuration directory to corresponding folders on another JetBrains Rider installation. Make sure that JetBrains Rider is not running to avoid erasing the copied files when you shut down the IDE. The following table lists subfolders in the JetBrains Rider configuration directory and corresponding settings that are contained in them:

Directory

User settings

codestyles

Code style schemes

colors

Customized editor color and font schemes

fileTemplates

User-defined file templates which pertain to the entire JetBrains Rider workspace

filetypes

User-defined file types

inspection

Code inspection profiles

keymaps

Customized keyboard shortcuts

options

Various options, for example, feature usage statistics and macros

scratches

Scratch files and buffers

templates

User-defined live templates

tools

Configuration files for user-defined external tools

shelf

Shelved changes

System directory

The JetBrains Rider system directory contains caches and local history files.

Syntax
%HOMEPATH%\.<product><version>\system
Example
C:\Users\JohnS\.Rider2018.2\system
Syntax
~/Library/Caches/<product><version>
Example
~/Library/Caches/Rider2018.2
Syntax
~/.<product><version>/system
Example
~/.Rider2018.2/system

You can change the location of the JetBrains Rider system directory using the idea.system.path property.

Plugins directory

The JetBrains Rider plugins directory contains user-installed plugins.

Syntax
%HOMEPATH%\.<product><version>\config\plugins
Example
C:\Users\JohnS\.Rider2018.2\config\plugins
Syntax
~/Library/Application Support/<product><version>
Example
~/Library/Application Support/Rider2018.2
Syntax
~/.<product><version>/config/plugins
Example
~/.Rider2018.2/config/plugins

You can change the location of the JetBrains Rider plugins directory using the idea.plugins.path property.

Logs directory

The JetBrains Rider logs directory contains product logs and thread dumps.

Syntax
%HOMEPATH%\.<product><version>\system\log
Example
C:\Users\JohnS\.Rider2018.2\system\log
Syntax
~/Library/Logs/<product><version>
Example
~/Library/Logs/Rider2018.2
Syntax
~/.<product><version>/system/log
Example
~/.Rider2018.2/system/log

You can change the location of the JetBrains Rider logs directory using the idea.log.path property.

Last modified: 21 December 2018