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

2023-12-10

当我想要编辑 C# Unity 脚本时,它们会在 Visual Studio 中打开。它应该为所有 Unity 相关代码提供自动完成功能,但它不起作用。

在这里您可以看到缺少的功能:

Video of missing autocomplete feature

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

统一版本:5.5.2f1
视觉工作室2015
Visual Studio Tools for Unity 已安装


没有自动完成,因为脚本显示“杂项文件“而不是项目名称。请看一下来自您问题中的视频的下图:

enter image description here

The "杂项文件" 消息的发生可能有多种原因:

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

  2. 这种情况也可能发生,因为 Unity 在 Visual Studio 仍处于打开状态时崩溃,因此损坏了某些文件。

  3. 发生这种情况的原因是 Unity 已关闭然后重新打开,但不再连接到 Visual Studio。当 Visual Studio 打开时,您会看到“杂项文件”并且没有自动完成功能。

  4. 这可能发生在以下情况:Visual Studio 统一工具未安装。

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


大多数时候,重新启动 Unity 和 Visual Studio 应该可以解决此问题。

我无法判断是哪一个导致了问题,但我将介绍解决此问题的最可能的解决方案。

修复第 1 部分:

  1. 下载并安装Visual Studio 统一工具 from this关联。在 Unity 和 Visual Studio 都关闭时执行此操作。

  2. 从 Unity 编辑器中,转到Edit优先... → 外部工具。上外部脚本编辑器下拉菜单,将其更改为视觉工作室 2015.

    enter image description here


修复第 2 部分:

如果新创建的 C# 文件出现为各种各样的然后按照以下说明操作:

  1. 从 Visual Studio 中,转到Tools选项...Unity 工具各种各样的. Under 显示连接图标,将其设置为true然后重新启动 Visual Studio。

    enter image description here

  2. 重新启动时,连接图标现在应该在 Visual Studio 中可用。单击它,然后选择要连接的 Unity 实例。红色“x”图标现在应该变成棕色复选标记图标。现在,当您在 Unity 中创建新的 C# 文件时,它应该无需说明即可打开各种各样的.

    enter image description here


修复第 3 部分:

还没修好?

重新导入项目,然后打开 C# 项目。

  1. 关闭视觉工作室。

  2. 从 Unity 中,通过转至重新导入项目Assets重新导入全部.

    enter image description here

  3. 现在,在 Visual Studio 中打开该项目,方法是:Assets打开 C# 项目。这将重新加载项目并修复可能的解决方案文件问题。

    enter image description here


修复第 4 部分:

还没修好?

单独修复每个 C# 文件。

  1. 点击显示所有文件 icon.

    enter image description here

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

    enter image description here


修复第 5 部分:

还没修好?

信用去往克里斯瓦恩茨对于这个似乎对多人有效的特定解决方案。

  1. 关闭 Visual Studio

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

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

    • .csproj
    • .user
    • .sln

    Example:

    假设您的项目名称为Target_Shoot,要删除的文件应如下所示:

    • Target_Shoot.csproj
    • Target_Shoot.Editor.csproj
    • Target_Shoot.Editor.csproj.user
    • Target_Shoot.Player.csproj
    • Target_Shoot.Player.csproj.user
    • Target_Shoot.sln

    不要删除任何其他内容。

  3. 再次双击脚本来自统一这应该生成新的 Visual Studio 文件,然后打开 Visual Studio。这可能会解决您的问题。


修复第 6 部分:

如果不起作用,请检查您是否有this error:

找不到“GetReferenceNearestTargetFrameworkTask”任务

  1. Install Nuget 包管理器 from here.

  2. 重新启动 Visual Studio。

See this回答以获取更多信息。


修复第 7 部分

确保所有项目均已加载。 在解决方案资源管理器中,它应该告诉您 # 个项目。 如果未显示所有项目,请右键单击“解决方案(# 个项目)”,然后单击“加载项目”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio 中编辑的 Unity 脚本不提供自动完成功能 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