VS2008: выделите несколько слов разными цветами одновременно - возможно, как плагин? - PullRequest
4 голосов
/ 05 июня 2009

Я использую GVim и Visual Studio для кодирования. Одна из самых недостающих функций в VS по сравнению с GVim это возможность выделить несколько слов разными цветами одновременно. Видеть это снимок экрана сеанса GVim для примера (отмечены wResult и fBufferLocked )

В GVim я использую эту функцию очень часто, чтобы получить быстрый обзор, где используется переменная.

Я не нашел плагин, который обеспечивает эту функцию для VS. Я знаю решения, которые Можно выделить одно (!) ключевое слово, но не несколько и разными цветами. Поэтому я планирую написать плагин для VS 2008, который реализует эту функцию (если кто-то сейчас не дает ссылку на готовый плагин, который делает то, чего мне так не хватает; -))

Ну, проблема в том, что у меня нет опыта в написании плагинов для VS 2008 (или любой другой VS). И прежде чем начать изучать архитектуру плагинов VS, я бы хотел получить от вас обратную связь о том, возможен ли вообще такой плагин и какими усилиями он это реализовать его.

Идея заключается в следующем:

Если пользователь нажимает определенную комбинацию клавиш в редакторе кода VS, слово под курсором добавлена ​​подсветка синтаксиса VS. Скажи это слово 1 с цветом фона 1. Теперь выделены все ключевые слова «слово 1».

Если пользователь наводит курсор на другое слово и нажимает клавишу быстрого вызова, это слово также будет добавлено к подсветке синтаксиса, но с другим фоном цвет. Скажем, это слово 2 с цветом фона 2.

Если курсор находится над уже выделенным словом и пользователь нажимает клавишу быстрого доступа затем слово удаляется из подсветки синтаксиса.

Так что в основном плагин должен добавлять ключевые слова к текущей подсветке синтаксиса и удалите их по требованию.

Мои вопросы:

  1. Является ли подход, позволяющий сделать это с помощью подсветки синтаксиса и подключаемого модуля, правильным один или есть (лучше, проще) альтернативы?

  2. Этот подход работает вообще? Или, иначе говоря:

    2,1. Можно ли расширить существующую подсветку синтаксиса (например, C ++) во время работы VS?

    2,2. Если ключевое слово добавляется / удаляется в / из подсветки синтаксиса во время выполнения, когда VS обновляет представление редактора? При смене выделения автоматически должен и может ли плагин вызывать обновление представления редактора или должен быть перезапущен VS (последний будет выбить из этой идеи)?

  3. Существует ли плагин VS 2008 с открытым исходным кодом, который делает что-то с подсветкой синтаксиса, маркировкой кода или чем-то подобным, что я мог бы использовать в качестве отправной точки для изучения? Хорошей отправной точкой в ​​MSDN, кажется, является this , и при вводе этого я нашел плагин, который по крайней мере имеет дело с подсветкой синтаксиса .

Заранее спасибо за ваши комментарии ...

Привет
Хаби

Ответы [ 3 ]

2 голосов
/ 11 июня 2009

Я бы посоветовал вам взглянуть на DXCore от DevExpress . Это бесплатный API, который CodeRush / Refactor! построен на. Делать что-то подобное намного проще. В текст ссылки доступны несколько плагинов, которые могут помочь вам привести несколько примеров / начальный код.

0 голосов
/ 05 июня 2009

Я бы сказал, что если вы не возражаете против проблем с областями видимости, то для вас должен быть легко окрашен наш язык (я разработчик ссылки 3), но я не уверен, что вы можете добавить дополнительную окраску к существующий язык. Но я бы предположил, что вы можете.

0 голосов
/ 05 июня 2009

Это прямо не отвечает на ваш вопрос, но если вы хотите использовать функции gvim в visual studio, вы можете использовать ViEmu . Они предлагают 30-дневную бесплатную пробную версию, но лицензия обойдется вам в $ 99.

...