Committing with Confidence: Getting Code Quality Information at Commit Time

Many developers tell us that they are under pressure to deliver software on an ever-faster cadence. This pressure for increased speed makes building your software at high quality from the start even more important – you want to make sure that any commits you make to your codebase are at the right quality, to avoid costly remediation of errors later. Getting key information about your code’s quality at key moments such as commits and pull requests can help you meet quality goals without distracting you from creating the features your customers demand. We’re now providing that information at commit time in the latest release of the Continuous Delivery Tools for Visual Studio extension.

Get a heads-up on Build and Code Analysis Results on Commit

With the new Build and Code Analysis Results panel, you’ll get a heads-up reminder at commit-time of issues detected by any code analysis tool that puts results in the error list. This means you can take care of those issues before they propagate into your team’s continuous integration and delivery process, and commit your code with confidence.

Build and Code Analysis Results panel

Just click the View Issues link in the new panel, and you’ll be taken straight to the Error List tool window showing the problems you’ve configured to show up there, and may want to take a look at:

Error List

You’ll see results both for live edit-time analysis (e.g. C#/VB Analyzers) and, via the Refresh Analysis link, for compile-time static analysis (e.g. C++ Static Analysis tools). Many C#/VB Analyzers also provide Lightbulb fix suggestions to make the job of remediation easier.

See issues from multiple analysis sources

The Build and Code Analysis Results panel uses the issues posted to the error list, which means that your heads-up can include data from multiple sources. For instance, if you are a SonarQube user, you can easily set up SonarLint (see more details in Jean-Marc Prieur’s article) and see results in the error list, gaining the benefit of the new heads-up panel as well, as shown in the screenshot above.

Other providers of analysis tools are already working on providing error list support for their results. For instance I recently demonstrated a prototype of NDepend at Build 2017 (See video ), see the screenshot below:

See issues from multiple analysis sources

If you want to narrow your focus to just the files that are included in your commit, you can easily achieve this by selecting the Changed Documents option from the Error List drop down which shows up when your code is under source code control:

Changed Documents option from the Error List drop down

For instance, this can be useful if your team has a policy of “fix it if you touch the file”. The panel is supported on Visual Studio 2017 Enterprise. It currently supports C#, VB and C++ projects, where the code is being committed to a Git Repo.

Please Share Your Feedback

Please download and try the Continuous Delivery Tools for Visual Studio DevLabs extension, try out the new Build and Code Analysis Results panel and let us know what you think.

Tell us more about what you think about this by filling out a short survey

We’re always looking for feedback on where to take this Microsoft DevLabs extension next; features from the extension have already been refined using that feedback and incorporated into the core Visual Studio product in updates. There’s a Slack channel and a team alias vsdevops@microsoft.com where you can reach out to the team and others in the community sharing ideas on this topic.

Mark Wilson-Thomas, Senior Program Manager, Visual Studio IDE Team
@MarkPavWT

Mark is a Program Manager on the Visual Studio IDE team, where he’s been building developer tools for nearly 10 years. He currently looks after the Visual Studio Editor. Prior to that, he worked on tools for Office, SQL, WPF and Silverlight.