我正在学习Unity,并且发现教程作者在编写方法名称时可以使用Intellisense功能。
但是,我只能在类和变量上使用Intellisense,我的意思是像Rigidbody这样的Unity类和我自己的变量。
我也看过以下内容:
Visual Studio中自动完成未工作我正在学习Unity,并且发现教程作者在编写方法名称时可以使用Intellisense功能。
但是,我只能在类和变量上使用Intellisense,我的意思是像Rigidbody这样的Unity类和我自己的变量。
我也看过以下内容:
Visual Studio中自动完成未工作旧问题,但我最近遇到了同样的问题。
你的 Assembly-CSharp.csproj 或 project-name.sln 文件可能存在问题,最可能是 .csproj 文件。如果你查看一下它,你会看到各种 .dll 文件的引用。
你可以告诉 Unity(我的版本:v2019.2.20f1),通过启用 Edit > Preferences > Generate all .csproj files 选项来为你创建这些文件。
1. Delete both files.
2. Enable .csproj file generation.
3. Double click on a script in Unity.
这解决了我的问题。
我希望能为所有试图在Visual Studio Code上启用Intellisense的人们澄清一下问题。
首先,我是针对Unity 2019.4.14(编辑:也适用于2020.3和2021.3)编写这篇文章的。
要使此功能正常工作,您必须执行以下操作:
dotnet
来检查是否已安装.NET SDK。未找到.NETFramework,Version=v4.7.1的参考程序集。要解决此问题,请安装此框架版本的开发人员包(SDK/Targeting Pack)或重新定向应用程序。
那么,Unity代码段和Debugger for Unity扩展怎么办?这些都是有用的帮助扩展,但与Intellisense无关。第一个是为了快速输入常见的Unity模式,第二个是为了在您键入时显示Unity调试警告和错误,而无需保存并返回Unity并阅读控制台。
希望这对您有所帮助。
p.s. 再注意一点:Visual Studio Code依赖于我们通过Unity生成的解决方案文件才能使Intellisense工作。这很重要,因为您必须将整个项目文件夹添加到VSCode工作区中,而不仅仅是“Assets”文件夹或您的“Scripts”文件夹。如果您只向VSCode添加“Assets”文件夹,则它将不会意识到那些解决方案(.sln)文件,如果您通过Unity打开脚本,则它可能仍然可以正常工作。
dotnet
来测试是否已安装dotnet。如果您在 Mac 上遇到同样的问题,请尝试在您的.vscode/settings.json中设置此值(或者在用户设置中而不是工作区设置中设置)
"omnisharp.useGlobalMono": "always"
抱歉,我的英语不太好,但我会向您展示对我有用的内容。
我在Visual Studio Code中打开了C#脚本,并查找了Assembly-CSharp.csproj文件,然后在第16行更改了以下内容:
<TargetFrameworkVersion> v4.5 </TargetFrameworkVersion>
针对:
<TargetFrameworkVersion> v4.5.1 </TargetFrameworkVersion>
这解决了Intellisense的问题。
对于我来说,只需在Unity中打开编辑/首选项/外部脚本编辑器
,并将其更改为My_Install_Location\Microsoft VS Code\Code.exe
(可能需要点击重新生成项目文件)。
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
编辑您刚安装的版本(我使用的是4.8)。然后重新打开VS Code。现在一切应该正常工作。