Visual Studio vNext Code Editor Improvements for C++

Sumit Kumar on the VC++ team has revealed some of the new IDE features for the next version of Visual Studio. While some of them are merely catching up to VB/C#, others suggest new features that all of the languages could take advantage of.

First up is “Semantic Colorization”. This adds colorization to types, enumerations, and macros to the C++ code editor. An interesting idea is adds is the distinction between local variables and parameters, the latter being shown in italics. Like VB and XAML, there are many more language-specific tokens that they user can apply custom styling to. Here is the tentative list that Sumit offered:

Reference Highlighting, already familiar to VB and C# users, is now included. As in those languages, the Control+Shift+[Up/Down] keyboard shortcut will jump to the next/previous reference.

IntelliSense for C++ has gotten a boost. You no longer need to explicitly open the code-completion dropdown, suggesting that they fixed the performance problems that necessitated not opening it automatically in the past. The list also supports member list filtering, a much welcome enhancement when dealing with long lists of functions.

Code snippets are now in C++ as well. For those of you who aren’t .NET developers, a code snippet could be thought of as a one-shot macro or template. For example, if you type “switch<Tab>” it will add the necessary parenthesis, braces, and default case statement. Code snippets are configurable and there is some logic for linked fields to further reduce typing. While one can edit the snippet XML file by hand, the Snippet Editor by Bill McCarthy makes it much easier.

A new version of the Solution Explorer tool window is slated for the next release. This is clearly based on the functionality offered by the Productivity Power Tools extension. It would not be surprising if other features get promoted from this extension to the main build in the next version.