Sharing Your IDE Settings through the Settings Repository
RubyMine lets you share your IDE settings between different instances of RubyMine (or other IntelliJ-platform-based IDEs). This helps you recreate a comfy working environment if you are working from different computers and spare the annoyance of things looking or behaving differently from what you are used to.
You can share your settings in one of the following ways:
- By configuring a settings repository. This allows you to sync any configurable components (except for the list of enabled and disabled plugins), but requires setting up a Git repository with the settings you want to share.
This option is useful if you want to implement the same settings among your team-members.
- By using the IDE Settings Sync plugin. It utilizes the JetBrains server, so no additional configuration is required. Synced settings are linked to your JetBrains Account, so they will not be available to other users.
The settings you can sync include: IDE themes, keymaps, color schemes, system settings, UI settings, menus and toolbars settings, project view settings, editor settings, code completion settings, parameter name hints, live templates, code styles, and the list of enabled and disabled plugins.
Share settings through a settings repository
- Create a Git repository on any hosting service, such as Bitbucket or GitHub.
- On the computer where the RubyMine instance whose settings you want to share is installed, select File | Settings Repository from the main menu. Specify the URL of the repository you've created and click Overwrite Remote.
- On each computer where you want your settings to be applied, In the Settings/Preferences dialog (Ctrl+Alt+S) (Ctrl+Alt+S), expand the Tools node and choose Settings Repository. Specify the URL of the repository you've created, and click Overwrite Local.
You can click Merge if you want the repository to keep a combination of the remote settings and your local settings. If any conflicts are detected, a dialog will be displayed where you can resolve these conflicts.
If you want to overwrite the remote settings with your local settings, click Overwrite Remote.
Your local settings will be automatically synchronized with the settings stored in the repository each time you perform an Update Project or a Push operation, or when you close your project or exit RubyMine.
On the first sync, you will be prompted to specify a username and password. It is recommended to use an access token for GitHub authentication. If, for some reason, you want to use a username and password instead of an access token, or your Git hosting provider doesn't support it, it is recommended to configure the Git credentials helper.
If you want to disable automatic settings synchronization, from the main menu select File | Settings | Tools | Settings Repository and disable the Auto Sync option. You will be able to update your settings manually by choosing VCS | Sync Settings from the main menu.
Share more settings through additional read-only repositories
Apart from the Settings Repository, you can configure any number of additional repositories containing any types of settings you want to share, including live templates, file templates, schemes, deployment options, etc.
These repositories are referred to as read-only sources, as they cannot be overwritten or merged, just used as a source of settings as is.
To configure such repositories:
- In the Settings/Preferences dialog (Ctrl+Alt+S), click Settings Repository under Tools.
- Click and add the URL of the GitHub repository that contains the settings you want to share.
Synchronization with the settings from read-only sources is performed in the same way as for the Settings Repository.
Share your settings with the Settings Sync plugin
- Sign in to either of the following:
- Your IDE: from the main menu choose Help | Register, choose to activate your license with the JetBrains Account and enter your credentials.
- Toolbox App: click the gear icon in the top right corner of the application, select Settings and click the Log in button. Note that by signing in to Toolbox App, you automatically sign in to all JetBrains products that you run.
- In the bottom-right corner of the RubyMine window, click the gear icon and select Enable Settings Sync. Your local settings will be exported to the JetBrains repository linked to your account.
- If you want to automatically sync the list of all enabled and disabled plugins, select the Sync plugins silently option. For instructions on how to sync plugins manually if it is disabled, refer to Sync plugins.
- On a different computer where you want these settings to be applied, click the gear button, and select Enable Sync. In the dialog that opens, click Get Settings from Account to import the settings from the repository.
If you want to override the repository with your local settings, click Keep and Sync Local Settings.
Your local settings will be automatically synchronized with the settings stored in the repository each time you run a different IDE instance (or activate it after more than one hour of inactivity), or when any of these settings has been modified and this change has been applied.
When you install or uninstall plugins, or change their state (enabled/disabled), you can apply these changes to all your IDE installations.
If you want to automatically sync plugins across IDE instances, select the Sync plugins silently option when you enable settings synchronization.
To sync plugins manually:
- In the bottom-right corner of the RubyMine window, click the gear icon and select Sync Plugins.
- A dialog opens showing a list of all plugins that were modified since the last sync. Click the arrow button next to each plugin and choose either to modify the plugin's state, apply the repository state to all installations, skip this change locally, or skip it across all IDE instances.
- After you've selected which action to take for each plugin, click Apply Changes.