It’s 2021, and Visual Studio, while being one of the oldest IDEs out there, is still the most popular in the C++ community. A 2020 JetBrains survey found that it is the most used IDE among C++ developers:
Image source: JetBrains
Simply put, for C++ devs, Visual Studio is the place to be.
But your work doesn’t end with just making Visual Studio your IDE of choice. Most developers also couple Visual Studio with extensions (available in the VS Extension Marketplace.)
While recent articles out there focus on what Visual Studio 2019 had to offer, I would like to put the spotlight on the wonderful world of visual studio C++ extensions and share my top picks with you.
This extension brought by Whole Tomato provides a suite of features to boost productivity, such as autocomplete, automated refactoring, code generation, debugging, and more. It has a reputation for providing unmatched functionality in reducing code complexity as well as generating code quickly.
Among its features you can find:
- Coding assistance
- Code generation
- Code understanding
- Code correction
- Code inspection
- Debug assistance
Code Runner enables you to execute code file or code snippet for any language directly within Visual Studio Code with no need for terminal interaction.
The old extension for .NET by JetBrains has a similar version for C++. Like Visual Assist, this extension is also a productivity set of tools (JetBrains also wrote a piece comparing the two) that “provides on-the-fly code analysis, quick-fixes, powerful search and navigation, smart code completion, refactoring, a variety of code generation options and other features to help increase your everyday productivity”.
Resharper helps Visual Studio C++ users to:
- Analyze and improve code quality
- Find usages and navigate code
- Refactor and transform code
- Generate common code
- Run and manage unit tests
- Use a consistent code style
As the name suggests, CodeMaid is all about cleaning up, code-wise. It assists in simplifying code by removing unnecessary whitespaces, organizing code and formatting code in a consistent manner. Additionally, it provides navigation/digging features that allow rearranging the code for better navigation.
The list of features is impressive and includes:
- Code cleaning
- Code digging
- Code reorganizing
- Comment formatting
A tool for file and folder comparison and merging that allows multi-directional merge and provides:
- Colored blocks for inserted, deleted, and modified text
- Detailed highlighting of changes within lines
- Collapsing of unchanged text regions (Pro-feature)
- Point-and-click merge with a mouse
- Editing files on the fly
- Merging shortcuts for advanced users
Backtrace Crashpad Integration
Backtrace is an error capture tool that its slogan is “Ship better code faster” (we love it already!), it is basically a platform for error management that assist you in catching and fixing crashes and exceptions. The Visual Studio extension makes the process of installing and integrating Crashpad error capture into Windows C++ development especially easy, to allow you to capture crashes to your Backtrace instance. Simply put, it simplifies crash reporting.
This tool is especially valuable to C++ devs that work with open source code and have their work cut out for them in order to compile the source code to integrate with their application.
Among the many features Backtrace provides you may find:
- A smart wizard to add Crashpad binaries to builds and to make sure the right binary is used
- Crashpad editable template files
- A post build script
FastFind is a very handy tool to navigate around projects by locating text in files (instead of the tedious process of find-in-files searches). It auto-updates the user while typing using advanced pattern matching and includes a ‘jumping’ feature to jump to and from C++ header files.
In addition, FastFind offers some cool features, such as:
- Fast wildcard matching
- Modal and dockable windows
- Fully customizable colors
SonarLint is a Visual Studio 2019 extension to quickly locate bugs and quality issues in C#, VB.Net, C, C++, and JS. It’s basically a static (and smart) code analysis tool that includes hundreds of rules.
While I’m quite biased, the C++ Visual Studio community should consider Incredibuild’s solution as a must-have. It addresses the painful issue of slow compilation time (which is very common for compiling in C++) and speeds up the entire development cycle by up to 30X faster! By distributing time-consuming tasks such as builds, tests, code analysis, and more, across machines in the local network or public cloud, Incredibuild reduces these tasks time by up to 90%. Additionally, the icing on the cake is that Incredibuild’s solution includes a revolutionary build visualization tool that replaces the text output with a sleek intuitive graphical UI. For a non-biased review, just check out Visual Studio’s article about it.
At the end of the day, the above C++ extensions are meant to make your life easier as C++ devs using Visual Studio. I tried to present you with the best visual studio extensions c++. I found that the best way to learn if an extension is right for you is to test it out. If after a while, you can’t imagine life without it, it’s a keeper.