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

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

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

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


当前回答

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

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

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

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

其他回答

下面的方法对我有用。

进入编辑->首选项->外部工具->外部脚本编辑器选择脚本编辑器

如果您使用Resharper与Microsoft Visual Studio,您需要转到 “扩展-> ReSharper ->扩展管理器”和安装扩展“统一支持”。 就像魔法一样!

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

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

我的自动补全也不能工作,因为没有安装Visual Studio Tools for Unity。因此,在安装之后,删除自动生成的Visual Studio文件。其他人说你再次打开文件,问题就解决了,但事实并非如此。

诀窍在于:你不需要双击文件,而是需要在Unity中右键单击“open c# Project”来打开c#文件。

嗯,也许你可以把我的指南看作是一种可选的方法。我在使用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"

开始....