OmniSharp未加载到Global.json文件夹的VSCode中(但对于project.json文件夹可正常工作)

时间:2016-08-27 15:41:05

标签: c# visual-studio-code omnisharp

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

问题出在IntelliSense上。当我在VS Code中打开Repo文件夹时,IntelliSense不起作用。但是,如果我打开LibOneLibOne.Tests文件夹,一切正常。

我注意到的不同之处在于,当我打开Repo文件夹时,我没有OmniSharp的日志(在VS Code中,View - > Output - > OmniSharp Log)。而对于项目文件夹,我可以看到OmniSharp如何加载的日志,它如何查找项目等等。看起来OmniSharp以某种方式不被触发或与包含global.json的文件夹无关,并且只在一个文件夹中加载打开包含project.json的文件夹。

我很感激任何关于这里可能出错的想法。

1 个答案:

答案 0 :(得分:2)

我应该更好地阅读文档。以下是我遗漏的内容:map_reduce

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

文档中仍然缺少的是 IntelliSense仅适用于活动项目。不确定是VSCode还是OmniSharp限制。一旦我选择了一个活动项目,该项目的IntelliSense就开始工作了。

不方便,但总比没有好。