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
- 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
- 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:
- Environment variable (%IDE%_PROPERTIES)
- HOME\idea.properties (where HOME is the user's home directory on the system)
- IDE_HOME\bin\idea.properties
- 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.
Please sign in to leave a comment.
The file should be located outside the IDE installation directory where it has write permissions.
Edit Custom Properties will not work properly when the location is overridden: https://youtrack.jetbrains.com/issue/IJPL-37142/Revisit-.properties-file-loading-scheme .
Hi Serge, thanks for your answer ! if anderstood you right i configure it in my environment variables like so. But still not working well :
For example if open help→edit customer properties , intellij try to open the default location : {user.home}\AppData\Roaming\JetBrains\IntelliJIdea2024.1\idea.properties:
File does not exist: {user.home}\AppData\Roaming\JetBrains\IntelliJIdea2024.1\idea.properties
Redouane Najib If you want to override the location of
idea.properties, use the environment variables as documented (IDEA_PROPERTIES=C:\Users\USER\idea.properties).Hi, i am trying to costomize my Intellij. I tried to change my user.home config but intellij stay looking for idea.properties in my default ${user.home}\AppData\Roaming\JetBrains\IntelliJIdea2024.1\idea.properties
In idea.properties i changed as described above :
user.home=c:/dev/tools
idea.home.path=${user.home}/ideaIU-2024.1.4
# Use ${xxx} where xxx is any Java property (including defined in previous lines of this file) to refer to its value.
# Note for Windows users: please make sure you're using forward slashes: C:/dir1/dir2.
any help ? thx in advise
Derick I updated the document. For any new IDE, you can find it out yourself by opening
<idename>.bator.shfile in thebindirectory, then searching forIDE_PROPERTIES_PROPERTY. This line will contain the environment variable name of the property that is specific to this IDE, for example,rustrover.bat:What's the variable name for Rubymine or the new Rust IDE?
Luelze Just google how to set up environment variables on the remote Linux system.
When idea.plugins.path has been changed, there is an error with com.intellij.platform.images plugin:
Plugin 'com.intellij.platform.images' is compatible with IntelliJ IDEA only because it doesn't define any explicit module dependencies.
If /plugins directory and sub-dir /platform-images is created in root path with a copy of lib/platform-images.jar & resources_en.jar, the error disappears.
Luelze Please see https://youtrack.jetbrains.com/issue/CWM-6669/Can-use-Gateway-on-remote-machines-with-a-file-system-that-doesnt-support-file-locks#focus=Comments-27-6304753.0-0. You can use these environment variables to override IDE config/system directories:
This does not work for me as at 2023-08-18
The JetBrains toolbox does NOT allow me to change the install location of the IDEs or the ToolBox default itsself.
Can someone from JetBrains (Serge Baranov?) confirm if the ToolBox behaviour has changed, to prevent this configuration item being edit-able, please?
Vidyasagarareddy Agraharam Please contact your security team for assistance, they should know how to configure Device Guard to allow IntelliJ IDEA to work properly.
sorry to bother again Serge Baranov, didn't understand this phrase -- IdeaIC2022.2\tmp to the exclusions list of your software, where exactly i need to add. please help me here. thanks in advance!
You need to add IdeaIC2022.2\tmp to the exclusions list of your software so that it allows to load libraries from this directory. It may also help if you update to IntelliJ IDEA 2022.3 where the location of native libraries has changed and they should be also signed.
Hi, am getting the error like below, even I followed the 'Device Guard' also, but still getting the same error, am not able to start the IntelliJ 2022 version. I'm having Windows 10 O.S of 64 bit one.
Error Details:
2022-12-04 22:43:59,750 [ 98] WARN - #c.i.i.StartupUtil - Unable to load JNA library (OS: Windows 10 10.0)
java.lang.UnsatisfiedLinkError: C:\Users\<UserName>\AppData\Local\JetBrains\IdeaIC2022.2\tmp\jna15202628661876121531.dll: Your organization used Device Guard to block this app. Contact your support person for more info
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
Please help me here, what and where exactly need to exclude the dir/files in which location.
For anyone coming here looking for a way to start multiple instances of IDEA this way - on Windows you must execute idea.bat rather than idea64.exe for this to work. See IDEA-273669
Simple steps if you want to change your Jetbrains IDEA Default location from C drive to some other drive(I will take D drive).
1. If you are opening for first time, open IDE, and click on "Do not import settings" and continue.
2. A welcome to IDE(Webstorm, IntelliJ, etc...) will pop up which always opens if any project is not opened.
3. Click on bottom left "Options Menu"/Settings Icon and Select "Edit Custom Properties". A input box will pop up.
4. Enter these 4 lines:
Replace "your username" with your username.
5. Save and Close the windows. Reopen the app.
6. Tadaa. It has created the folder in your given directories. Go and check and have fun. Enjoy!!
@Zsmith4 Why in the world would you ever install any IDE or program that you want to be able to edit in C:\Program Files. As for "valid security reasons", any program you install can just grab admin rights and do whatever, there's no point to the security since it only bothers the user. You should also be using something like Notepad++ to edit these kinds of files to avoid them becoming a jumbled mess.
Any half-baked programmer knows how to circumvent these things. This is purely a "you" and windows issue.
See https://intellij-support.jetbrains.com/hc/articles/206544869. Don't edit files inside IDEA_HOME. Problem solved.
https://youtrack.jetbrains.com/issue/IDEA-162752#comment=27-1659279 has more details if you are relocating IDE folders via .properties.
When updating, the updater finds a problem, with the only solution to either replace or ignore the file bin/idea.properties (see image).
If I select replace, I'll lose my adaptations.
If I select ignore, I might miss on new features introduced by Jetbrains in the update.
Can you add another option called 'merge', or 'compare' which would offer me more control on what values to choose for individual properties?
Thanks in advance,
:re
Just a minor note: above it says "Follow the comments in idea.properties file to change the defaults..." But with IntelliJ IDEA 15, on OS X, my $IDE_HOME/bin/idea.properties has no comments whatsoever in it, just 19 lines of normal-looking properties (none of those being the path properties listed above).
[Separately, since I have a single (SSD) drive, and full permissions to all the files and directories under ~/Library/*/IntelliJIdea15, it seems nothing would be achieved by changing those properties (or making the current directories be symlinks to other locations on the same drive).]
...back to restarting IntelliJ every 30-40 minutes because it "Failed to save settings"...
L
Please vote for https://youtrack.jetbrains.com/issue/IDEA-154225.
I have a similar (bus slightly different) scenario. I need to have the project build directories for different projects stored in project-specific locations because of compartmentalization needs. Each project has a separate truecrypt volume with its data and so I need the source code to not "wander" when I build. Isn't there any way other than setting the entire system directory to re-point the build path? I suppose I could keep a separate idea.properties for each project's work and move them around as I start/close CLion to work on each project, but this seems hackish at best. I guess I could also just have a completely separate CLion install per project inside the truecrypt container with the idea./properties customized, but that seems kind of silly and wasteful (and a real pain since I'd have to re-do all of my settings/plugins/etc. for every project).
I'm still evaluating CLion and i *REALLY* like it so far. It's a shame that something as simple as a project specific build space setting will likely be a deal breaker on being able to use it.
I'm open to any suggestions.
Where exactly do you fnd & change the value?
It works.
But there should be more convenient way to fix "idea.system.path" as its default value was prevented CMake from correct work. In my case, cyrillic characters were presented in my <user name> so CMake failed.
I find it easier to move configuration folder to another location (SSD or another drive) and just create a soft link pointing to it. This way it's transparent to Intellij and there is no need to change the configs.
@B3162696: Can you imagine there are organizations on this planet (banks, military, ...) which do not allow the average user to install software like IDEs on their own or in self defined places apart from c:\Program Files. Therefore it is always convenient if the configuration of the tools can be outsourced to user space ...
@Serge:
Thanks for the quick reply. Maybe you should put that link and the warning "Don't edit files inside IDEA_HOME." at the top of this page?
I am very new to Idea, but isn't it much easier for Windows Users to set user.home as a System property in idea{,64}.exe.vmoptions, e.g., to -Duser.home=C:\Users\xxx? For some strange reason Windows/Java uses %HOMESHARE% instead of %USERPROFILE% as User Home (and %HOMESHARE% here points to a very slow network drive ...
And changing the path didn't work anyway. It still looks to the network location during a build
This issue is extremely frustrating for Windows users (and it shows a bias towards Mac/Java). By default, Windows 8 does not allow users to modify files in the Program Files directory (for valid security reasons). In addition, when you open the config file using notepad, it's munged together with no line breaks. So you spend 10 minutes hitting a line return in front of every '#' in order to read it, but can't save it once you modify it. No amount of manipulating in the UI allows you to change the default home directory and it always leads to a build error. JetBrains needs a more elegant solution to this that is not focused around working on a Mac.