Поделиться через


CodeLens в Visual Studio 2013

В Visual Studio 2013 появилось очень много новых возможностей. С некоторыми из них вы можете ознакомиться из статей на хабре. Некоторые из этих возможностей были долго ожидаемы сообществом, и в общем то не привносят ничего нового в функциональность среды, просто делают ее немного удобнее, как например окно опций, размер которого можно менять. Но так же есть возможности, о которых, как только взглянешь на них сразу же хочется воскликнуть «Круто!».
Речь идет о CodeLens – информационных индикаторах которые отображаются в коде и могут в лаконичной форме показать прямо в тексте программы важную информацию которая затем пригодится при работе с кодом приложения.

Так что же такое CodeLens?


Как уже было сказано, CodeLens это индикаторы, которые работают прямо в коде:


По умолчанию они включены в среде для проектов VB.NET и C#. Вы можете настроить отображение этих индикаторов через настройки основной среды Tools> Options>TextEditor> AllLanguages> CodeInformationIndicators.


В комплект поставки Visual Studio 2013 Ultimate входит 8 индикаторов:

  1. TestStatus – отображает статус модульного теста для функции
  2. References – отображает количество ссылок на функцию в других участках кода. Сколько раз эту функцию вызывают.
  3. TestedBy – отображает конкретные модульные тесты в окне индикатора которые проверяют данную функцию
  4. Authors – отображает автора изменений в коде
  5. Changes – отображает ссылки на последние изменения в коде
  6. Bugs – количество багов ассоциированных с этой функцией в Team Foundation Server
  7. WorkItems – рабочие элементы (таски, баги) которые связаны с этой функцией
  8. CodeReview – отображает рецензии на функцию


Индикаторы не только показывают какую-то информацию, но так же дают возможность более детально узнать необходимую информацию связанную с типом индикатора.
Вы можете вызвать окно детальной информации для каждого индикатора просто щелкнув по нему мышкой или нажав одновременно клавиши Alt-{номер индикатора}. У некоторых из индикаторов есть немало дополнительных возможностей. 

Индикатор ссылок на код


Показывает количество ссылок на функцию или тип. Если открыть окно индикатора то так же будет отображена информация о функциях которые вызывают текущий код:


Этот индикатор удобно использовать в паре с возможностью построения карты зависимостей кода. Просто нажмите на ссылку «ShowonCodeMap» и в дополнительном окне будет показано визуальное представление зависимостей кода:



Количество изменений которые влияют на текущий участок кода в текущем бранче могут быть отображены по нажатию на клавишу Alt+5:


Обратите внимание на то что у индикатора присутствует знак +. Это означает что текущая версия «отстает» от той которая уже есть на сервере контроля версий, и вполне вероятно придется прибегать к процедуре слияния изменений (мерджингу).
В этом же окне индикатора можно сравнить текущую версию файла с выбранной:


Тем самым заранее узнать о потенциальных конфликтах.

Индикаторы связей с багами, тасками и другими рабочими элементами


Любое изменение в коде (changeset) может быть ассоциировано с рабочими элементами в Team Foundation Server. Индикаторы багов и рабочих элементов отображают количество таких связей, а при вызове окна индикатора позволяют быстро перейти к информации в рабочем элементе. 

Пример связей с багами:

Пример связей с задачами:


Индикаторы тестов


Модульные тесты, которые проверяют текущую функцию отображаются в индикаторах тестов. Отображается количество успешных и неудачных тестов а так же дополнительная информация в окне индикатора с ссылками на те тесты которые проверяли данную функцию:


Из окна детализации вы быстро можете попасть к месту определения теста:


При этом у самого теста появляется дополнительный индикатор, который отображает детальную информацию о результатах выполнения теста:


Интеграция с Lync


Если в вашей организации используется Lync, то в дополнение к вышеперечисленным функциям у вас так же появляется иконка статуса. Это позволяет оперативно связаться с автором изменений в коде или владельцем задачи для быстрого решения каких либо вопросов:


Расширение возможностей индикаторов


Вполне вероятно, что скоро появятся дополнительные индикаторы, которые расширят текущие возможности Visual Studio 2013 Ultimate.
Первый из них уже можно установить с сайта Visual Studio Gallery. Этот дополнительный индикатор показывает «чистоту кода» подсчитывая признанные в индустрии разработки параметры кода, такие как MaintanabilityIndex, LinesofCode, CyclomaticComplexity иHalsteadVolume.



Заключение


Надеемся, что технология CodeLens придется по вкусу многим разработчикам, и сделает их труд еще более легким. Напоминаем, что вы можете загрузить Visual Studio 2013 Ultimate с сайта Microsoft и попробовать новые возможности прямо сегодня.

Автор статьи: Дмитрий Андреев.