VS Code 无法将“使用 UnityEngine”识别为有效的命名空间。我能做些什么?

VS Code doesn't recognise "using UnityEngine" as a valid namespace. What can I do?

提问人:Floof 提问时间:5/23/2022 最后编辑:WQYeoFloof 更新时间:4/8/2023 访问量:751

问:

在我的项目中创建 C# 文件后,我从 Unity 打开了“.cs”文件,但是在 VS Code 中既没有检测到 UnityEngine 也没有(显然)MonoBehaviour
因此,Intellisense 也无能为力,这对我来说是一个很大的障碍,因为我对 UnityEngine 库完全陌生。OmniSharp 日志还给出了 输出中的警告:

[fail]: OmniSharp.MSBuild.ProjectManager
        Attempted to update project that is not loaded: c:\Users\bomka\My project\Assembly-CSharp.csproj
[warn]: OmniSharp.Roslyn.CSharp.Services.InlayHints.InlayHintService
        Inlay hints requested for document not in workspace Location { FileName = c:\Users\bomka\My project\Assets\scripts\Circle.cs, Range = Range { Start = Point { Line = 0, Column = 0 }, End = Point { Line = 19, Column = 0 } } }

到目前为止,我尝试过的事情:

  • 我已经重新下载了 Unity 和 VS Code(最新版本,分别为 2021.3.3f1 和 1.67.2)
  • 我检查了 Visual Studio Code Editor 和 Visual Studio Editor 是否已下载到 Unity 的包库中(它们分别是 1.2.5 和 2.0.15)
  • 我在 VS Code 中更改为“最新”,因为我已阅读它解决了“尝试更新项目...”问题。不幸的是,它并没有真正做任何事情omnisharp.path

有没有人对我应该在这里做什么有任何想法?另一个有用的信息是,这是我的第一个Unity项目,所以VS Code并不是在一段时间后决定出现故障,这是自从我开始为我的项目编写第一段代码以来它的行为方式。

干杯!

C# unity-游戏引擎 visual-studio-code

评论

0赞 NightOwl888 5/23/2022
您是否使用 VS Code 进行 Unity 开发来设置环境?
0赞 Roe 5/23/2022
我认为您还没有包括所需的工具。另外,我真的可以推荐 jet brains 的骑手 这个 IDE 与 unity 配合得很好
0赞 Floof 6/15/2022
@NightOwl888我下载了 .NET 包,并按照有关设置的说明进行操作,但不幸的是,它没有帮助。VS 向我推荐了一些软件包,所以现在我也在下载这些软件包。祈祷。。。
0赞 Floof 6/15/2022
@rbdeenk您所说的所需工具到底是什么意思?
0赞 Roe 6/16/2022
@Floof 如果使用的是 Visual Studio Code。我建议尝试不同的 IDE,例如 visual studio 或 rider。Visual Studio 是最好的 C# IDE 之一,这两个 IDE 都内置了 Unity 扩展(您必须在安装时启用这些扩展)。

答:

0赞 DeathOwesMEaBeer 5/23/2022 #1

是否在 Unity 的外部工具中设置了 VS?

编辑>首选项>外部工具>外部(脚本)编辑器:Visual Studio。

不确定它是否有帮助,但我知道上述内容将解决 Intellisense 问题,因此可能值得一试。

评论

0赞 Floof 6/15/2022
我忘了提这一点,但我已经做到了,可悲的是它没有帮助
1赞 Felipe Rod 4/8/2023 #2

删除项目根目录上的所有 .csproj 文件。

然后编辑->首选项->外部工具->重新生成项目文件。

在 VSCode F1->Reload 窗口中

这对我有用。