intellij-ideaenvironment-variablesdevelopment-environmentconfiguration-filesintellij-14

How to configure IntelliJ products WITHOUT editing files in bin?


I'd like to set some specific options in idea.vmoptions and idea.properties for IntelliJ IDEA 14, but I don't have access to those files in C:\Program Files\... (yes, that's Windows, don't troll ;)

Is there a folder in %UserProfile% or an environment variable I could set to read those files (both vmoptions and properties!) from elsewhere?

Please don't suggest to copy the whole IDEA folder elsewhere, there's a reason why I can't access it. I would be interested in a Linux solution too, the same would most likely work on Windows.

My Research

For Mac there're specific instructions at Increasing Memory Heap, but for Linux and Windows it's just filename which are trivial to find out anyway.

I also found IntelliJ IDEA files locations, but it says can be modified in IDEA_HOME\bin\idea.properties which doesn't help since I can't access that file, but want to change properties in it.

Update: Simple Answer

Create IDEA_PROPERTIES and IDEA_VM_OPTIONS environment variables and point them to the files you want, restart IDE, done.

Also see documentation for more (and maybe report that it lacks any mention of IDEA_PROPERTIES).


Solution

  • IDEA Properties

    From this article, your options are:

    You only need to overwrite the specific things you want to change; the other layers will act as defaults.

    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.

    VM Settings

    From this article, your options are:

    This does not layer, so if you have one of these defined it overrides the others. See the article for precedence order.