在Visual Studio中编辑的Unity脚本无法提供自动完成功能

365

当我想编辑 C# Unity 脚本时,它们会在 Visual Studio 中打开。它应该为所有 Unity 相关的代码提供自动完成,但却无法正常工作。

下面您可以看到缺少的功能:

缺少自动完成功能的视频

如图所示,transform 对象不会打开自动完成菜单。

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


3
请将视频制作并上传到YouTube,以描述错误+1 xd。 - Timon Post
好的,我会尝试... 我在脚本方面遇到了一点问题。当我使用Visual Studio为Unity编写C#脚本时,它看起来像是在记事本中工作,没有“提示”(对吗?),我必须非常缓慢地编写它。请看视频。开头是正常情况(来自教程),第二部分是我的问题。 - CorbenDalas
1
我想你是在问“自动完成”,而不是工具提示。 - Martijn Pieters
Visual Studio 版本和 Unity 版本是什么? - Programmer
Unity版本:5.5.2f1 / Visual Studio 2015 / 已安装Visual Studio Tools for Unity - CorbenDalas
显示剩余2条评论
37个回答

3
我遇到的问题是C#项目的目标框架与Unity项目的目标框架不同(分别为4.7.2和.NET 3.5)。我通过在Unity中更改目标框架来解决这个问题,具体方法如下:

文件 -> 构建设置 -> 玩家设置 -> 其他设置 -> API兼容性级别:将其设置为您已安装的.NET版本(可以在此处检查您的.NET版本)。在我的情况下,是4.x。

此后,Visual Studio正常工作并且自动修正也得到了修复。

2
这对我有用。我将我的API兼容性级别更改为.Net 4.x,然后Visual Studio要求重新加载项目。我重新加载了项目。然后我关闭了Visual Studio,从Unity Editor打开了cs文件,现在一切都正常工作。 - Junaid Pathan

3

试着按下 Ctrl + Alt + 空格 键(可以在建议和标准补全模式之间切换)


3
我的自动完成也不能用是因为没有安装 Visual Studio Tools for Unity。所以,在安装后,删除自动生成的 Visual Studio 文件。其他人说你重新打开文件问题就解决了,但实际上并不是这样。
诀窍在于:不要像通常双击文件那样打开文件,而是通过右键单击并选择“打开C#项目”从Unity中打开C#文件。

3

由于某些奇怪的原因,"使用Unity进行游戏开发"工具可能会在Visual Studio中变为禁用状态。

要解决这个问题...

  1. 打开Visual Studio
  2. 转到扩展 → "管理扩展" → 已安装
  3. 找到"Visual Studio 2019 Tools for Unity"
  4. 如果它被禁用,请启用它
  5. 重新启动VS

感谢Yuli Levtov的回答,来源于另一个线程


3
以下方法适用于我:
进入“编辑”->“首选项”->“外部工具”->“外部脚本编辑器”选择脚本编辑器 enter image description here

3

在我的情况下,我电脑上没有安装正确的.NET版本。我在电脑上安装了.NET 3.5,这对我有用。


1
你的回答给了我灵感,让我在Unity播放器设置中将API兼容级别从.Net 2.0更改为.Net 4.x。然后在Visual Studio中重新加载项目。现在一切都正常工作。 - Junaid Pathan

3

我发现,通过在Visual Studio中创建.cs文件而不是在Unity编辑器中创建,可以解决我的问题。

  • 在解决方案资源管理器中,右键单击项目文件夹
  • 选择“添加”>“新项”
  • 在右上角的搜索框中输入“unity”
  • 选择“CSharp MonoBehaviour”
  • 在底部为脚本命名并点击“添加”

2
如果您已经创建了脚本,但突然出现了这个问题,您会删除所有脚本并从Visual Studio重新创建吗? - Programmer
1
@程序员,我会使用你的第四部分解决方案来修复已经出错的脚本,但是我总是使用Visual Studio创建新脚本,因为你的解决方案都没有阻止新脚本出现错误,除非我是从Visual Studio创建文件。 - Fredy Rommy Sianturi

3

适用于Windows或macOS:

下载/安装Visual Studio IDE(带有Unity工具)

安装时,请确保您包括以下内容的安装:

使用Unity进行游戏开发

enter image description here

然后使用Unity(您可以双击其中一个C#文件),打开一个新的C#项目,Visual Studio IDE应该会打开您的新项目结构。

enter image description here

从那里开始,您应该能够看到您正在寻找的内容。

例如:

enter image description here

enter image description here

对于Linux(建议):

尝试Monodevelop - 附加信息,它提供了代码完成/提示。


2

另一个可能的解决方法:

  1. 在项目窗口中,单击“Assets”文件夹
  2. 右键单击,然后选择“创建 -> C#脚本”
  3. 双击该脚本,然后等待。

由于某种原因,这样可以解决问题。


2

以上方案都对我无效。但是我打开了 ProjectName.CSPROJ 文件,手动添加了新文件,它就奇迹般地起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接