## Configuring PyCharm to use Per-Project Config Files

From: andrew cooke <andrew@...>

Date: Thu, 26 May 2011 10:03:55 -0400

PyCharm uses a single config for all projects.  This makes a lot of sense for
various reasons:

- it lets you configure everything just once
- it lets you switch easily between projects
- it allows multiple projects to be editined in a single JVM
(reducing memory use)

However, there are also some downsides.  For example, my experience with IDEs
(Eclipse mainly) is that you should avoid customizing the configuration
because you will be surprised/frustrated when you reinstall or move to a new
machine.

While I suspect, in retrospect, the PyCharm approach makes sense, I just spent
some time working out how to make it use a different config for each project.
Here's my approach (for Linux):

- edit idea.properties (in the bin directory), commenting out the line
#idea.config.path=\${user.home}/.PyCharm10/config
- edit pycharm.vmoptions, adding the line
-Didea.config.path=~/.PyCharm10/config

These two changes "cancel each other out" - behaviour should be the same as
before, but is now easier to configure.

To make config use a new directory:

- copy pycharm.vmoptions to your new project
- edit the copied pycharm.vmoptions to define a different idea.config.path
- define PYCHARM_VM_OPTIONS to point to the copied pycharm.vmoptions

On startup, pycharm.sh will use the copied pycharm.vmoptions (via
PYCHARM_VM_OPTIONS) and pass -Didea.config.path=... to the JVM.  This then
replaces the value that used to be defined in idea.properties.  The result is
that the configuration path is changed, allowing per-project configs
(incidentally, that also means you need to re-enter you licence code).

Andrew