The best Visual Studio extensions to help streamline your software development
Trying to figure out the best Visual Studio extensions? Read our recommendations for the best ones to help accelerate your programming.
Most programmers developing complex programs will use an integrated development environment (IDE) to take advantage of its many useful features.
Many choose Visual Studio (VS) for its automatic code formatting, multi-language support or debugger but its true potential is unlocked with the installation of extensions or plugins.
There is a vast array of extensions available on Visual Studio Marketplace – ranging from specialised, resource intensive extensions to lightweight ‘Quality of Life’ features.
It can be overwhelming to sift through all the options to find the extension you need, so we’ve detailed the most noteworthy and useful ones here for you.
The main Visual Studio extensions in our roundup touch on the various aspects of the software development cycle, including:
- time management
- code maintenance
The smaller extensions included here contribute to code readability and an overall better programming experience.
Top 9 Visual Studio Extensions for Software Engineers
The ByteSnap embedded software team have collated this list of what we’ve found to be the best Visual Studio extensions:
- Visual GDB
- Better Comments
- Trailing Whitespace Visualizer
- Add New File
- File Icons
To find out why we recommend these extensions, let’s get into the detail…
Platform: Visual Studio (all Versions)
Description: Cross-platform Embedded, Linux and Android debugging within Visual Studio. Includes a range of powerful features such as: intellisense, breakpoints, single stepping, variable inspection, connecting to running processes.
Why we like it: It integrates the GNU toolchain (GCC/GDB) compilation (handled by running a Linux VM/Server locally or remote) and debugging of a remote target into Visual Studio on your local PC.
These really help with streamlining our development process.
Competent support team and forum available for assistance.
Cost: Free trial, then annual subscription starting at €79 / $99 for Embedded package.
Image 1: Linux profiling results with detailed per-line view. Source: visualgdb.com
One of the most powerful features of Visual Studio is its advanced debugger which provides many methods for observing the runtime behaviour of a program.
Debugging an application can be extremely helpful but Visual Studio’s native debugger is limited to local programs only, rendering it futile for cross-platform development on embedded systems, Linux boards and Raspberry Pis.
This is why Visual GDB by Sysprogrs is a must have extension, it streamlines cross platform development processes by configuring embedded toolchains and Linux cross compilers.
VisualGDB can make sense of complex multi-line error messages from GCC, Keil and IAR compilers to help troubleshooting.
It also includes a range of powerful debugging features such as breakpoints, single stepping, variable inspection and connecting to running processes which minimises the number of additional tools needed to install.
Visual GDB helps getting started with detailed tutorials on their site as well as offering a competent support team and forum available for assistance.
Platform: Visual Studio 2015, 2017, 2019
Description: Automatically generated time tracking metrics from programming activity.
Why we like it: Provides insightful knowledge of coding activity and time spent on individual projects.
Cost: Free (BSD 3-Clause), paid options to view old records and for team dashboards.
Image 2: Web dashboard with metrics for a user
Time tracking is an important aspect of every project to monitor resource allocation, estimate prices and completion times.
At a lower level, it can be used to recognise the strength of individuals, identify which tasks are the most time consuming and hence build more efficient teams and drive up productivity.
This is significantly more important following the Covid pandemic as working from home became the norm. Though time tracking can provide some great insights, it adds an overhead on employees, especially for developers working on multiple projects.
Thankfully, WakaTime is a free analytic plugin that aims to alleviate this task by automatically tracking programming activity through Visual Studio while providing insightful metrics.
The plugin automatically tracks the projects it has access to and the languages used. However, its full capability is unleashed when connected to Git, allowing it to track time spent per project, branch, commit and pull requests.
You can check your coding activity by logging on to your online dashboard. Here, you can view your daily or weekly averages, compare testing time against development time. These and other statistics displayed in colourful, visually appealing charts.
Addressing privacy concerns is a crucial aspect of WakaTime, as for any data collection system. The data monitored by WakaTime is limited to the project of scope within Visual Studio and extends to the git names, computer hostname and time zone information.
Files and their content are never uploaded to servers, only file names. Any sensitive file/path/git to hiding projects from the plugin.
Similarly, dashboard information can be set to fully anonymous or account settings can be private.
Platform: Visual Studio 2008, 2010, 2012, 2013, 2015, 2017, 2019, 2022
Supported testing frameworks: NUnit, MS Test, Xunit, MSpec, SpecFlow
Programming Languages: C#, VB.NET, F#, .NET framework v2.0+
Description: Live unit test runner with inline metrics.
Why we like it: More streamline development is enabled through automatic concurrent unit testing in the background while editing code. This provides inline performance metrics and showing individual lines of code – either not covered by tests or where tests fail.
The amount of resources used by the extension can also be controlled for lower end devices.
Cost: Free trial, then paid yearly subscription starting at $159 for a single user license.
Image 3: Tooltip information for one of the inline test markers. Source: www.ncrunch.net
Software testing is a crucial step in the software development cycle to certify all product requirements are met. The level of testing ensures a certain quality standard and a confidence in the reliability and performance of the system.
Additionally, a testing plan will reduce maintenance cost as issues can be quickly identified and addressed.
Testing is often an iterative process that can be especially time consuming when run and checked manually. There are many automated testing tools available, but NCrunch stands out with its concurrent real-time testing and inline marker notification system for a more streamlined development.
The colour-coded markers are non-invasive but provide detailed information, in the form of a tooltip, on performance metrics, which lines of code are covered by tests and their results.
NCrunch was designed and tested for large projects containing thousands of files and thus offers extra features. One feature we like is smart test execution, which uses an intelligent weighted system to deliver the most important feedback first and distributed processing to delegate the heavy lifting onto remote machines.
This opens the possibility for cross-platform and cloud-based testing. It is also highly customisable, with user filters to specify which tests to run and how often – ideal for constrained environments.
Overall, NCrunch provides some powerful time-saving features for parallel unit testing while offering detailed documentation and a support forum.
By: Steve Cadwallader
Platform: Visual Studio 2017, 2019
Programming Languages: C#, C++, F#, VB, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS,
LESS, SCSS, JS, TypeScript
Description: Open source extension to clean up and simplify code.
Why we like it: Includes many useful tools and features for code maintenance from general clean up of whitespaces and formatting comments to reorganising the layout of header files and adding access modifiers.
Cost: Free (GNU Lesser General Public V3)
Project developers can be pressured to roll out features and complete milestones constrained by tight deadlines, resulting in code maintenance and clean up often being overlooked and not treated as a priority.
However, this can lead to many issues; not only a bug-ridden project, but also:
- unformatted comments
- messy code organisation
- unused or cramped code
All contribute to poor code readability – which, in turn, reduce efficiency.
Thankfully, there are advantageous extensions which simplify this task to only a few mouse clicks.
CodeMaid by Steve Cadwallader is renowned for offering many useful tools to address these issues.
Its code clean-up feature, for example, removes unused using statements and trailing white spaces.
In addition, CodeMaid adds unspecified access modifiers and can reorganise the layout of a file alphabetically or to match specific conventions.
Images 4 & 5: Code clean up example in CodeMaid – before
– and after:
CodeMaid extends the solution explorer to a tree view hierarchy with various sorting methods for an overview that suits the developer’s preferences. The tree view hierarchy of a file even supports drag and drop of items to quickly reorganize the code layout.
The biggest drawback of Visual Studio extensions like CodeMaid, which bundle many tools together, is the performance impact on the loading time. However, all settings can be individually configured to reduce additional load.
By: Tomas Restrepo
Platform: Visual Studio 2012, 2013, 2015, 2017, 2019
Programming Languages: C#, C, C++. JS, VB, F#, SQL, TypeScript, Python, PowerShell, R, JSON, Fortran, XML
Description: Add colour to nested braces and keywords for enhanced text editing.
Why we like it: Contains many useful features to increase code readability, notably rainbow nested braces and highlighting escape sequences in string literals as well as highlighting control, query and visibility keywords.
Cost: Free (MS-RL)
Images 6 & 7: Colourised braces based on depth and highlighting format specifiers in strings. Source: github.com/tomasr/viasfora
Software is developed based on requirements which are liable to change over time. If these change, it is not necessarily the same developer that wrote the original code who will implement the new requirements.
This presents the importance of code readability as it facilitates the maintenance and evolution of the codebase by saving time and effort. Code readability is the result of the combination of good formatting, well commented code and proper naming conventions.
Another Visual Studio extension we rate is Viasfora. It’s a programming tool by Tomas Restrepo that brings colour to improve visual recognition, allowing software engineers to quickly understand a section of code and focus attention on the important details by using colour.
The most notable feature is the rainbow nested braces which are particularly useful when writing complex conditions checking between multiple variables. It limits confusion and reduces reading errors.
The new colour scheme is extended to numerous keywords including control flow statements, query searches and visibility statements, making SQL-based database searches more legible and easier to follow.
Viasfora goes the extra step with the C and C++ language by highlighting escape sequences in strings – an extra feature especially appreciated when using many format specifiers.
By: Omar Rwemi
Platform: Visual Studio 2015, 2017, 2019
Description: This plugin allows you to format your comments differently to the rest of your code, including a basic classification system.
Why we like it: The colour classification system helps draw attention to specific comments and sets a clear context before reading the details. Custom tokens and font settings allow you to tailor comments to your requirements.
Cost: Free (Apache 2.0)
Image 8: User defined annotations for multiple categories. Source: github.com/omsharp/BetterComments
The previous section introduced the importance of code readability and how the use of colour can help understand a codebase more efficiently.
Better Comments by Omar Rwemi is a highly customisable extension to organise and display comments differently based on a list of user defined tokens.
There are four classification options for which you can specify the text foreground colour and font settings:
- font type
- and whether font should be displayed as bold, italic, underlined or strikethrough.
The token can also be tailored and can be as simple as a special character or a more complex string, as long as it is within the scope of a comment.
This level of customisation enables programmers to create their own colour code convention to suite their preferences.
By: Mads Kristensen
Platform: Visual Studio 2015, 2017, 2019, 2022
Description: Highlights unnecessary whitespace in your code.
Why we like it: It helps keep your code clean and tidy. Reduces the chance of accidentally committing whitespace changes to revision control.
Cost: Free (MIT)
Image 9: Highlighted whitespaces at end of lines. Source: github.com/madskristensen/TrailingWhitespace
So far, we have mainly focused on powerful but heavyweight extensions which might not suite low end devices.
In contrast to these, some extensions such as Trailing Whitespace Visualiser, Add New File and File Icons by Mads Kristensen offer simple yet convenient improvements.
Many developers will relate to the annoyance created by trailing white spaces at the of lines as they can’t be identified easily. These white spaces are considered a change when committing code. Frustratingly, they only end up congesting commits and their revision control history.
Trailing Whitespace Visualiser by Mads Kristensen helps programmers maintain good habits of avoiding useless white spaces by highlighting them in the codebase. It is a small, stand-alone feature that reinforces best practices for code quality and maintenance.
By: Mads Kristensen
Platform: Visual Studio 2017, 2019, 2022
Description: Fastest and easiest way to add new files to a project.
Why we like it: Quicker and more practical than using the Visual Studio interface. All file extensions are supported and folders are automatically created if the file path contains a / character.
Cost: Free (Apache 2.0)
Images 10 & 11: Highlighted whitespaces at end of lines. Source: github.com/madskristensen/TrailingWhitespace
Although Visual Studio’s New File feature works as expected, it requires going through unnecessary dialogs and selecting explicit file formats.
By contrast, Add New Files allows you to add new files of any type to your project in a quick and practical manner and even creates new directories automatically if included in the file name.
By: Mads Kristensen
Platform: Visual Studio 2017, 2019, 2022
Description: Adds icons for files not recognised by the Solution Explorer
Why we like it: A visual aid for quickly differentiating between files, and it’s also aesthetically pleasing.
Cost: Free (Apache 2.0)
Visual Studio’s Solution Explorer is a convenient way of browsing through files in a project at a quick glance, but loses its potential due to the limited scope of file types icons supported. The user must then rely on reading the file type, rather than visually inspecting the icon.
Image 12: New icons for unsupported file extensions. Source: github.com/madskristensen/FileIcons
File Icons adds icons for files not recognised by the Solution Explorer for fast visual grepping.
A simple yet effective addition.
Summary of our Visual Studio extension recommendations
Visual Studio is one of the most widely adopted Integrated Development Environments by programmers. Consequently, a staggering amount of extensions is available.
To help identify the most useful ones, we highlighted the best extensions relating to different facets of the software development process:
- VisualGdb – an especially powerful cross platform debugging tool
- NCunch enables concurrent live unit testing while editing code
- WakaTime automatically tracks time spent on various projects
- CodeMaid addresses another major aspect of software development, code maintenance, by offering formatting and reorganising features
However, as these extensions have high resource requirements, we’ve also included some lightweight options, focusing more on code readability – namely Viasfora and Better Comments.
In addition, we really value the overall convenience of add-ons such as Trailing White Space Visualiser, Add New File and File Icons.
We’ve found these Visual Studio extensions very helpful in accelerating software development – and hope you do too.
Need more resources for your embedded software project?
Talk to us about how our expert programmers can help your software team. Names can be excluded or obfuscated for security compliance.
Click the button to get started