Since the initial release of our code review tool MergeBoard, many users appreciated one feature in particular: the advanced code change visualization. Compared to standard diff tools like
git diff, MergeBoard generates diffs that ignore style only changes, highlight moved code and detect refactorings. This makes it easier to understand how the code was modified and you are less likely to miss any important changes.
Unfortunately, not everyone was able to use our change visualization yet. They either worked with diffs unrelated to code reviews or their team wasn’t ready yet to switch to MergeBoard. Over time, we received many requests to make our technology also accessible outside of the context of MergeBoard.
Today we answering these calls with SemanticDiff - a Visual Studio Code extension that brings our code change visualization directly into your code editor. You can see how your working tree has changed compared to your current git HEAD or get a better understanding of your git history.
While the extension is not yet available for download, there is an interactive demo on semanticdiff.com that you can try out. We are also looking for developers who are interested in joining our beta for SemanticDiff. If this sounds interesting for you, subscribe to our newsletter and we notify you once it is available.
The development of our code review solution MergeBoard will continue as before. Our existing users will even benefit from this new product. Changing the MergeBoard diff visualization can be a bit tedious as many other features are tightly coupled with this part of the user interface. With SemanticDiff we now have a less complex test environment that allows us to iterate faster and eventually port the best working solution to MergeBoard. We will use it to refine our diff visualization, implement new features and collect feedback.
The SemanticDiff image above therefore also serves as an outlook for new features that we plan to implement in MergeBoard. The most obvious one is the support of a side-by-side diff visualization. A two column layout can display some types of changes more precisely while also looking less cluttered. It is therefore a natural fit with our goal of making it simpler to understand code changes.
A side effect of working on SemanticDiff that you can already experience now in MergeBoard is that we ported more of our diff code from Python to C++. This resulted in a significant speed up that we used to implement a more precise but expensive change detection algorithm. What this means for you is that more style-only changes are now treated as invariances and the display of moved code has been improved.
We hope we’ve been able to give you some insight into our strategy and are looking forward to your feedback. Also don’t forget to checkout semanticdiff.com 😉️.
With SemanticDiff we now provide our code change visualization as Visual Studio Code extension. Find out how to get better diffs directly in your editor and how this affects MergeBoard.