全局的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
文件夹时,智能感知不起作用。但是,如果我打开LibOne
或LibOne.Tests
文件夹,一切都很好。
我注意到的区别是,当我打开Repo
文件夹时,我没有OmniSharp的日志(在VS Code中,视图->输出-> OmniSharp日志)。而在项目文件夹中,我可以看到OmniSharp是如何加载的日志,它是如何寻找项目的,等等。看起来OmniSharp不知何故没有触发或不与包含global.json
的文件夹相关联,并且只有在打开包含project.json
的文件夹时才加载。
如果你能告诉我这里哪里出了问题,我将不胜感激。
我应该更好地阅读文档。以下是我遗漏的内容:https://code.visualstudio.com/docs/editor/codebasics#_opening-a-project
在VS Code中,当一个包含多个项目的文件夹被打开时,一次只有一个项目是活动的(一开始没有活动的)。项目选择器位于状态栏的右下角。
文档中仍然缺少的是,智能感知只适用于活动项目。不确定它是否是VSCode或OmniSharp限制。一旦我选择了一个活动的项目,这个项目的智能感知就开始工作了。
不方便,但聊胜于无。