Managing JetBrains IDE Settings Across Machines
JetBrains has built-in Settings Sync, but it only covers the IDE. Here's how to sync everything else your development workflow depends on.
What JetBrains Settings Sync Covers
JetBrains IDEs (IntelliJ IDEA, PyCharm, WebStorm, GoLand, and others) include built-in Settings Sync via your JetBrains account. It handles IDE-level configuration:
- Code style and formatting rules
- Keymaps and keyboard shortcuts
- Installed plugins and their settings
- Editor colors and font settings
- Live templates and code snippets
- Inspection profiles
For IDE settings alone, JetBrains Settings Sync works well. Sign in with your JetBrains account and your IDE preferences follow you across machines. The problem is everything it leaves out.
What JetBrains Settings Sync Misses
Your JetBrains workflow depends on tools and configurations outside the IDE:
IdeaVim configuration. If you use the IdeaVim plugin, your ~/.ideavimrc file is not synced by JetBrains Settings Sync. This file defines your Vim keybindings, leader key mappings, and which IdeaVim extensions are enabled. It lives in your home directory, not in the IDE configuration.
Shell and terminal. The JetBrains integrated terminal inherits from your system shell. Your ~/.zshrc, aliases, and PATH configuration are not touched by IDE sync.
Git configuration. Your ~/.gitconfig with aliases, signing keys, and merge tools is used by the IDE but not managed by it.
SSH keys and config. JetBrains uses your system SSH for remote development, Git over SSH, and deployment. None of that is included in Settings Sync.
External tools. Custom external tool definitions, database connection strings, and server configurations are workspace-specific and not always synced.
Syncing IdeaVim with ConfigSync
The ~/.ideavimrc file is the most common gap. ConfigSync has a dedicated module for it:
This tracks your ~/.ideavimrc file. Here is a typical configuration that many JetBrains Vim users maintain:
.ideavimrc and Neovim keymaps in parallel. Syncing both with ConfigSync ensures that switching between editors feels consistent on every machine.Combining JetBrains with Everything Else
The real value is syncing JetBrains settings alongside all the external tools your IDE depends on. Here is what a typical JetBrains developer needs:
| What | Synced By | Module |
|---|---|---|
| IDE settings, plugins, keymaps | JetBrains Settings Sync | Built-in |
| .ideavimrc | ConfigSync | jetbrains |
| Shell config (.zshrc, aliases) | ConfigSync | zsh |
| Git config and aliases | ConfigSync | git |
| SSH keys and config | ConfigSync | ssh |
| Docker credentials | ConfigSync | docker |
| AWS CLI credentials | ConfigSync | aws |
JetBrains Settings Sync and ConfigSync complement each other. Let JetBrains handle what it does well (IDE settings), and let ConfigSync handle everything else.
VS Code Users Switching to JetBrains
If you use both VS Code and a JetBrains IDE, or if you are migrating from one to the other, ConfigSync can track both:
This is particularly useful for teams where some members use VS Code and others use JetBrains. The shared configuration (git, shell, SSH, cloud credentials) stays in sync regardless of which editor each person uses. The editor-specific settings are simply additional modules.
The Complete JetBrains Setup
Here is the full setup for syncing your JetBrains development environment:
JetBrains Settings Sync restores your IDE. ConfigSync restores everything around it. Together, you go from a fresh install to a fully configured development environment without manually recreating any configuration.
Ready to try ConfigSync?
Sync your entire dev environment across machines in minutes. Free forever for up to 3 devices.