当我想编辑c# Unity脚本时,它们会在Visual Studio中打开。它应该为所有与Unity相关的代码提供自动补全,但它不起作用。

在这里你可以看到缺失的功能:

可以看到,转换对象没有打开自动完成菜单。

Unity版本:5.5.2f1 Visual studio 2015 安装Visual Studio Tools for Unity


当前回答

我尝试了所有这些方法,但最终发现我需要在解决方案资源管理器中右键单击解决方案,并添加现有项目,并在windows的资源管理器中找到c#程序集文件。似乎有无数不同的问题会给你这个错误,这可能是最简单的解决方案。如果你在unity中双击脚本,它似乎不会拖动程序集。

其他回答

在Visual Studio中卸载和重新加载项目:

在解决方案资源管理器中右键单击项目 选择卸载项目 选择重新加载项目

固定!

我发现这个解决方案是最好的(最简单的),我遇到过很多次这个问题。

来源:https://alexdunn.org/2017/04/26/xamarin-tips-fixing-the-highlighting-drop-in-your-xamarin-android-projects/

我找到了另一种更方便的方法来解决这个问题:

在“解决方案资源管理器”中选择损坏的文件。 打开它的属性。 将“Build Action”字段从“Compile”切换为“None”。 然后切换回“Compile”。

这将以某种方式杀死Unity和Visual Studio之间的同步。

下一次Visual Studio重新加载项目时,将提示一个警告。 只需点击“丢弃”。

上面的一种方法对我有用,我刚刚找到了这个问题的解决方案, 1. 首先,转到项目目录并删除.sln文件 2. 第二,进入unity,双击你的脚本。那么Visual Studio将会打开一个错误,

然后单击确定并关闭Visual Studio编辑器。 最后,关闭你的Windows防御器,然后转到你的项目目录,会有一个。csproj文件。只需双击并从Visual Studio编辑器中打开它,打开assets文件夹中的scripts文件夹,然后打开脚本,自动完成将会非常好地工作。

在重新启动和/或重新安装VS之前,首先尝试打开任何其他项目,看看智能是否工作,如果是这样,那么问题可能在于您当前的项目。首先,最有可能的受害者是带有挂起更新的NUGET包。为了解决这个问题,

右键单击引用 继续管理NUGET包下的NUGET包 继续更新安装更新和重新检查智能

尝试按Ctrl + Alt + Space(可以在建议补全模式和标准补全模式之间切换)