Currently Being Moderated

Synchronizing IntelliJ IDEA Settings using IntelliJ Configuration Server

VERSION 4

Created on: Mar 18, 2009 5:19 PM by Eugene Toporov - Last Modified:  Jan 15, 2012 12:39 AM by Serge Baranov

Note: this plug-ins is available only for the Ultimate Edition and will not work with the Community Edition.

General Idea

Added in IntelliJ IDEA 8.1, IntelliJ Configuration Server (formerly known as IDEA Server) makes it possible to synchronize settings across several different IntelliJ IDEA installations or auto-configure new installations using settings from the server.

 

Since IntelliJ IDEA 9, the IntelliJ Configuration Server plugin is not included in the distribution and needs to be installed separately via Settings | Plugins.

 

The dedicated public server stores the settings and is available from IntelliJ IDEA via the login using JetBrains Account credentials.

How It Works

On IntelliJ IDEA start a dialog appears asking you to login using your JetBrains Account. You may already have one or can easily create it. Read online help for the login dialog.

 

http://www.jetbrains.com/idea/features/screenshots/settings-sync.gif

 

When IntelliJ IDEA is connected to the server the green icon is displayed in the IDE status bar:

IDEA_server_connected.png

Clicking the icon opens the settings dialog allowing to choose the login options ("Show login dialog", "Login silently" or "Do not login") and to disconnect from the server.

 

When disconnected, the red icon is shown in the status bar:

IDEA_server_disconnected.png

 

Once logged in, the settings are synchronized with the server based on "updated" timestamp stored in each settings group. The most recent ones are used and are either sent to server or applied locally from the server.

 

IntelliJ IDEA always works with settings stored locally. So, IntelliJ IDEA can be used if, at some moment, the server is not available, the local settings are used. On the following connection all updated settings will be pushed to the server.

 

When logged in to the server, once some settings are updated locally inside IntelliJ IDEA, they are subsequently sent to the server. But local settings are only updated on IntelliJ IDEA startup.

 

The server stores only one set of settings for each user.

What Is Synched

IntelliJ IDEA server stores almost all of the IDE (workspace) and project settings except for some platform-specific ones and those containing local paths.It includes, the code style settings, keymaps, fonts and colors scheme, inspection profiles, and other.

 

FAQ

Q: How can I migrate server setting to local?

A: To migrate server settings to a local installation remove the settings files of IntelliJ IDEA, restart the IDE and log in to the server. The settings should be downloaded and applied.

 

Q: How can I erase settings from the server?

A: Right now this is not possible

 

Q: Is there some webpage to administer settings on the server?

A: No, but it is possible that it will be implemented some time later.

 

Q: What happens when I connect in the middle of a development session?

A: The settings will be synchronized based on their timestamps as described above

 

Q: When I change a setting when connected, do all others connected to these settings instantly get the change as well?

A: Settings are downloaded from the server only after connecting to it. Also, IntelliJ IDEA restart may be required to apply some settings.

Average User Rating
(2 ratings)




Dave Casserly Dave Casserly  says:

Does it tell you that it is uploading data to the server? Can i force it to upload? I'm getting no feedback from the IDE telling me it is doing anything, or that it has done something successfully. I only seem to be able to log in, and thats it.

 

I've attempted to sync to IDEs. I'm not sure which settings are supposed to be synced. I looked at File Templates - and it hasn't synced them yet. Ive attempted deleting my settings and restarting. Nothing.

 

Any ideas? Is this work in progress?

metyl metyl  says:

Nice feature but it is not working when You are behind proxy with authentication, check out http://www.jetbrains.net/jira/browse/IDEA-21995

Bozhidar Batsov Bozhidar Batsov  says:

The feature is very nice indeed, but it would be even nicer if there was some sort of configuration about what to be synced and not and maybe some notification when some local settings are updated via the IDEA server. Some expanded documentation on the subject will be helpful as well since like Dave mentioned I'm not sure exactly what is synced - I've noticed that keybindings were synced, code style, code inspections but maybe there is something more.

Erik Hanson Erik Hanson  says:

This sounds awesome! Is there any chance this will be coming to RubyMine soon?

russell Sonnenschein russell Sonnenschein  says:

I accidentally enabled this feature but then set my system to not automatically login because I realized my mistake. However, since this time however I get the following message in intellj "Project file /Users/.../.../...xxx.iws file has been changed externally. Reload project. [yes] [no]"

 

I am running on a Mac OS10.6 system and because I also did a the 10.6 upgrade at about the same time it is hard to tell if this feature is responsible for my issue or 10.6. But since my project iws file is the only file it is complaining about and this feature seems to sync stuff from this file I am guessing that this is the cause. Has anyone else seen this issue?

teemu kanstren teemu kanstren  says:

I use IntelliJ across different machines and enabled this feature happily thinking I will not have to reconfigure the two new installs I made. So it appears that for some reason it considered my latest install to be the one with the newest settings. Of course this one had default settings since I had only just installed it. This feature then ended up overwriting my one existing install and good configuration with the default settings. So instead of 2 reconfigurations it seems I have to do 3. Oh joy.. Please give an option to choose what you want to synch and where you want to synch it from. Like clicking the server icon, providing a view to select what to synch and a button to either upload settings or download settings.. If it worked it would be nice for sure.

Bozhidar Batsov Bozhidar Batsov  says in response to teemu kanstren:

