自动完成在Visual Studio中不起作用

Cor*_*las 84 c# intellisense unity-game-engine visual-studio

我的脚本有点问题.当我用Visual Studio为Unity编写C#脚本时,似乎我在记事本中工作,没有自动完成(正确吗?)而且我必须写得非常慢.

请观看视频.在开始是正常情况(从教程),第二部分显示我的问题.

有问题的视频

例如,该transform课程不显示建议或自动完成.

有问题的图片:

在此输入图像描述

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

Pro*_*mer 198

没有自动完成,因为脚本显示" 杂项文件 "而不是项目名称.请查看您问题视频中的下方图片:

在此输入图像描述

" 其他文件 "消息可能由于多种原因而发生:

1.当您从另一个文件夹打开Unity C#文件而不是从Unity Editor打开它时,可能会发生这种情况.

2.这也可能发生,因为Unity在Visual Studio仍处于打开状态时崩溃,因此破坏了一些文件.

3,可能会发生因为Unity已关闭然后重新打开但不再连接到Visual Studio.打开Visual Studio时,您将获得" 其他文件 "并且不会自动完成.

4.如果未安装Visual Studio Tools for unity,可能会发生这种情况.

5.当您从Unity创建脚本时,在Unity完成处理之前或在圆形图标动画内容完成动画之前快速打开它.


大多数情况下,重启Unity和Visual Studio应该解决这个问题.

我不知道哪一个导致了问题,但我将介绍解决这个问题的最可能的解决方案.

修复第1部分:

1.下载并安装了统一的Visual Studio工具这个链接.在Unity和Visual Studio都关闭时执行此操作.

2.从Unity Editor中,转到编辑 - > 首选项 ... - > 外部工具.在" 外部脚本编辑器"下拉菜单中,将其更改为Visual Studio 2015.

在此输入图像描述


修复第2部分:

如果新创建的C#文件都上来为其他然后按照以下说明:

1.从Visual Studio,转到工具 - > 选项... - > Unity工具 - > 其他.在" 显示连接"图标下,将其设置为true然后重新启动Visual Studio.

在此输入图像描述

2.重新启动时,Visual Studio中现在应该可以使用连接图标.单击它,然后选择要连接的Unity实例.红色的'x'图标现在应该变成棕色的复选标记图标.现在,当您在Unity中创建一个新的C#文件时,它应该打开而不说Miscellaneous.

在此输入图像描述


修复第3部分:

还没修好?

重新导入项目然后打开C#Project.

1.关闭Visual Studio.

2.从Unity,通过转到Assets - > Reimport All重新导入项目.

在此输入图像描述

3.现在,转到Assets - > Open C#Project,在Visual Studio中打开项目.这将重新加载项目并修复可能的解决方案文件问题.

在此输入图像描述


修复第4部分:

还没修好?

分别修复每个C#文件.

1.单击" 显示所有文件"图标.

在此输入图像描述

2.选择不执行自动完成的脚本,然后右键单击并选择" 包含在项目中".

在此输入图像描述


修复第5部分:

还没修好?

幸得chrisvarnz对于这似乎已经工作了多人这种特定的解决方案.

1.关闭Visual Studio

2.转到项目目录并删除所有生成的Visual Studio文件.

这些是要删除的文件扩展名:

  • 的.csproj
  • .用户
  • 的.sln

例:

假设您的项目名称称为"目标射击",这些是要删除的文件应如下所示:

  • 目标Shoot.csproj
  • 目标Shoot.Editor.csproj
  • 目标Shoot.Editor.csproj.user
  • 目标Shoot.Player.csproj
  • 目标Shoot.Player.csproj.user
  • 目标Shoot.sln

不要删除任何其他内容.

3.再次从Unity中双击脚本,生成新的Visual Studio文件,然后打开Visual Studio.这可以解决您的问题.


修复第6部分:

如果不起作用,请检查您是否遇到错误:

找不到"GetReferenceNearestTargetFrameworkTask"任务

1 .Install 的NuGet PackageManager这里.

2 .Restart Visual Visual.

有关更多信息,请参阅答案.

  • 感谢杂项文件指针!关闭VS,删除VS项目和sln,然后双击Unity中的脚本(因此重新生成项目文件并重新打开VS)为我修复它.我建议在"重新导入所有"按钮之前尝试这样做,因为这是非平凡项目的午餐/过夜. (2认同)
  • 这是一个很好的建议.希望有人阅读此内容可以看到此评论 (2认同)
  • 在尝试了所有这些其他建议后,@chrisvarnz 解决方案对我有用。 (2认同)
  • @gollumullog 好。由于这对多人有用,因此我更新了我的答案以将其包含在内。 (2认同)

Jun*_*min 95

尝试这个,

  1. 在 Unity Editor 中,转到 Menu,单击 Edit -> Preferences -> External Tools -> External Script Editor。将其设置为 Visual Studio(您安装的 VS 版本)。

  2. 现在在菜单栏中转到编辑 -> 项目设置 -> 播放器设置 -> 其他设置 -> 在配置下 -> 检查 API 兼容性级别 -> 将其更改为您安装的 .Net 版本。就我而言,我将其设置为 .Net 4.x

现在,如果 Visual Studio 已经在运行,则转到 Visual Studio,它会要求重新加载项目。重新加载项目。检查它是否有效,如果无效则关闭 Visual Studio。现在从 Unity Editor 打开 cs 文件,现在它应该可以工作了。

  • 这是真正的答案。这个必须放在最上面! (10认同)
  • 我也一样,谢谢!尝试了一切,但只有这个解决了它。 (3认同)
  • 这对我也有用。另外,我在 Unity 2020.2.0a13 中做的另一件事是取消选中并再次选中编辑/项目设置/播放器/其他设置:自动图形 API 中的标记。重新启动 Visual Studio 后,自动完成功能又回来了:D (2认同)

小智 14

我发现了另一种以更方便的方式解决此问题的方法:

  1. 在Solution Explorer中选择损坏的文件.
  2. 打开它的属性.
  3. 将"Bu​​ild Action"字段从"Compile"切换到"None".
  4. 然后将其切换回"编译".

这将以某种方式终止Unity和Visual Studio之间的同步.

Visual Studio下次重新加载项目时,会提示警告.只需点击"放弃"即可.


小智 12

如果您已完成上述所有操作但仍然无法正常工作,请尝试以下操作: 注意:您应该已更新 VS。 视觉工作室截图

转到 Unity > 编辑 > 首选项 > 外部工具 > 外部脚本编辑器。 统一截图 不知何故,我没有为外部脚本编辑器选择“视觉工作室”,它不起作用。一旦我选择了这个并从 unity 双击 c# 文件,它就开始工作了。

我希望它也能帮助你。


Xon*_*ron 7

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

  • Solution Explorer中右键单击您的项目
  • 选择卸载项目
  • 选择重新加载项目

固定!

我发现这个解决方案工作最好(最简单),多次遇到问题.

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

  • 谢谢您的帮助!这可行,但我感觉我们回到了 90 年代,我们需要重新启动 Windows,只是这次是 VS 2017。 (3认同)

GLe*_*aTi 7

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

在此处输入图片说明

  • 哇!没有其他东西对我有帮助;重新安装 VS,甚至重新安装 Unity 以重新安装 VS,删除 .sln 和 .cjsproj 文件以便重新生成它们。没有任何帮助..但最后在解决方案资源管理器中单击以显示文件夹似乎可以做到:o (2认同)

dan*_*alg 6

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

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

在此处输入图片说明

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

选择左侧的外部工具选项卡。

从右侧的下拉列表中选择统一版本

单击重新生成文件

你完成了