В Visual Studio 2013 появилось очень много новых возможностей. С некоторыми из них вы можете ознакомиться из статей на хабре. Некоторые из этих возможностей были долго ожидаемы сообществом, и в общем то не привносят ничего нового в функциональность среды, просто делают ее немного удобнее, как например окно опций, размер которого можно менять. Но так же есть возможности, о которых, как только взглянешь на них сразу же хочется воскликнуть «Круто!».
Речь идет о CodeLens – информационных индикаторах которые отображаются в коде и могут в лаконичной форме показать прямо в тексте программы важную информацию которая затем пригодится при работе с кодом приложения.
Так что же такое CodeLens?
Как уже было сказано, CodeLens это индикаторы, которые работают прямо в коде:
_mini_oszone.png)
Увеличить
По умолчанию они включены в среде для проектов VB.NET и C#. Вы можете настроить отображение этих индикаторов через настройки основной среды Tools> Options>TextEditor> AllLanguages> CodeInformationIndicators.
_mini_oszone.png)
Увеличить
В комплект поставки Visual Studio 2013 Ultimate входит 8 индикаторов:
- TestStatus – отображает статус модульного теста для функции
- References – отображает количество ссылок на функцию в других участках кода. Сколько раз эту функцию вызывают.
- TestedBy – отображает конкретные модульные тесты в окне индикатора которые проверяют данную функцию
- Authors – отображает автора изменений в коде
- Changes – отображает ссылки на последние изменения в коде
- Bugs – количество багов ассоциированных с этой функцией в Team Foundation Server
- WorkItems – рабочие элементы (таски, баги) которые связаны с этой функцией
- CodeReview – отображает рецензии на функцию
Индикаторы не только показывают какую-то информацию, но так же дают возможность более детально узнать необходимую информацию связанную с типом индикатора.
Вы можете вызвать окно детальной информации для каждого индикатора просто щелкнув по нему мышкой или нажав одновременно клавиши Alt-{номер индикатора}. У некоторых из индикаторов есть немало дополнительных возможностей.
Индикатор ссылок на код
Показывает количество ссылок на функцию или тип. Если открыть окно индикатора то так же будет отображена информация о функциях которые вызывают текущий код:
_mini_oszone.png)
Увеличить
Этот индикатор удобно использовать в паре с возможностью построения карты зависимостей кода. Просто нажмите на ссылку «ShowonCodeMap» и в дополнительном окне будет показано визуальное представление зависимостей кода:
_mini_oszone.png)
Увеличить
Количество изменений которые влияют на текущий участок кода в текущем бранче могут быть отображены по нажатию на клавишу Alt+5:
_mini_oszone.png)
Увеличить
Обратите внимание на то что у индикатора присутствует знак +. Это означает что текущая версия «отстает» от той которая уже есть на сервере контроля версий, и вполне вероятно придется прибегать к процедуре слияния изменений (мерджингу).
В этом же окне индикатора можно сравнить текущую версию файла с выбранной:
_mini_oszone.png)
Увеличить
Тем самым заранее узнать о потенциальных конфликтах.
Индикаторы связей с багами, тасками и другими рабочими элементами
Любое изменение в коде (changeset) может быть ассоциировано с рабочими элементами в Team Foundation Server. Индикаторы багов и рабочих элементов отображают количество таких связей, а при вызове окна индикатора позволяют быстро перейти к информации в рабочем элементе.
Пример связей с багами:
_mini_oszone.png)
Увеличить
Пример связей с задачами:
_mini_oszone.png)
Увеличить
Индикаторы тестов
Модульные тесты, которые проверяют текущую функцию отображаются в индикаторах тестов. Отображается количество успешных и неудачных тестов а так же дополнительная информация в окне индикатора с ссылками на те тесты которые проверяли данную функцию:
_mini_oszone.png)
Увеличить
Из окна детализации вы быстро можете попасть к месту определения теста:
_mini_oszone.png)
Увеличить
При этом у самого теста появляется дополнительный индикатор, который отображает детальную информацию о результатах выполнения теста:
_mini_oszone.png)
Увеличить
Интеграция с Lync
Если в вашей организации используется Lync, то в дополнение к вышеперечисленным функциям у вас так же появляется иконка статуса. Это позволяет оперативно связаться с автором изменений в коде или владельцем задачи для быстрого решения каких либо вопросов:
_mini_oszone.png)
Увеличить
Расширение возможностей индикаторов
Вполне вероятно, что скоро появятся дополнительные индикаторы, которые расширят текущие возможности Visual Studio 2013 Ultimate.
Первый из них уже можно установить с сайта Visual Studio Gallery. Этот дополнительный индикатор показывает «чистоту кода» подсчитывая признанные в индустрии разработки параметры кода, такие как MaintanabilityIndex, LinesofCode, CyclomaticComplexity иHalsteadVolume.
_mini_oszone.png)
Увеличить
Заключение
Надеемся, что технология CodeLens придется по вкусу многим разработчикам, и сделает их труд еще более легким. Напоминаем, что вы можете загрузить Visual Studio 2013 Ultimate с сайта Microsoft и попробовать новые возможности прямо сегодня.