I second your suggestion. I've had exactly the same problems with the IDEA server when I tried to use it on a larger scale, which ultimately lead to me abandoning it. Certainly - a nice feature, but it needs a lot of refinement to be truly useful...

Brian Russell Brian Russell  says in response to Bozhidar Batsov:

So are we all in agreement that this feature does not work at all? I've logged in successfully to the IDEA Server (JetConnect) and that's about it. I've clicked update.. nothing.. I've changed my local project settings, clicked update... nothing. I've exited IntelliJ and returned to the project after the settings were updated, clicked update.. nothing. I'd really like to use this feature to synch settings with my other team member, so that we are on the same page with code styles, etc. But seems like it was just thrown in there but never actually implemented to actually work! Unless I'm missing something? No matter what I do, I don't see anything actually "happening" when I'm in that JetConnect dialog box that pops up when I click on the bottom right icon for being logged in to the server.

 

I'm on Mac OSX 10.6.2, Intellij 8.1.4

Jan Klosinski Jan Klosinski  says:

what happened to IDEAServer in Maia (IDEA 9)? can't see it anywhere...

oalyman oalyman  says in response to Jan Klosinski:

yeah, where is it?

Dmitry Jemerov Dmitry Jemerov  says in response to Jan Klosinski:

The plugin needs to be installed separately via Settings | Plugins. I've updated the document to include this information.

metyl metyl  says in response to Dmitry Jemerov:

Still dosen't working when You are behind proxy with authentication.

Saqib  Saleem Saqib Saleem  says in response to metyl:

I managed to get it to work after installing cntlm (if you are using windows + http proxy).

metyl metyl  says in response to Saqib Saleem:

I can't make cntlm to work with ldap auth.

marlun78 marlun78  says:

This is a very cool feature, but how is it shared between my team members? Should we all login to the same account or what?

Serge Baranov Serge Baranov  says in response to marlun78:

No, it's not designed for sharing between the team members.

marlun78 marlun78  says in response to Serge Baranov:

OK. That would have been nice.

Is there another way to do this? Can you have your settings on a shared network drive or over HTTP?

Serge Baranov Serge Baranov  says in response to marlun78:

Normally every user can (and want) to have his own settings not shared with other developers. Project specific settings like code style, inspection profiles, etc can be shared together with the project like described in another document: http://devnet.jetbrains.net/docs/DOC-1186.

Rowan Massey Rowan Massey  says:

Just saw this, and thought it would be brilliant for developers within a company. Especially around things like inspection if nothing else. I noticed your last comment there Serge. Will there be any thought put in, to allowing things like code inspection and formatting to be defined at some sort of team level?

Serge Baranov Serge Baranov  says in response to Rowan Massey:

Sharing code style and inspections with the project is recommended, this way all the developers working on the same project will automatically get the same set of inspections and exactly the same code style. We use it in IDEA team with no issues.

Rowan Massey Rowan Massey  says in response to Serge Baranov:

Ah perfect Serge! Didn't realise that you had this. Thanks :-)

Arne Evertsson Arne Evertsson  says:

This is one of best features of IntelliJ. I work on four machines, Mac and Windows, so it is great to be able to keep settings synched. JetBrains should spend some more time on this feature making is easier to use.


Tinathir Tinathir  says:

Does this work for other IDEs (e.g. PyCharm and PhpStorm)? Can it be used to sync settings (that are the same, e.g. TODO patterns or code fonts and coloring for languagnes both support) between PyCharm and PhpStorm on the same machine?

Serge Baranov Serge Baranov  says in response to Tinathir:

It will work in PyCharm and PhpStorm, but not between the IDEs.

Tinathir Tinathir  says in response to Serge Baranov:

Is there any way to sync settings between IDEs (e.g. so my text coloring for, say CSS, is the same in PyCharm and PhpStorm)?

Serge Baranov Serge Baranov  says in response to Tinathir:

There is no official/recommended way to do it. One can probably share codestyles folder using symlinks, but it can cause issues in case IDEs you are using are built on different IntelliJ IDEA platform version and some changes in the configuration for the code styles are introduced between the versions.

Tinathir Tinathir  says in response to Serge Baranov:

That makes sense, but, as you say, it ends up having issues — e.g., diferent IDEs having differnt settings or different languages they support.

 

What's need I think, is a central location for all JetBrains IDE settings (at least code styles and colors, TODOs, etc.) that can be edited from wthin any JetBrains IDE. Here's hoping such a feature is added — it would be great for those of us who have several JetBrains products!

 

Thanks!

Ilya Kulakov Ilya Kulakov  says:

This plugin is HORRIBLE. Really, is that hard to:

- Once plugin is installed and after a used entered ceredentials to ask whether he wants to DOWNLOAD settings from the server. Current version just screws up all the configs on ALL of you marchines

- Add option to DISABLE automatic sycning (both push and pull)

- Add just two buttons: PUSH SETTINGS and PULL SETTINGS

 

I'm sorry for being so emotional, but this piece of software just ruined all configurations I was working on for past 2 days and replaced them with DEFAULT ones just after I installed the plugin on my second machine.

Gil Barbara Gil Barbara  says in response to Ilya Kulakov:

I second that, this needs a lot of refinement. It screwed my configuration on both machines.

What a mess!

More Like This

  • Retrieving data ...

More by Eugene Toporov