GuideSeptember 9, 20255 min read

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:

Add JetBrains module
configsync add module jetbrains

This tracks your ~/.ideavimrc file. Here is a typical configuration that many JetBrains Vim users maintain:

Example .ideavimrc
" Enable IdeaVim plugins set surround set commentary set argtextobj set highlightedyank set NERDTree " Common Vim settings set number set relativenumber set incsearch set hlsearch set ignorecase set smartcase set scrolloff=8 " Leader key let mapleader = " " " IDE actions via Vim keybindings nmap <leader>ff :action GotoFile<CR> nmap <leader>fg :action FindInPath<CR> nmap <leader>fr :action RecentFiles<CR> nmap <leader>ca :action ShowIntentionActions<CR> nmap <leader>rn :action RenameElement<CR> nmap <leader>gi :action GotoImplementation<CR> nmap <leader>gd :action GotoDeclaration<CR> " Window navigation (matches tmux/nvim) nmap <C-h> :action PrevSplitter<CR> nmap <C-l> :action NextSplitter<CR>
Tip: Many developers maintain their .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:

WhatSynced ByModule
IDE settings, plugins, keymapsJetBrains Settings SyncBuilt-in
.ideavimrcConfigSyncjetbrains
Shell config (.zshrc, aliases)ConfigSynczsh
Git config and aliasesConfigSyncgit
SSH keys and configConfigSyncssh
Docker credentialsConfigSyncdocker
AWS CLI credentialsConfigSyncaws

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:

Sync both editors
# VS Code settings configsync add module vscode # JetBrains IdeaVim configsync add module jetbrains # Push both configsync push -m "editor configs"

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:

Complete setup
# IdeaVim configuration configsync add module jetbrains # Shell (used by JetBrains terminal) configsync add module zsh # Git (used by JetBrains VCS) configsync add module git # SSH (used by JetBrains remote dev and Git) configsync add module ssh # Push everything configsync push -m "JetBrains dev environment" # On a new machine: # 1. Install JetBrains IDE + enable Settings Sync # 2. Install IdeaVim plugin # 3. configsync pull # 4. Your .ideavimrc, shell, git, and SSH are all ready

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.