Visual Studio с идентичной подсветкой токенов - PullRequest
66 голосов
/ 28 августа 2008

Прошлой весной я написал код для игры Mancala на Java для класса колледжа и использовал IDE Eclipse . Одним из замечательных (и довольно простых) наглядных пособий в Eclipse является то, что если вы выберете определенный токен, скажем, объявленную переменную, то IDE автоматически выделит все другие ссылки на этот токен на вашем экране. Блокнот ++ , моя предпочтительная замена Блокнота, также делает это.

Еще одна изящная и похожая функция в Eclipse - вертикальная «строка ошибок» справа от вашего кода (не знаю, как ее назвать). Он отображает маленькие красные прямоугольники для всех синтаксических ошибок в вашем документе, желтые прямоугольники для предупреждений, таких как «переменная объявлена, но не используется», и если вы выбираете слово, поля появляются на панели для каждого вхождения слова в документе.

Скриншот этих функций в действии: screenshot

После получаса поиска я решил, что Visual Studio не может сделать это самостоятельно, поэтому мой вопрос: кто-нибудь знает какие-либо надстройки для 2005 или 2008, которые могут предоставить одну из вышеупомянутых функций?

Было бы неплохо выделить текущую строку, на которой находится курсор. Я считаю, что надстройка ReSharper может это сделать, но я бы предпочел использовать бесплатную надстройку, а не приобретать ее.

Ответы [ 11 ]

32 голосов
/ 12 июля 2010

Существует альтернатива RockScroll под названием MetalScroll , которая по сути та же самая вещь с несколькими изменениями и улучшениями.

Также имеется небольшой и простой плагин WordLight , который выделяет только идентичные токены.

И то, и другое - сворачивание кода с открытым исходным кодом и поддержка, что приятно.

Imho, полоса рядом с полосой прокрутки в Eclipse является гораздо более элегантным решением, чем замена RockScroll / MetalScroll с полосой прокрутки. К сожалению, я не смог найти какие-либо плагины VS, которые делают это в стиле Eclipse, поэтому я просто придерживаюсь WordLight.

12 голосов
/ 24 февраля 2011

Проверить следующие дополнения Инструменты повышения производительности - отображает ошибку на полосе прокрутки и

Выделение выбранного слова

11 голосов
/ 03 сентября 2008

В другом вопросе о SO ( ссылка ) кто-то упомянул надстройку VS 2005 / VS 2008 "RockScroll". Кажется, он предоставляет функцию «панели ошибок», о которой я спрашивал в моем вопросе выше.

RockScroll

РЕДАКТИРОВАТЬ: RockScroll также выполняет идентичное выделение токенов, которое я искал! Отлично!

9 голосов
/ 20 апреля 2010

Старый вопрос, но ... В Visual Studio 2010 эта функция встроена, наконец.

8 голосов
/ 30 июля 2009

Функциональность выделения удобно реализована в VisualAssist . На мой взгляд, они оба должны иметь.

1) Выделите идентификатор при редактировании каретки: Параметры -> Дополнительно -> Рефакторинг -> Автоматически выделять ссылки на символ под курсором

2) Подсветка результатов поиска - во всех окнах. Работает на RegExps! Параметры -> Дополнительно -> Показать -> Выделить результаты поиска

3 голосов
/ 25 июня 2009

О RockScroll: не выделяет идентификаторы. Это только выдвигает на первый план ту же самую строку в исходном коде! Если есть аналогичный идентификатор, объявленный: напр. _test и test, и test выделен, он также выделит строку "test" в переменной _test И он также выделит ту же строку в методе с именем «sometesting ()». Так что это не совсем затмение и не работает для меня.

3 голосов
/ 03 сентября 2008

Автоматическое выделение реализовано в Visual Assist как команда рефакторинга «Найти ссылки». Он выделяет все вхождения данной переменной или метода, но это не автоматически (привязано к сочетанию клавиш на моем компьютере).

Вот пример:

alt text

2 голосов
/ 28 августа 2008

DevExpress CodeRush делает это, когда вы нажимаете TAB, когда курсор находится в идентификаторе, затем вы можете перемещаться по всем выделенным экземплярам. Есть также плагин DXCore (основа, на которой построен CodeRush / Refactor Pro), который делает подсвечивание текущей строки.

1 голос
/ 30 октября 2017

В VS 2017 это можно решить, установив плагин Match Margin .

Похоже, что это часть Productivity Power Tools (на что, возможно, стоит обратить внимание и на другие функции), но, что удивительно, установка PPT не решила проблему для меня, мне пришлось установить Match Маржа отдельно.

1 голос
/ 21 сентября 2012

Только для выбранной функции выделения слова (слов) есть также StickyHighlight .

StickyHighlight поддерживает Visual Studio 2010 и 2012.

...