OmniSharp не загружается в VSCode для папки global.json (но работает нормально для папок project.json)

Я использую Visual Studio Code 1.4.0, .NET Core 1.0 и .NET Core SDK Preview 2. Протестировано в Windows 10 x64 и Ubuntu 16.04 x64 и обнаружил ту же проблему.

В простейшем примере моя структура папок выглядит так:

- Repo\
  |
  +-- global.json
  |
  +-- LibOne\
  |   |
  |   +-- project.json
  |   +-- ClassOne.cs
  |
  +-- LibOne.Tests\
      |
      +-- project.json
      +-- ClassOneTests.cs
  • Полный пример находится в этом репозитории GitHub.
  • LibOne - это библиотека классов
  • LibOne.Tests содержит тесты xUnit для LibOne
  • LibOne.Tests указывает LibOne в своих зависимостях.
  • Я могу успешно восстанавливать, компилировать и запускать тесты как с CLI, так и с VS Code.

Проблема в IntelliSense. Когда я открываю папку Repo в VS Code, IntelliSense не работает. Однако, если я открываю папку LibOne или LibOne.Tests, все работает нормально.

Разница, которую я заметил, заключается в том, что когда я открываю папку Repo, у меня нет журналов OmniSharp (в VS Code, View -> Output -> OmniSharp Log). В то время как с папками проектов я могу видеть журналы того, как загружается OmniSharp, как он ищет проекты и т. Д. Похоже, что OmniSharp каким-то образом не запускается или не связан с папками, содержащими global.json, и загружается только при открытии папки, которая содержит project.json.

Буду признателен за любые идеи о том, что здесь может быть не так.


person felix-b    schedule 27.08.2016    source источник


Ответы (1)


Мне следовало лучше прочитать документацию. Вот чего мне не хватало: https://code.visualstudio.com/docs/editor/codebasics#_opening-a-project

В VS Code при открытии папки, содержащей несколько проектов, одновременно активен только один проект (и ни один из них изначально не активен). Селектор проекта находится в правом нижнем углу строки состояния.

В документации по-прежнему отсутствует то, что IntelliSense будет работать только для активного проекта. Не уверен, что это ограничение VSCode или OmniSharp. Как только я выбрал активный проект, IntelliSense для этого проекта начал работать.

Не удобно, но лучше, чем ничего.

person felix-b    schedule 27.08.2016