全局的OmniSharp没有加载在VSCode中.json文件夹(但工作正常的项目.json文件夹)

本文关键字:文件夹 json 工作 项目 OmniSharp 加载 VSCode 全局 | 更新日期: 2023-09-27 18:04:23

我正在运行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 repo中找到。
  • LibOne是一个类库
  • LibOne.Tests包含LibOne的xUnit测试
  • LibOne.Tests在其依赖项中指定LibOne
  • 我能够成功地恢复,编译和运行测试与CLI和VS Code。

问题在于智能感知。当我在VS Code中打开Repo文件夹时,智能感知不起作用。但是,如果我打开LibOneLibOne.Tests文件夹,一切都很好。

我注意到的区别是,当我打开Repo文件夹时,我没有OmniSharp的日志(在VS Code中,视图->输出-> OmniSharp日志)。而在项目文件夹中,我可以看到OmniSharp是如何加载的日志,它是如何寻找项目的,等等。看起来OmniSharp不知何故没有触发或不与包含global.json的文件夹相关联,并且只有在打开包含project.json的文件夹时才加载。

如果你能告诉我这里哪里出了问题,我将不胜感激。

全局的OmniSharp没有加载在VSCode中.json文件夹(但工作正常的项目.json文件夹)

我应该更好地阅读文档。以下是我遗漏的内容:https://code.visualstudio.com/docs/editor/codebasics#_opening-a-project

在VS Code中,当一个包含多个项目的文件夹被打开时,一次只有一个项目是活动的(一开始没有活动的)。项目选择器位于状态栏的右下角。

文档中仍然缺少的是,智能感知只适用于活动项目。不确定它是否是VSCode或OmniSharp限制。一旦我选择了一个活动的项目,这个项目的智能感知就开始工作了。

不方便,但聊胜于无。