| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Developers rely on version control to review changes before committing. However, IntelliJ-based IDEs have a significant limitation: after committing code, all change indicators in version control and line status annotations disappear completely. Since feature branches typically contain multiple commits, this makes it difficult to track accumulated changes over time. This plugin addresses that problem by making committed changes visible again.
Create custom "scopes" for any Git reference—branch, tag, or commit hash. Each defined scope appears as a selectable tab in the Git Scope tool window. The currently selected scope visualizes changes through:
The plugin will add a new tool window named Git Scope:
By default, it will appear as a secondary tool window on the left side, but you can move it anywhere to suit your workflow. Plugin settings are available under Settings → Tools → Git Scope.
Clicking the button opens the Git Scope window:
To add a new scope, click the "+" tab on the Git Scope panel:
In the "New*" tab you get a few different options to define the scope:
Whenever the scope selection is done, the tab will turn into a "change browser" (similar to version control) that displays the current diff of the Git Scope. The change browser supports searching/filtering by file name using the built-in speed search — just start typing to narrow down the list.
The toolbar above the change list follows one rule: action icons that operate on the current selection (Diff, Select Opened File) stay on the left, and icons that change how the list is presented (Group By, Show Deleted Files, Show Untracked Files) are right-aligned:
Show Untracked Files and Show Deleted Files are per-project toggles — off by default — for whether untracked (unversioned) and locally deleted files show up in the Git Scope view. The initial value for newly opened projects can be changed under Settings → Tools → Git Scope (see Settings below); once a project has been opened, it keeps its own toggle state independent of that default.
Right click on any file will present a number of actions:
Create Patch..., Copy as Patch to Clipboard, and Rollback... all apply to the current selection, so you can select multiple files (or all files via Ctrl+A) and the action will apply to all of them at once.
Git Scope uses its own plugin-native gutter rendering system to show scope-aware diff markers directly in the editor. This avoids the side-effects and interference with native IDE functionality that earlier versions of the plugin experienced when hooking into the IDE's own gutter system.
Note: The Git Scope gutter markers are only visible when the IDE setting Version Control → Confirmation → Highlight modified lines in gutter is enabled.
Each changed line is marked with a colored bar — inserted, modified, and deleted lines each get their own dedicated color (see Gutter colors and fading below) — relative to the selected Git Scope target. Clicking any marker opens a popup with the following actions:
An overview stripe on the right-hand scrollbar provides a full-file summary of scope changes, making it easy to spot hotspots without scrolling.
The gutter markers can be positioned in two ways, controlled via Settings → Tools → Git Scope:
Merged mode (default) — Scope markers appear inline with the IDE's native gutter markers. Both sets of markers are visible at the same time:
Separate mode — Scope markers are rendered in a dedicated column to the left of the line numbers. This makes it immediately clear which changes are relative to the Git Scope target and which are uncommitted local changes shown by the IDE's native HEAD diff markers:
Gutter colors and fading — By default the scope markers use the same colors as the IDE's own change markers. To tell them apart:
Reviewing a Scope (Keyboard Navigation):
Git Scope is well suited for reviewing an entire scope — walking through every change on a branch, tag or commit range the same way you would review a pull request, but directly in the editor with full language support (syntax highlighting, navigation, inspections).
To make this fast and mouse-free, the plugin adds four navigation actions plus a diff action. They ship without default shortcuts so they never clash with your keymap — assign your own under Settings → Keymap (search for "Git Scope"):
| Action | Suggested shortcut | Description |
|---|---|---|
| Next Change | Alt+Down | Jump to the next change. At the last change in a file, moves on to the first change of the next changed file. |
| Previous Change | Alt+Up | Jump to the previous change. At the first change in a file, moves to the last change of the previous file. |
| Next Changed File | Alt+Shift+Down | Jump straight to the first change of the next changed file. |
| Previous Changed File | Alt+Shift+Up | Jump straight to the first change of the previous changed file. |
| Show Diff | Alt+D | Open the scope diff (<selected-scope>..working tree) for the current file in an editor tab. |
A typical review flow:
Tip — enable the "Preview tab" feature to reduce tab clutter. When reviewing, each file you step into would normally open a new editor tab. If you enable IntelliJ's preview-tab feature (Settings → Editor → General → Editor Tabs → "Enable preview tab", or the "Open declaration source in the same tab" / preview toggle in the editor tabs settings), Git Scope opens each file in a single reused preview tab instead — so navigating through dozens of changed files leaves you with just one tab rather than dozens. Git Scope respects this setting: with it off, files open as normal (permanent) tabs; with it on, navigation reuses the preview tab.
Adds a custom Scope (used to do inspections, search/replace, etc), i.e. search results are filtered by Git Scope.
READ: https://www.jetbrains.com/help/idea/scopes.html
To see the current selection of the Git Scope even when the tool window is not open, you can look at the status bar widget.
The tab name is per default set to the selected scope reference. If the selected scope is a git hash, you can rename the scope tab name by right clicking on the tab and selecting "Rename Tab". Any renamed tab will show the original Git Scope reference as a tooltip. You can reset the tab name to the original Git Scope reference by right clicking on the tab and selecting "Reset Tab Name".
Scope tabs can be reordered either by dragging a tab to its new position, or with "Move Tab Left" / "Move Tab Right" from the same context menu. Over Remote Development only the context menu actions are available — the IntelliJ Platform does not support drag-and-drop tab reordering in remote mode.
In the Git panel, you can right-click on any commit and select "Use Commit as Git Scope" to automatically add the commit as a new Git Scope.
The Project tool window can be filtered to show only files that are part of the current Git scope. When this filter is enabled, the IDE controls the Project view’s lifecycle and updates. As a result, the Project tool window might not immediately reflect changes to the Git scope.
Git Scope appears in the Select In dialog, so you can locate any file directly in the Git Scope tool window from Select In.
The Git Scope window itself also has the "Select Opened File" action button, so you can highlight the currently opened editor file directly in the Git Scope tool window (if the file is part of the current selected scope):
Plugin settings are available under Settings → Tools → Git Scope:
| Setting | Description |
|---|---|
| Separate Git Scope and IDE gutter rendering | When enabled, Git Scope gutter markers are rendered in a dedicated column to the left of the line numbers, separate from the IDE's native markers. When disabled (default), both sets of markers share the same gutter column. |
| Fade Git Scope gutter markers / Opacity | When enabled, Git Scope gutter markers are painted semi-transparent at the chosen opacity (20–80%, default 60%), in both merged and separate mode. Off by default. Marker colors themselves are set under Settings → Editor → Color Scheme → Git Scope. |
| Color files based on Git Scope | When enabled (default), file colors in the project tree and editor tabs reflect the active Git Scope status. Disable to use the IDE's default HEAD-based file coloring. |
| Show untracked files / Show deleted files (Working Tree) | Initial state of the matching toggle button in the Git Scope window toolbar, applied the first time a project is opened. Already-open projects keep their own toggle state. Off by default. |
| Shortcut | Description |
|---|---|
| Alt+H | Toggle between HEAD and last Git Scope selection |
The following review-navigation actions are also added, but ship without default shortcuts — assign your own under Settings → Keymap (search for "Git Scope"). See Reviewing a Scope (Keyboard Navigation) above for the recommended workflow:
| Action | Description |
|---|---|
| Next Change | Next change; crosses into the next changed file at a file's end |
| Previous Change | Previous change; crosses into the previous changed file at the top |
| Next Changed File | First change of the next changed file |
| Previous Changed File | First change of the previous changed file |
| Show Diff | Open the scope diff for the current file in an editor tab |
| Shortcut | Description |
|---|---|
| Ctrl+D (on any file in a changes browser) | Open diff window |
| F7 | step forward (in diff window) |
| Shift+F7 | step backward (in diff window) |
Build (build/distributions)
./gradlew buildPluginRun/debug plugin
./gradlew runIdeVerify
./gradlew verifyPlugin| Back | FazBrowse Home | New Git URL |