Context Buddy

The tool that allows you to inspect project history in more detail. Context Buddy analyzes history based on tokens: method names, parameters, vars or words depending on language/format used rather than lines as git does.

It means that it assigns multiple commits to a single line, ignores whitespace changes (if they have no semantic meaning) or tracks file renames properly.

If you are interested in what's going on under the hood, please check out our blogpost.

demo

How to use Context Buddy

Turning it on/off

Context buddy is not enabled by default, so that its highlighting doesn’t distract the developer all the time. To toggle Context Buddy for a given file, simply run 'Smart History' action.

turnOnOffAction

As you may notice, it enables Context Buddy only for the current file.

Another way to switch Context Buddy on or off is to use button in the provided user interface.

turnOnOffUI

Highlights: Hovers and color

When turned on, Context buddy highlights each token in the file. The highlight color corresponds to the last commit that affected the token (see different options below).

Hover gives information about token, author, date as well as commit message.

Context buddy provides commits that actually changed given token so it may be different than commit that git blame provides

hoover

Highlight by: change the way colors are applied

Context buddy can provide different ways to assign colors to commits (and context where lastly changed by it).

Color settings can be changed using UI or provided actions.

highlightBy

Additionally, we provide options that can configure colors even further.

highlightByOptions

Context Buddy can highlight code by (with options):

Select single commit

Context buddy presents a list of all commits that affect the current file and allows us to highlight single commit (to e.g. analyze its impact).

You can either select the commit once (so other commits are also highlighted) or twice (so only commit in question is highlighted).

singleCommit