
(Approx. Translator: this is a translation of an article from the
Visual C ++ Team Blog )
Today I will talk about some of the new features of the next version of Visual Studio, which will help C ++ developers to work more productively. This article (and it is not the last) deals with functions that help to better understand and edit the code faster.
Improved code understanding
Syntax highlighting
Syntax highlighting helps to “grasp” the code faster based on the color differentiation of various entities. In addition to the previously supported keywords, lines and comments, now the backlight also works for types, enumerations, macros, parameters, etc. (see screenshot). Rate how much better the key elements are highlighted in the code.


You can also customize colors for each type of token — for example, you can change colors or fonts to display local and global variables, which will help determine their type without having to look for a definition.
Highlight links
Another significant feature is the highlighting of links. When you hover over a character in the text, all appearances of this character in the code are highlighted. Only correct links are highlighted, for example (for example, if two variables have the same name, but different scopes, only the necessary one will be highlighted). You can use hotkeys Ctrl + Shift + Up and Ctrl + Shift + Down to move between links - you can now use the search dialog less often. The screenshot below shows all uses of the variable cxExtentMax in the function body, but a variable with the same name declared outside the function body is not highlighted.

')
New Solution Explorer
There are a sufficient number of windows in Visual Studio that you have to use constantly: Navigate To, Class View, Object Browser, Find All References, Call Hierarchy, etc. Imagine how cool it would be to have one window capable of replacing them all by functionality. Congratulations, you now understand what the new Solution Explorer is. Of course, all the other windows have not disappeared, but the goal of the new Solution Explorer is to minimize their use. A whole separate article will be devoted to this window, but here’s a brief couple of highlights:

You can “open” files to view the functions and classes that they contain.
Right here you can use the search.

You can go back and forth between different types of Solution Explorer and create several different windows with different roots. You can narrow the scope to one project, or file, or type.

The contents of the code editor are automatically synchronized with Solution Explorer. Clicking on a symbol in Solution Explorer takes you to the definition of this symbol in the editor. You can also see the relationship between entities (who causes whom, who refers to whom, who inherits from whom).


Code Editor Improvements
Auto drop-down IntelliSense hint list
In Visual Studio 2010 and previous versions, the IntelliSense prompt list was displayed either by pressing a hotkey (Ctrl + Space or Ctrl + J), or after certain characters ("::", ".", "->"). In the next version this will happen automatically as you type.

Automatic prompts are smart enough - they do not work when they are not needed. For example, in the process of declaring a new variable, there is no need for prompts.

Name filtering
The list of class members is now not only shown automatically, but also filtered as you type.

Note that “pb” is not a prefix or a substring of the name of the desired method. Filtering uses special tricky logic to display only relevant methods. If you don’t like this logic, you can switch to prefix, camel-filtering or disable this mechanism altogether.
Snipples
Snippets allow you to quickly write a certain standard code block with just a few keystrokes. For example, here’s how it works for a switch block: as soon as you start writing, IntelliSense displays a suitable snippet, which can immediately be selected by pressing the Tab key.



There are a lot of snippets, do not think that everything ends on only one switch-block. There are constructs for cycles, conditions, class declarations, etc. Each snippet saves a little time, giving you the opportunity to spend it on more valuable things. In addition, you can create your own snippets - these are just XML files.
Conclusion
Most of the features described were requested by users. It is this feedback that makes it possible to make our product better. Pay attention - the descriptions and screenshots presented in the article were made using the internal version of the product, they are still in development and may change slightly for release. The features described in the article are only a small part of everything that waits for users in the new version of IDE. Follow new posts.