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

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

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

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


当前回答

2020年更新Visual Studio Community 2019和Unity 2019.3:

以管理员身份打开Visual Studio安装程序,选择修改当前安装并添加“Game development for Unity” 如果你现在在Unity中添加一个新的c#脚本,然后用Visual Studio(自动)打开它,它在窗口顶部的描述不是“Miscellaneous”,而是“Assembly-CSharp”,并且自动完成工作。

其他回答

以上的方法对我来说都没用。然而,我打开ProjectName。CSPROJ文件,并手动添加新文件,它工作得很好

使我成功的是,我复制了坏类中的所有代码并删除了该文件。 然后,我打开一个具有相同名称的空文件并粘贴回来。

结果:漂亮的语法亮点回来了!

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

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

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

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

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

如果你已经做了以上所有的工作,仍然没有工作,就试试这个: 注意:你应该已经更新了VS。

Goto Unity >编辑>首选项>外部工具>外部脚本编辑器。 对我来说,我没有选择“visual studio”作为外部脚本编辑器,所以它不起作用。只要我选择了这个,双击c#文件从unity开始工作。

我希望它也能帮助到你。