Как делают меня: Расширение Подсветки синтаксиса Visual Studio

Я хочу разработать расширение для VS2010, который позволит мне, делают некоторые дополнительные функции к подсветке синтаксиса.

Я установил SDK, как я запускаю с?

Дайте немного отрывка (или ссылка на код), где я вижу, как запустить.

Примечание: я должен проверить целый блок кода, или SDK говорит мне на каждом слове, каково это, как это объявляется и т.д.?

20
задан Shimmy 28 July 2010 в 05:40
поделиться

2 ответа

Существует приличное количество информации по написанию классификаторов. Я написал об этом статью в блоге некоторое время назад.

Что касается примеров/кода, есть:

  • Шаблон проекта, поставляемый с SDK (ищите в разделе C#->Extensibility)
  • (в ответе Брайана упоминается) языковой сервис Ook
  • Шаблон для написания классификаторов (ссылка на источник шаблона, так что вам придется отменить шаблонизацию $foo$ частей)
  • Классификатор diff (довольно старый)
  • Пара других классификаторов в различных проектах на моей странице на github.

Ответ на другую часть вашего вопроса о том, говорит ли SDK вам, что такое каждое слово, - "нет", с некоторыми "как бы" оговорками. В целом, базовые языковые модели не раскрываются, хотя вы можете делать такие вещи, как потребление информации о классификации от других классификаторов в надежде, что они дадут вам достаточно информации; некоторые, такие как C#, имеют тенденцию давать много информации, которая может не отображаться в IDE в настройках шрифтов и цветов по умолчанию (проверьте Tools->Options->Environment->Fonts and Colors settings, чтобы увидеть, хотите ли вы изменить, возможно, они уже там), а другие, такие как VB, имеют тенденцию не делать этого. Вы также можете использовать такие вещи, как CodeModel от DTE, но я никогда не слышал, чтобы у кого-то был действительно хороший опыт работы с ним.

Если вам нужен пример потребления информации о классификации, вы можете посмотреть, как это делает CommentTextTagger.cs (часть расширения для проверки орфографии).

21
ответ дан 30 November 2019 в 01:02
поделиться

Вы можете проверить

http://code.msdn.microsoft.com/ookLanguage

, в котором есть выделитель синтаксиса в «OokTokenTag.cs» в примере C #. Конечно, вам нужно проанализировать целый блок текста, но это не так уж сложно.

(Ссылка найдена на http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/657212c1-1685-4ed6-be2f-cbf34fcc5b20 )

2
ответ дан 30 November 2019 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: