Как создать расширение VS2010, использующее языковые службы

StackOverflow https://stackoverflow.com/questions/2667443

Вопрос

Создание расширений стало намного проще с Vs2010, но, похоже, это относится не ко всему...

Моя цель:Я хочу, чтобы вызовы методов и использование свойств статических классов были выделены КУРСИВОМ.(Точно так же, как Eclipse и Java)

Я думаю, мне нужно обратиться к языковой службе C # за этой информацией, но поиск по "Языковой службе" дает результаты только о том, как ее СОЗДАТЬ, а не о том, как использовать одну из существующих...

Чтобы сформулировать этот вопрос немного более общим образом:Как мне получить информацию о свойствах кода (статичность / видимость и т.д.) для его использования в VSX?

Это было полезно?

Решение

Как правило, чтобы воспользоваться языковой услугой, вы запрашиваете ее у поставщика услуг.

Но, к сожалению, языковая служба C # в VS2010 не предоставляет общедоступный и поддерживаемый API для получения такого рода информации об исходном коде.Есть тот самый API кодовой модели, но он вообще не поддерживает тела методов.Будущая версия Visual Studio предоставит такую функциональность, как общедоступный поддерживаемый API.

Поэтому я думаю, что у вас есть следующие варианты:

  • Проанализируйте исходный код самостоятельно (например,используя cci).По сути, это то, чем занимаются крупные партнеры VS, такие как Resharper и CodeRush.
  • Я бы также проверил, предоставляет ли DXCore от DevExpress (который является бесплатным) такой API.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top