Changing IDE default directories used for config, plugins, and caches storage

Common cases when you may need to change the default locations of the IDE files:

  • user profile drive runs out of space
  • disk is slow and you want to use faster HDD or SSD for caches
  • default user profile points to the UNC path unsupported by the IDE
  • home directory is on a network drive
  • user profile directory is not detected correctly (Java bug 4787931)
  • you want to create a portable installation on a USB stick
  • home directory is encrypted and slows down the IDE or causes caches corruption
  • caches should be excluded from the home directory backup
  • antivirus or search indexer is scanning the home directory affecting IDE performance
Locations can be changed by editing idea.properties file. The easiest way is to use Help | Edit Custom Properties… menu action. It will create a copy of this file in the appropriate location so that the original file in the IDE bin subdirectory remains unmodified and doesn't cause conflicts during the patch updates.
 
Follow the comments in IDE_HOME\bin\idea.properties file to change the defaults, make sure to uncomment the lines defining these properties:
  • idea.config.path
  • idea.system.path
  • idea.plugins.path
  • idea.log.path

Example:

idea.config.path=c:/work/idea/caches/trunk-config
idea.system.path=c:/work/idea/caches/trunk-system
idea.plugins.path=c:/work/idea/caches/trunk-plugins
 
 
Changing the location of idea.properties file
 
If needed, you can also override the location of idea.properties file using IDE specific environment variable:
  • IDEA_PROPERTIES — IntelliJ IDEA
  • CLION_PROPERTIES — CLion
  • APPCODE_PROPERTIES — AppCode
  • PYCHARM_PROPERTIES — PyCharm
  • RUBYMINE_PROPERTIES — RubyMine
  • DATAGRIP_PROPERTIES — DataGrip
  • STUDIO_PROPERTIES — Android Studio
  • WEBIDE_PROPERTIES — WebStorm
  • PHPSTORM_PROPERTIES — PhpStorm
  • GOLAND_PROPERTIES — GoLand
  • RIDER_PROPERTIES — Rider
  • RUSTROVER_PROPERTIES — RustRover

For example: IDEA_PROPERTIES=C:\Users\USER\idea.properties

 

