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

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

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

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


当前回答

在Visual Studio中选择项目 点击“刷新”按钮

其他回答

我面临的问题是c#项目的目标是不同的。net框架(4.7.2),而Unity项目的目标是不同的(4.7.2)。NET 3.5)。

我通过将Unity中的目标更改为-来解决这个问题

文件->构建设置->播放器设置->其他设置-> API 兼容性级别:将其设置为您已有的.NET版本 安装(检查你的。net版本在这里)。在我的例子中,它是4.x

在此之后,Visual Studio工作得很好,自动更正也被修复了。

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

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

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

这个页面帮助我解决了这个问题。

修复Unity与Visual Studio断开连接的问题

在Unity Editor中,选择Edit > Preferences菜单。

在左侧选择External Tools选项卡。

对于外部脚本编辑器,请选择现有的Visual Studio版本。

单击“重新生成文件”

你做了

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

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