Is there a way to sync settings across JetBrains IDEs?

18,533

Solution 1

No, there is not, however there is an open feature request for this to be added to JetBrains' IDEs.

Solution 2

There's now the Settings Repository plugin, but it still has quite a large number of bugs in cross-IDE synchronization.

Solution 3

Not relevant to the question asked, but possibly helpful in other situations:

Setting Repositories

The first way to synchronize settings is using Settings Repositories. The way it works is that it uses an external Git repository to share the settings. Each IDEA instance then connects to this repository to fetch the settings. In case one instance makes changes in the settings it can be propagated back to the repository. What's nice is that it is a plain old Git repo. That means your settings are backed up and under version control. So you can track and rollback the changes if necessary or even allow other people to create Pull Requests with some tweaks to your settings.

To enable this feature just go to:

File → Settings Repository

To configure multiple repositories go to

Settings → Tools → Settings Repository

What is it good for? Well, maybe there are some settings you want to share with your teammates to ensure consistency on your project. But then, of course, you want some of your setting to be personal and just for you. After all, every user has different preferences.

Synchronize settings using JetBrains Account

The second way of settings synchronization was available for some time as a standalone optional IDE plugin (which required an invitation to use), but now is integrated and enabled by default since 2017.3. It utilizes your JetBrains account to synchronize the data.

Under the hood, it actually uses a variation of Settings Repository mechanism, but you are shielded from it. It is much more convenient because you don't have to create a Git Repo to store the settings and provide its address to your IDE. On top of that, unlike Settings Repositories, it allows you to also synchronize your installed plugins.

The first thing you need to do is to make sure you have a JetBrains account. Once you have your JetBrains account, you'll need to Log in to IDEA using it. Just head to Help → Register. Then you just need to select Activate new License with JetBrains Account and enter your credentials. Then click Activate.

After your JetBrains account is linked, you should see a new Gears icon which is used to manage Settings synchronization: enter image description here

Installed plugin synchronization is handled separately from the rest of the settings. You can either manually trigger plugin sync or enable silent automatic synchronization of your plugins in the background.

enter image description here

More detailed instructions

If you are interested in more detailed instructions and explanations, you can find them it this blog post I wrote:

IntelliJ IDEA Tips & Tricks: Synchronization and Sharing of Settings

Solution 4

You can use the new Settings Sync plugin that has just been released. It lets you sync UI and editor settings, keymaps, and the list of enabled and disabled plugins across all IntelliJ-platform-based IDEs. https://plugins.jetbrains.com/plugin/9922-ide-settings-sync

Solution 5

2021 new feature:

File -> Manage IDE Settings -> Sync Settings to JetBrains Account

It takes care of the sync for you in the background to all your JetBrains IDEs, hands free.

enter image description here

Share:
18,533
orome
Author by

orome

"I mingle the probable with the necessary and draw a plausible conclusion from the mixture."

Updated on June 08, 2022

