VS Code IntelliSense 不适用于 Unity。为什么?

qqq*_*qqq 1 c# intellisense unity-game-engine visual-studio-code

VS Code IntelliSense 不适用于 Unity。为什么?

我在 VS Code 中使用 Unity。当我打字时,我没有得到任何与 Unity 相关的建议。例如,gameObject一旦我输入,我就没有得到建议this.

在此处输入图片说明

另一个例子是我不能去MonoBehaviour定义:

在此处输入图片说明 在此处输入图片说明

我看到了这个问题。因此,我检查了答案中推荐的所有扩展是否已安装:

在此处输入图片说明

扩展安装没有帮助。有人可以帮忙解决这个问题吗?

我正在使用Unity 2019.3.2f1

如果在 Unity Editor 中,我转到Window - Package Manager - 搜索Visual Studio Code Editor我看到它在那里:

在此处输入图片说明

实际上我什至看不到System的定义。所以,我认为 VS Code 方面应该有问题:

在此处输入图片说明

另外,我跟着视频。它没有帮助。视频下方有评论:

对于仍然无法使自动完成工作的任何人,请尝试安装“.net framework 4.7.1 developer pack”。

就我而言,我使用的是 Unity 2019.1.2,并且我安装了 dotnet core 2.2,它带有“.net framework 4.7.2.”。显然 Unity 2019.1.2 需要框架 4.7.1。您可以通过检查 Assembly-CSharp.csproj 文件找到所需的 .net 框架版本

我遵循了评论建议。我检查了TargetFrameworkVersion. 它是4.7.1。所以,我下载了4.7.1. 在安装该版本时,它告诉我它已经安装,以及我是否想重新安装它。我重新安装了它,但它仍然没有帮助。

qqq*_*qqq 10

看来我能够解决这个问题。我去编辑-项目设置-播放器-其他设置-配置- Api 兼容性级别。然后我把它从.NET Standard 2.0改为.NET 4.x。然后我重新打开 Unity,将其改回(以保留 API 限制)并重新打开 Unity。现在这些建议按预期工作。除了几个警告,我对剧本开放获取(这里是这是关系到警告的问题)。

  • 我无法更改 Api 兼容性级别,它在 .Net Standard 2.0 中被禁用 (2认同)