Прикрепить VsPackage к экземпляру Roslyn

Я пытаюсь создать VsPackage, использующий языковые службы Roslyn. В свойствах моего VsPackage я изменил аргументы командной строки на:

/rootsuffix Roslyn

При запуске проекта запускаемый экземпляр Visual Studio правильно использует Roslyn. (Я вижу [Roslyn] рядом с именами открытых файлов .cs). Однако мой VsPackage не развернут в этом экземпляре Visual Studio.

Я открыл SyntaxVisualizerExtension VsPackage, который поставляется с Roslyn, и скомпилировал/запустил его. Он правильно развертывается в Visual Studio с помощью Roslyn. Я просмотрел свойства проекта и ссылки, и ничего не выделилось для меня недостающим.

Шаги, которые я предпринимаю:

  1. Файл > Новый проект > Пакет Visual Studio
  2. Создать с помощью окна инструментов
  3. Откройте свойства проекта, измените /rootsuffix Exp на /rootsuffix Roslyn
  4. Добавьте ссылки на Roslyn .dll
  5. Запустить проект.

Теоретически я, вероятно, мог бы удалить пакет SyntaxVisualizerExtension, но я хотел бы знать, как правильно создать VsPackage для экземпляра Roslyn.


person JoshVarty    schedule 16.12.2013    source источник
comment
См. также github.com/SLaks/Root-VSIX, чтобы установить его вручную.   -  person SLaks    schedule 18.12.2013


Ответы (1)


Нет настройки пользовательского интерфейса для управления тем, что представляет собой свойство. Отредактируйте файл проекта в Блокноте (или выгрузите проект в VS, а затем щелкните правой кнопкой мыши и выберите «редактировать») и добавьте эту строку:

<VSSDKTargetPlatformRegRootSuffix>Roslyn</VSSDKTargetPlatformRegRootSuffix>

в соответствующую группу свойств. Посмотрите в качестве примера проекты, созданные с помощью любого из шаблонов Roslyn.

person Jason Malinowski    schedule 16.12.2013