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 then 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 is going under the hood please we've written a blogpost about that.

demo

How to use Context Buddy

Turning it on/off

Context buddy is off by default so that it doesn’t distract developer on a daily basis. To turn on (and off) Context Buddy for a given file simply run Context Buddy: toggle action.

turnOnOffAction

As you may notice it turns Context Buddy only for current file.

Another way to turn on/off Context Buddy it to use button in the provided user interface.

turnOnOffUI

Highlights: Hovers and color

When turned on, Context buddy provides highlight tokens with hovers over each token in the file. Tokens are highlighted according to the last commit that affects it (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 then commit that git blame provides

hoover

Highlight by: change the way colors are applied

Context buddy can provide different way 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