Первый взгляд на новые возможности для С++ разработчика в следующей версии Visual Studio

Источник: habrahabr

Сегодня я расскажу о некоторых из новых возможностей следующей версии Visual Studio, которые помогут С++ разработчикам работать более продуктивно.

В этой статье (а она не последняя) речь идёт о функциях, помогающих лучше понимать и быстрее редактировать код.

Улучшение понимания кода

Подсветка синтаксиса

 Подсветка синтаксиса помогает быстрее "схватывать" код на основе цветовой дифференциации различных сущностей. В дополнение к поддерживаемым ранее ключевым словам, строкам и комментариям, теперь подсветка работает и для типов, перечислений, макросов, параметров и т.д. (см. скриншот). Оцените, насколько лучше в коде выделены ключевые элементы.

 
 

Вы также можете настроить цвета для каждого типа токенов - например, можно изменить цвета или шрифты для отображения локальных и глобальных переменных, что поможет определять их тип без необходимости искать определение.

Подсветка ссылок

 Еще одна существенная фича это подсветка ссылок. Когда Вы наводите курсор на какой-нибудь символ в тексте - все появления этого символа в коде подсвечиваются. Подсвечиваются, к стати, только правильные ссылки (например, если две переменные имеют одно имя, но разные области видимости - будет подсвечена только нужная). Вы можете пользоваться хоткеями Ctrl+Shift+Up и Ctrl+Shift+Down для перемещения между ссылками - Вы теперь можете реже пользоваться диалогом поиска. Скриншот ниже показывает все использования переменной cxExtentMax в теле функции, но переменная с тем же именем, объявленная вне тела функции не подсвечивается.

 

Новый Solution Explorer

 Есть достаточное количество окон в Visual Studio, которые приходится использовать постоянно: Navigate To, Class View, Object Browser, Find All References, Call Hierarchy и т.д. Представьте, как было бы классно иметь одно окно, способное по функционалу заменить их все. Поздравляю, теперь Вы понимаете, чем является новый Solution Explorer. Конечно, все остальные окна никуда не пропали, но цель нового Solution Explorer свести их использование к минимуму. Этому окну будет посвящена целая отдельная статья, но вот коротко пару основных моментов:

 

Вы можете "раскрыть" файлы для просмотра функций и классов, которые в них содержатся.

 Прямо здесь же можно воспользоваться поиском.

 
Вы можете переходить вперед и назад между разными видами Solution Explorer и создавать несколько разных его окон с различными корнями. Вы можете сузить область видимости до одного проекта, или файла, или типа.
 
 
Содержимое редактора кода автоматически синхронизируется с Solution Explorer. Клик на символе в Solution Explorer переносит Вас к определению этого символа в редакторе. Вы можете также видеть взаимоотношения между сущностями (кто кого вызывает, кто на кого ссылается, кто от кого наследуется).
 
 
 

Улучшения редактора кода

 Автоматическое выпадание списка подсказок IntelliSense
 В Visual Studio 2010 и предыдущих версиях, список подсказок IntelliSense выпадал либо по нажатию хоткея (Ctrl+Space или Ctrl+J), либо после определенных символов( "::", ".", "->"). В следующей версии это будет происходить автоматически, по мере набора текста.

 
Автоматические подсказки достаточно умны - они не срабатывают тогда, когда в них нет нужды. К примеру, в процессе объявления новой переменной нет необходимости в подсказках.
 

Фильтрация имен

 Список членов классов теперь не только показывается автоматически, но и фильтруется по мере набора текста.

 

Обратите внимание, что "pb" - не префик и не подстрока названия нужного метода. Фильтрация использует специальную хитрую логику для отображения только релевантных методов. Если же эта логика Вам не нравится - Вы можете переключиться на префиксную, camel-фильтрацию или вообще отключить этот механизм.

Сниппеты

Сниппеты позволяют быстро написать некий стандартный блок кода всего несколькими нажатиями клавиш. Вот, например, как это работает для switch-блока: как только Вы начинаете писать, IntelliSense показывает подходящий сниппет, который может сразу быть выбран нажатием клавиши Tab.

 

Сниппетов достаточно много, не думайте, что всё заканчивается на одном лишь switch-блоке. Есть конструкции для циклов, условий, объявления классов и т.д. Каждый сниппет экономит немного времени, давая возможность потратить его на более ценные вещи. Кроме того, Вы можете создавать собственные сниппеты - это просто XML файлы.

Заключение

 Большинство описанных возможностей были запрошены пользователями. Именно эта обратная связь даёт возможность сделать наш продукт лучше. Обратите внимания - представленные в статье описания и скриншоты сделаны с использованием внутренней версии продукта, они всё еще в разработке и могут немного измениться к релизу. Описанные в статье возможности - лишь малая часть всего, что ждет пользователей в новой версии IDE. Следите за новыми постами.

 


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=27397