Visual studio (2008) интеграция - Intellisense и Colourizer - PullRequest
0 голосов
/ 09 ноября 2009

Итак, я собираюсь посмотреть, как работает интеграция visual studio для нашего порта библиотеки Less ruby: www.dotlesscss.com . По сути, это препроцессор CSS, который расширяет язык CSS и дает вам переменные, миксины, вложенные правила и т. Д. *

Мы хотим, чтобы наш тип файла .Less использовал преимущества VS и подсветку синтаксиса. Теперь, когда язык Less является в значительной степени CSS с несколькими дополнительными тонкостями, было бы разумно расширить существующую поддержку VS для файлов CSS.

Мы начали смотреть на VS SDK, и нам удалось добиться того, чтобы раскрасить весь текст синим (это начало). Но прежде чем мы начнем смотреть на Lexer, я действительно хочу узнать, можем ли мы каким-то образом расширить то, что уже было сделано с поддержкой CSS.

Любые указатели в правильном направлении будут оценены.

Крис.

Ответы [ 2 ]

1 голос
/ 09 ноября 2009

Независимо от того, выберете ли вы 2005, 2008 или 2010 год, у вас будет один и тот же выбор - вы можете выбрать один или другой, но ни в коем случае не можете выбрать оба.

  1. Настройка файлов .less для открытия в редакторе CSS Visual Studio - как есть.
  2. Создайте новую языковую службу для Visual Studio с нуля, с подсветкой синтаксиса и IntelliSense для вашего языка.

Если вы выберете # 2, тогда вы будете писать так называемую языковую службу для Visual Studio, и здесь, и в Интернете есть много ресурсов (в моем блоге их есть). Имейте в виду, что это непростая задача, когда вы пройдете простую подсветку синтаксиса.

1 голос
/ 09 ноября 2009

Это просто в Visual Studio 2010, которая сейчас находится в бета-версии 2. Текстовый редактор является совершенно новым и предназначен для поддержки этого сценария. Если вы покопаетесь в SDK, вы найдете несколько похожих примеров.

Для VS 2008 и более ранних версий вы не можете расширить существующий редактор. Вы должны предоставить совершенно новый редактор, который дублирует все функции существующего редактора.

...