Comments

  • orome
    orome almost 2 years

    What is the best way to sync similar settings across JetBrains IDEs? For example I have PyCharm and PhpStorm, both of which support CSS and HTML, and I would like to have all of the syntax coloring, inspections, etc. be the same for both PyCharm and PhpStorm. Similarly, I have TODO patterns in both IDEs that I'd like to synchronize.

    Is there a way to accomplish this that's reliable and not to tedious or complicated?

  • orome
    orome over 9 years
    Did you actually try this with different languages (which is what the question is about)?
  • VitalyB
    VitalyB over 8 years
    I had quite a bad time with this plugin. It seemed initially to be working, but keymaps refused to sync and the whole thing was very buggy. I ended up doing it manually via Import/Export :(
  • chaudharyp
    chaudharyp over 8 years
    has there been an update on this recently? Or a new way to achieve the same thing? I could not see activity on the issue for a long time.
  • Erik Berkun-Drevnig
    Erik Berkun-Drevnig about 8 years
    Very buggy indeed, every time I restart my IDE it seems like a gamble as to whether or not I will get the settings I want or some random combination of mine and the defaults.
  • RiaD
    RiaD about 8 years
    @DovBenyominSohacheski, I didn't use it for cross-IDE sync for a while because I use only CLion now.
  • Pup
    Pup over 7 years
    It looks like it's seen many updates since this answer was posted, but reviewers are posting negative reviews currently.
  • swalkner
    swalkner over 7 years
    what has to be entered as upstream URL? I'm trying the git-URL but I always get NoSuchMethodError
  • RiaD
    RiaD over 7 years
    @swalkner You should paste URL which you would use to clone the repo (you need to create repo first)
  • swalkner
    swalkner over 7 years
    I did create a repo (it's the one from the iOS project); the URL looks like [email protected]:myUser/myProject.git or https://[email protected]/myTeam/myProject.git
  • RiaD
    RiaD over 7 years
    well, it should better be separate repo (but I wouldn't expect error you mention in that case). [email protected]:user/repo.git works for me. Probably you can ask support if that doesn't work
  • Rachel K. Westmacott
    Rachel K. Westmacott about 7 years
    Although this looks like the correct answer it should be stated very strongly that as of early 2017 this plugin will still likely DESTROY your settings. Check the comments on the linked plugin page before installing.
  • orome
    orome almost 7 years
    Does this sync among different IDEs locally (e.g. between PyCharm and IntelliJ IDEA)?
  • Little My
    Little My almost 7 years
    yes, it does. it syncs between any instances of intelliJ-based IDEs, not matter if they are installed on the same machine or not. It supports synchronization of editor schemes, color schemes, keymaps and plugins. Changing any of these settings invokes auto sync after you've applied them and closed the Settings/Preferences dialog. When you run a different IDE instance (or activate it after more than one hour of inactivity), all modified settings will be updated automatically. Plugins are updated either automatically or manually (this is configurable)
  • Sam
    Sam over 6 years
    There is a first class support of this since 2017.3
  • krizajb
    krizajb almost 6 years
    This is authors statement: Alexander Lobas "Now sync works for same products only. Idea <-> Idea, PhpStorm <-> PhpStorm, ..."
  • Vojtech Ruzicka
    Vojtech Ruzicka almost 6 years
    Fortunately, this is no longer true, please check the other answers.
  • orome
    orome almost 6 years
    What does this answer have to do with the question: syncing my various different (local) JetBrains IDEs (e.g. syncing my local PyCharm syntax coloring with my IntelliJ coloring)?
  • Vojtech Ruzicka
    Vojtech Ruzicka almost 6 years
    It does sync the settings through jetbrains account or git repo.
  • orome
    orome almost 6 years
    The Jetbrains approach seems to apply only to one kind of IDE on different machines, not all the various IDEs on one local machine.
  • Vojtech Ruzicka
    Vojtech Ruzicka almost 6 years
    I see, sorry. Still this may be helpful for others searching for how to sync settings.
  • John Sardinha
    John Sardinha over 5 years
    All the other answers are answering a different question.
  • Cris
    Cris about 5 years
    Update in 2019: still doesn't work (tried with Ultimate and CLion)
  • CLOVIS
    CLOVIS about 3 years
    As of 2021. I've used this for a few years now. Sometimes it works amazingly, and sometimes it messes up a conflict and you lose many things. I hope there will be a better way soon.
  • orome
    orome about 2 years
    Note that there is still no way to do this (answers here and documentation notwithstanding). For example, disconnecting from the single product online sync to use exports/imports or a repo to sync multiple product fails to even preserve the settings for a single product.
  • Minh Nguyên
    Minh Nguyên about 2 years
    2022 still doesn't work
  • Burhan Ali
    Burhan Ali almost 2 years
    This doesn't help with syncing between two different local IDEs which is what the question is about.