【发布时间】:2021-11-24 04:29:07
【问题描述】:
好的,我知道这个问题已经被问过并回答了很多次,但我花了大约 3 天的时间试图解决这个问题,到目前为止我尝试过的任何方法都没有奏效。我基本上在 Visual Studio Code 中有部分智能感知;也就是说,它似乎只识别 Unity 类和 GameObject 等变量,不识别 Unity 函数,如 Update() 或 OnDestroy()。我还在 OmniSharp 日志中收到一些错误消息,可能会让我相信它是 sln 文件的问题?我真的不知道。 Omnisharp 服务器似乎可以正常启动并加载项目,但是当我在编辑器中输入时,我在 Omnisharp 日志中收到错误,例如“收到 /v2/getcodeactions 的响应但找不到请求”。以下是 Omnisharp 日志中的错误通常的示例:
收到 /quickinfo 的响应,但找不到请求。
收到 /completion/resolve 的响应,但找不到请求。
收到 /v2/getcodeactions 的响应,但找不到请求。
没有找到符号。文件:/Users/noahbissell/Desktop/Unity Editors/Test/Assets/Test.cs,行:11,列:12。
这是我目前安装的所有版本(我也在 Mac 上,macOS Monterey):
- Visual Studio 代码 1.62.3
- 单声道 6.12.0(稳定通道)
- .NET 3.0.3
- Unity Editor 2020.3.23
- Visual Studio 代码编辑器包 1.2.4
- Visual Studio Code C# 扩展 1.23.16
我尝试过的一些更常见的解决方案是将 useGlobalMono 变量设置为“始终”,并从 Unity 重新生成 csproj 文件。我还确保我使用了正确的 sln 文件,并尝试了来自其他线程的一大堆建议。在这一点上,感觉就像我已经用尽了所有可能的解决方案,但如果有人为您的设置解决了这个问题,请告诉我,以便我试一试。另外,如果您也在 Mac 上,您能否发布上述所有软件的工作版本,以便我可以尝试您的配置?我想只要我不能让它工作,我就会满足于 VSCode 扩展......
【问题讨论】:
-
看来您确实尝试过最常见的解决方案(在我的情况下使用全局单声道),但要尝试的另一件事是将统一包管理器中的 VSCode 包降级到 1.1.3 - 这就是升级旧版本的项目后,我经常需要在windows上做
标签: c# unity3d visual-studio-code omnisharp