Overview

Overview

GitToolBox

Documentation for GitToolBox plugin for Jetbrains family of IDEs.

Git status display

Git status shows the following information:

  • number of ahead / behind commits for current branch
  • current branch
  • tags on HEAD

Information is displayed in these locations:

  • Project View - ahead / behind, branch name, tags on HEAD

Not committed changes tracker

Shows committed changes:

  • number of changes
  • status (clean / dirty)

Information is displayed in following locations:

  • Project View - number for changes
    • 2 Δ - means there are two changes
    • ∅ - no changes / clean
  • Status bar
    • icon indicator for quick glance
    • number of changes / clean

Icons mapping to states:

Git blame display

Current line blame

Shows the following information for the current line in editor:

  • author
  • date-time
  • commit subject

Line blame can be displayed as:

Automatic fetch

Runs git fetch at fixed intervals.

Exclusions

Under GitToolBox Project settings open the Auto Fetch tab and add your repository with the plus sign. Afterwards select the repository in the list and add the remote you want to exclude with the plus sign again.

Behind tracker

Shows notification when behind count of current branch changes and is non-zero.

Commit message completion - references

Provides the following types of completion when editing commit message:

  • current branch name
  • branch issue key (since version 500.0.13)
  • pattern

Pattern based completion uses regular expression capture groups. Output consists of concatenation of input captured by each group. For example, regular expression (\w+-\d+).* matched against input JIRA-123_some_task will provide completion item JIRA-123

Commit message completion - gitmoji

Provides gitmoji completion when editing commit message. It is disabled by default. In addition to completing by name it also takes into account descriptions of the gitmoji. Completion inserts either Markdown or Unicode, depending on configuration.

Commit message validation

Before commit checks can verify whether a commit message:

  • contains reference to issue referenced by branch name
  • matches a regular expression

Checks status

commit-message-validation-dialog.png

Validation configuration

Recent branches switcher

Keeps track of 5 most recently used local branches for a repository and providers Switch Recent Git Branches action to show popup that allows fast switching. Popup entries ordering is from least recently used.

Branch cleanup

Detects merged and non-merged but stale branches. Cleanup can be triggered manually from Git / GitToolBox / Git Branches Cleanup or automatically. Base branches and exclusions are configured using glob patterns in Settings / GitToolBox / Branches

Push selected tags

List tags on current branch and select which ones should be pushed. They can be also force-pushed.

push-tags-on-branch.png

Issue Navigation integration

Plugin integrates with IDE Version Control / Issue Navigation. The moment it is configured following feature becomes active:

  • clickable issue links inside blame details

    issue-navigation-blame-popup.png

  • highlighted issue number in line blame

    issue-navigation-blame-highlight.png

Git Extender integration

Git Extender Update All can be selected as update action executed from behind tracker popup.

Repository links

This is a paid feature.

Following repositories are supported:

  • Bitbucket (Cloud & Server)
  • GitHub
  • GitLab
  • AWS CodeCommit
  • Azure Repos
  • Gitee

You can open or copy browser link to:

  • file (and to exact line in file when used from editor)
  • repository root
  • commit

Actions are available from:

Create pull request links

This is a paid feature.

When branch is pushed for the first time a notification is shown with action to create pull request using that branch. create-pull-request-notification.png

Pending changes check

This is a paid feature.

When project is closed check is done to determine if there are any not committed changes or any not pushed commits.

project-close-changes-check.png

Configuration

Checks are controlled by following options in Settings... > Version Control > GitToolBox

Manual installation

To install manually from distribution artifact downloaded from https://plugins.jetbrains.com you must select entire zip archive in Install Plugin from Disk... dialog.

If you select only main jar file you will get NoClassDefFoundErrors when running IDE.

Repository configuration

This is used by paid features:

There are two levels on configuration. On application level you can configure how repository type is detected based on fetch URI. Glob patterns always take precedence over Auto detect.

Configuration

Global configuration applies to IDE, project configuration applies to a project only.

General configuration

For most of the features to work repository roots must be correctly configured in:

  • File / Settings / Version Control
  • IntelliJ IDEA / Preferences… / Version Control

Windows/Linux configuration locations

  • File / Settings / Appearance & Behavior / Notifications
  • File / Settings / Editor / Color Scheme / GitToolBox Colors
  • File / Settings / Version Control / GitToolBox
  • File / Settings / Version Control / GitToolBox / GitToolBox Project

MacOS configuration locations (with project open)

  • IntelliJ IDEA / Settings… / Appearance & Behavior / Notifications
  • IntelliJ IDEA / Settings… / Editor / Color Scheme / GitToolBox Colors
  • IntelliJ IDEA / Settings… / Version Control / GitToolBox
  • IntelliJ IDEA / Settings… / Version Control / GitToolBox / GitToolBox Project

Global configuration

Notifications

Notifications shown by the plugin can be configured on Appearance & Behavior / Notifications IDE config page.

Jetbrains Gateway

Setup

After connecting to the remote IDE plugin must be installed on host. jetbrains-gateway-install.png

Limitations

Current line blame is not available at this time due to lack of support by Gateway RDCT-400

Troubleshooting

Commonly raised questions and issues

Inline blame does not work in git directory

This might be caused by missing configuration, see general configuration

Login popup is shown every few minutes

Related to automatic fetch. First see if running Git / Fetch also shows the pop-up. If is does either save login information or just disable automatic fetch for the project in GitToolbox Project settings.

Early access

EAP release channel

Add https://plugins.jetbrains.com/plugins/eap/7499 in Preferences > Plugins > “Cog icon” > Manage Plugin repositories… to receive early access builds.

Release 500.1.0 highlights

Extended inline blame styling

Author, date-time and subject blame parts can be styled separately. This is configured in Settings... / Editor / Color Scheme / GitToolBox Colors 5001-inline-blame-config.png

Before blame-editor-inline.png

After blame-editor-inline-colored.png

Create pull request after branch push

After branch is pushed for the first time notification is displayed with action which allows opening pull request creation in browser. create-pull-request-notification.png

License and usage

License and usage

Plugin is developed and delivered in freemium model.

License text is available in plugin configuration > About > License tab

All features available before 500.x.y version will stay free and receive fixes and occasional updates. Features marked as paid are available upon purchasing license using Jetbrains Marketplace.

License

END USER LICENSE AGREEMENT (“EULA”)

Version 1.1, effective as of January 25, 2024

1. DEFINITIONS

Capitalised terms used herein shall have the following meaning:

  1. Developer – the author of Plugin: Łukasz Zieliński.

Privacy policy

Plugin does not collect nor send any private information. Network activity is feature-related only.