The order in which IDE will read idea.properties files is as follows:

  1. Environment variable (%IDE%_PROPERTIES)
  2. HOME\idea.properties (where HOME is the user's home directory on the system)
  3. IDE_HOME\bin\idea.properties
  4. Default IDE configuration directory

Unlike .vmoptions file handling, idea.properties file with the higher priority doesn't undefine or discard variables already defined in the file location with lower priority. If there is the same variable defined in multiple properties files, the value of the variable from the higher priority file will be used, this way you can override the defaults already defined in IDE_HOME\bin\idea.properties in another file in the IDE default config directory or defined via the %IDE%_PROPERTIES environment variable.

 

Changing the default location of the IDE files using the Toolbox App

If you use the Toolbox App, note that the Toolbox App provides the possibility to set a custom location for each installed IDE in its own settings.

To change the default location of a particular tool, hover an IDE item in the Toolbox Tools tab, press a gear icon, click Settings | Configuration | Custom JVM options file location | System, plugins, config and logs directory.

213 out of 344 found this helpful
81 comments
Avatar
Permanently deleted user

Yes, changing xmx helped. Thanks.

Edited by Permanently deleted user
0
Avatar
Permanently deleted user

A couple of questions:

  1. What happens when I upgrade using the Toolbox? Will I still be able to roll back to the previous version? (Not that I've ever needed to... :-) )
  2. How does this relate to the "System and config directory" setting in the Toolbox? Changing this setting and pointing it at the .IntelliJIdea2017.1 directory seems to work. (Note: I've renamed the directory in the picture)

0

1. Yes

2. It edits the same file you would edit manually

0
Avatar
Permanently deleted user

Here are straightforward instructions if you need two separate instances of the IDE running in a way
instance #2 won't be locked if instance #1 has a modal window, for PHPStorm64 using Java 64 under
Windows (you can change the directories to your liking):

- Copy the entire C:\users\xxx\.PhpStorm2017.2 folder to, say, d:\apps\JetbrainsSecondInstance\AlternativeConfFolder
- Copy the C:\Program Files\JetBrains\PhpStorm 2017.1.2\bin\idea.properties to, say, d:\apps\JetbrainsSecondInstance\idea.properties
- Edit the d:\apps\JetbrainsSecondInstance\idea.properties and uncomment (remove the #) and change the following lines (note the forward slashes):

idea.config.path=d:/Apps/JetbrainsSecondInstance/AlternativeConfFolder/config
idea.system.path=d:/Apps/JetbrainsSecondInstance/AlternativeConfFolder/system
idea.plugins.path=${idea.config.path}/plugins
idea.log.path=${idea.system.path}/log

- Create a d:\apps\JetbrainsSecondInstance\Phpstorm2ndInstance.bat bat file that reads:

@echo off
SET PHPSTORM_PROPERTIES=d:\apps\JetbrainsSecondInstance\idea.properties
start "" "c:\Program Files\JetBrains\PhpStorm 2017.1.2\bin\phpstorm64.exe"

- Launch the .bat file. You're done! That is a totally separate instance and will not halt when instance #1 has a modal window locking things up.

1
Avatar
Permanently deleted user

#1
idea.properties in Default IDE configuration directory (assuming it is/was <SYSTEM DRIVE>\Documents and Settings\<USER ACCOUNT NAME>\.<PRODUCT><VERSION>) are ignored.

Windows 7 Professional 64bit SP1
IntelliJ Idea 2017.2.6

#2 Also, why does *every* update ignore/discard these settings, so that I have to re-do them manually all the time?

0
Avatar
Permanently deleted user

The ID for Rider is missing

0

Thanks, added Rider and GoLand.

0
Avatar
Permanently deleted user

For Clion, the correct environment variable is CL_PROPERTIES.  At least for 2018.1 on Linux.

Edited by Permanently deleted user
0

"Follow the comments in IDE_HOME\bin\idea.properties file to change the defaults"

Um I had it create the idea.properties file, and this is the only thing in it:

# custom PhpStorm properties

The main thing I want to achieve is moving where scratch files are stored. I thought they were 'per project', and on my office computer I created one to throw code in, then went away for the weekend, and had no access to it on my laptop. (The project directory is synced via OneDrive). Very frustrating. Workaround for now is having a directory in the project called .ht-scratches set to be expluded from upload and save files in there

 

Edited by Greg Kirsch
0

Comments are available only in the original file inside the IDE installation directory, they are not available in the copy of this file that is created when you use Help | Edit Custom Properties.

0

Ah, DOH! Thanks. I misread that it it would be in the one it created. I'm getting to old to be up programming 28 hours straight... LOL

0

One last thing, it created the custom idea.properties file inside of C:\Users\MyName\.PhpStorm2018.2\config, but I'm wanting to change the location of the config folder to be G:\OneDrive\AppData\PhpStorm\config....

So do I copy over the config dir to the new location and add

idea.config.path=G:\OneDrive\AppData\PhpStorm\config

To the copy in the original location, or do I try to make the change to the original one in the installation directory.

While I'm asking, for keeping sync between two system, (never running at same time), should I also sync the system directory as well? I know one minor peeve is every time I go from one machine to the other, I have to re setup deployment options for every project (connections are on both machines, but I have to set which one is default and the directory mapping).

0

You'd need to change the location of the properties file itself as described at the end of the document (using the environment variable).

Note that you can sync settings using JetBrains Account instead: https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html (Share your settings with the Settings Sync plugin).

0

Awesome, thanks for the info, should make things nice and smooth :)

0
Avatar
Permanently deleted user

Hello,

I created a new folder in my Windows user account like this: "C:/Users/<username>/Configurations/PHPStorm" and placed in it all content of "C:/Users/<username>/.PhpStorm2018.2".

Also, I edited the idea.propierties located in "C:/Users/<username>/Configurations/PHPStorm/config/idea.propierties" to change configuration directories:

idea.config.path=C:/Users/<username>/Configurations/PHPStorm/config
idea.system.path=C:/Users/<username>/Configurations/PHPStorm/system
idea.plugins.path=${idea.config.path}/plugins
IDEA_PROPERTIES=C:/Users/<username>/Configurations/PHPStorm/config

And finally, I erased "C:/Users/<username>/.PhpStorm2018.2" folder. 

The problem is that when I open PHPStorm again, the directory "C:/Users/<username>/.PhpStorm2018.2" is recreated.

What I'm doing wrong?

0

IDEA_PROPERTIES is the environment variable that must be set in the system, it's not a property in the file.

0
Avatar
Permanently deleted user

Then, where I need to put or edit the line "IDEA_PROPERTIES=C:/Users/<username>/Configurations/PHPStorm/config" ?

You say that I need to set this in the system. Do you mean that I need to set something in Windows?

Edited by Permanently deleted user
0
Avatar
Permanently deleted user

Okey I created a new environment variable following the steps of the link called "IDEA_PROPERTIES" with the value "C:/Users/<username>/Configurations/PHPStorm/config". Then I deleted the line "IDEA_PROPERTIES=C:/Users/<username>/Configurations/PHPStorm/config" from the idea.propierties file.

When I opened again PHPStorm, again created a new folder in my user directory. What I'm doing wrong?

0

As outlined in this document, the environment variable must point to idea.properties file itself, not to a directory. There is even an example:

IDEA_PROPERTIES=C:\Users\USER\idea.properties

Don't forget to reboot or logout/login.

0

And since you are using PhpStorm, the environment variable must be PHPSTORM_PROPERTIES instead of IDEA_PROPERTIES.

0
Avatar
Permanently deleted user

Ok, now works like a charm! Thank you!

0
Avatar
Permanently deleted user

Is it possible to only change the temp/tmp folder location?

I need this because I keep the system and config folder inside idea.home.path because settings etc have to be reimported on every update to avoid crashes + config loss

This works great BUT installing patch updates fails because the temp folder is inside of the idea installation.

So can I only move the temp folder out there?

0
Avatar
Permanently deleted user

OK, Thanks

0

What is %IDE%_PROPERTIES about IdeaIC (IntelliJ IDEA Community Edition)?

 
 
 
Edited by S. M. Mir-Ismaili
0

Both IntelliJ IDEA Ultimate and Community share the same environment variable for the properties file location: IDEA_PROPERTIES.

1
Avatar
Permanently deleted user

Not sure when it changed, but `$CL_PROPERTIES` is not valid for CLion, at least for 2018.3.2 on 64 bit Linux.  Reference `$IDE_HOME/bin/clion.sh`, the script tests for variable named `"$CLION_PROPERTIES"`

if [ -n "$CLION_PROPERTIES" ]; then ...

 

1

This has not been a very user-friendly experience. I'm just now beginning to learn object-based programming, starting with Kotlin (read as: I'm a noob). I shouldn't have to be an advanced software-engineer just to figure out how to relocate a config folder. You know what would be great? Building this feature into the software itself. Seems like this is something you could just put into the software's preference settings.

In addition, I feel like this article isn't written very clearly. I think it makes some excluding assumptions about knowledge and experience level.

It starts off telling me "the easiest way" to edit the idea.properties file is by using help>edit custom properties which leaves the original file unmodified, but then it doesn't tell me what to do next after opening up this blank idea.properites file. Rather, it tells me to open the original file located in IDE_HOME and modify it directly. Wait... I thought we weren't modifying the original file...ok...now we are? And what the heck is IDE_HOME? (Don't worry, I was able to figure this part out on my own, but it just goes to show you the anti-beginner tone and lack of clarity of the article).

So when I do create a blank idea.properties file, it puts it in the very same config folder I am trying to relocate. This absolutely makes no sense. The way around it? All I have to do is "override the location of idea.properties file using IDE specific environment variable". umm... what? The article just assumes everybody knows what this is and how to do this? This made no sense to me. I was able to get a bit more clarity by reading through some of the comments above, but it just points me to an entirely different website which gives no specifics on how to apply this to IntelliJ.

Can you please get somebody beginner-friendly on your team?

0

Please sign in to leave a comment.

Have more questions?

Submit a request