Bring the speed and elegance of Lazygit directly into your JetBrains IDE. No more context switching between your terminal and your editor.
Forget about writing custom bash scripts or fighting with complex $EDITOR configurations. This plugin features a custom, high-performance IPC (Inter-Process Communication) bridge. Simply press e on any file in Lazygit, and it will instantly open right in your IDE's editor. It works completely out of the box in any IntelliJ-based IDE without a single line of extra configuration.
Native integration of LazyGit directly in IntelliJ IDEs (such as IDEA, Rider, WebStorm, etc.).
This plugin is inspired by the lazygit-vscode extension. It allows you to toggle LazyGit in a full-screen editor tab, and use the e shortcut to open a file directly in the current IDE instance without any manual configuration.
- Install the plugin from the JetBrains Marketplace.
- Alternatively, search for "Lazygit" (by ckob) directly in your IDE via
Settings->Plugins->Marketplace.
- Search for the actions
Lazygit: Toggle (Project Root)andLazygit: Toggle (Current File Directory)in the IDE (Double Shift orCmd+Shift+A). - Default Shortcut (Project Root):
Ctrl+Alt+G(orCmd+Option+Gon macOS). - You can assign custom keyboard shortcuts in
Settings -> Keymap.
If you use IdeaVim, you can map the toggle actions in your .ideavimrc file. For example, to match LazyVim's default keybindings:
" Map <leader>gg to open LazyGit at the project root
nmap <leader>gg <Action>(Lazygit.Toggle)
" Map <leader>gG to open LazyGit at the current file's directory
nmap <leader>gG <Action>(Lazygit.ToggleCurrentDir)- Zero Configuration: Works out of the box without any manual setup of
$EDITORor Lazygit config files. - Smart Routing: Files always open in the same IDE instance where Lazygit is running, even with multiple projects or IDEs open.
- Immersive UI: Toggles LazyGit in a dedicated, full-screen editor tab rather than a tool window.
- Re-uses existing tab: Automatically focuses the existing LazyGit tab if it's already open.
- Native Edit: Use
eto open a file (or multiple selected files via visual/select mode) in new tabs from the LazyGit window. - Automatic Cleanup: The editor tab closes automatically when you exit LazyGit (
q). - Custom Configuration: Specify a custom Lazygit configuration file and executable path in
Settings -> Tools -> Lazygit.
This plugin automatically configures LazyGit's edit commands using an overlay config and a custom IPC bridge. This ensures that opening a file from LazyGit always targets the specific IDE project window where you are currently working.
This project uses the standard Gradle-based IntelliJ Platform Plugin structure.
- Open this repository in IntelliJ IDEA.
- Wait for Gradle to sync and download dependencies.
- Run the
Run Pluginrun configuration (or execute./gradlew runIdefrom the terminal) to launch a sandbox IDE with the plugin installed. - Build the plugin for distribution using the
Build Plugintask (or./gradlew buildPlugin). The resulting ZIP file will be generated inbuild/distributions/.
- Go to
Settings->Plugins-> ⚙️ (Gear Icon) ->Install Plugin from Disk... - Select the
lazygit-intellij-<version>.zipfile generated inbuild/distributions/. - Restart your IDE.
- LazyGit by Jesse Duffield.
- The lazygit-vscode extension by Tom Pollak for the original inspiration.