当我想编辑c# Unity脚本时,它们会在Visual Studio中打开。它应该为所有与Unity相关的代码提供自动补全,但它不起作用。
在这里你可以看到缺失的功能:
可以看到,转换对象没有打开自动完成菜单。
Unity版本:5.5.2f1 Visual studio 2015 安装Visual Studio Tools for Unity
当我想编辑c# Unity脚本时,它们会在Visual Studio中打开。它应该为所有与Unity相关的代码提供自动补全,但它不起作用。
在这里你可以看到缺失的功能:
可以看到,转换对象没有打开自动完成菜单。
Unity版本:5.5.2f1 Visual studio 2015 安装Visual Studio Tools for Unity
当前回答
两个备选方案:
解决1
@singleton为我指明了这个方向。而不是在Visual Studio中更改目标,你应该在Unity中更改它,因为项目是自动生成的。
首先删除自动生成的Visual Studio文件: .csproj .user . sln
然后从Unity进入PlayerSettings,在“其他设置”下将“脚本运行时版本”从稳定3.5更改为实验性4.6。
然而,这并没有解决我的问题。
修复2
我注意到所有与Unity相关的代码都带有黄色警告。检查您的错误日志,看看情况是否如此。特别是查看是否得到以下错误:getreferenceNearestTargetframeworkTask
如果是,试试: 再次启动Visual Studio安装程序。
在Build Tools 2017中,单击“修改”,
确保勾选“Nuget目标和构建任务”。如果你点击通用Windows平台开发,这应该会被勾选。
其他回答
嗯,也许你可以把我的指南看作是一种可选的方法。我在使用Unity 2020和Visual Studio Code 1.26时遇到了这个问题 为了解决这个问题,我采取了以下步骤:
在Visual Studio中的c#插件中 从https://www.monodevelop.com/download安装Mono 让我们看看Mono是安装在你的Mac的这个命令。例如,在我的Mac中,它是/Library/Frameworks/Mono.framework/Versions/Current 回到c#插件,打开它的设置,并在设置中更改下面的设置。插件的Json:
"omnisharp.monoPath": "/Library/Frameworks/Mono.framework/Versions/Current",
"omnisharp.useGlobalMono": "always"
开始....
我的自动补全也不能工作,因为没有安装Visual Studio Tools for Unity。因此,在安装之后,删除自动生成的Visual Studio文件。其他人说你再次打开文件,问题就解决了,但事实并非如此。
诀窍在于:你不需要双击文件,而是需要在Unity中右键单击“open c# Project”来打开c#文件。
另一个可能的解决方案:
在项目窗口中,单击Assets文件夹 右击,并创建-> c#脚本 双击它,然后等待。
出于某种原因,这行得通。
尝试按Ctrl + Alt + Space(可以在建议补全模式和标准补全模式之间切换)
我找到了另一种更方便的方法来解决这个问题:
在“解决方案资源管理器”中选择损坏的文件。 打开它的属性。 将“Build Action”字段从“Compile”切换为“None”。 然后切换回“Compile”。
这将以某种方式杀死Unity和Visual Studio之间的同步。
下一次Visual Studio重新加载项目时,将提示一个警告。 只需点击“丢弃”。