Как создать расширение VS2010, которое использует языковые службы - PullRequest
4 голосов
/ 19 апреля 2010

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

Моя цель: я хочу делать вызовы методов и использовать свойства классов STATIC ITALIC.(Точно так же, как Eclipse и Java)

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

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

1 Ответ

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

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

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

Так что я думаю, что у вас есть варианты:

  • Анализируйте исходный код самостоятельно (например, используя cci ). Это в основном то, что делают основные партнеры VS, такие как Resharper и CodeRush.
  • Я бы также проверил, предоставляет ли DXCore из DevExpress (бесплатно) такой API.
...