Visual Studio Tools for Unity 更改日志。
17.5.1.0
发布日期:2022 年 12 月 13 日
新功能
调试:
- 添加了在断点中使用错误条件时显示的错误消息。
集成:
故障修复
调试:
- 修复了使用类型筛选器时显式主机指令之前的断点绑定。
17.5.0.0
发布日期:2022 年 11 月 8 日
新功能
集成:
- 已移动到 .NET 7。
17.4.3.0
发布日期:2022 年 10 月 18 日
故障修复
集成:
- 修复了 UPE 的 UI 问题。
17.4.2.0
发布日期:2022 年 10 月 11 日
故障修复
集成:
修复了异步通信同步完成的情况。
修复了在 Threadpool 上运行快速构建的问题。
17.4.1.0
发布日期:2022 年 9 月 14 日
故障修复
调试:
- 修复了创建断点时出现的稳定性问题,防止对调试器代理进行意外调用。
17.4.0.0
发布日期:2022 年 8 月 9 日
新功能
集成:
17.3.3.0
发布日期:2022 年 7 月 26 日
故障修复
集成:
- 删除了旧版编辑器扩展。
17.3.2.0
发布日期:2022 年 7 月 19 日
故障修复
集成:
- 删除了 Gtk 用法。
17.3.1.0
发布日期:2022 年 7 月 12 日
故障修复
集成:
- 修复了 UPE 的 UI 问题。
17.3.0.0
发布日期:2022 年 6 月 14 日
新功能
评估:
- 添加了对固定数组缓冲区的支持。
17.1.0.0
发布日期:2022 年 4 月 12 日
新功能
调试:
- 将调试器协议升级到 2.58。
故障修复
调试:
- 修复了处理异常时的稳定性问题。
17.0.8.0
发布日期:2022 年 3 月 30 日
故障修复
集成:
- 修复了使用外部包时的 UPE 问题。 这需要一个新的生成过程,完全保留文件夹结构,并可用于 VS 编辑器包
2.0.15。
- 修复了使用外部包时的 UPE 问题。 这需要一个新的生成过程,完全保留文件夹结构,并可用于 VS 编辑器包
17.0.7.0
发布日期:2022 年 3 月 15 日
新功能
集成:
故障修复
集成:
- 从计算机名称中移除 Unity 的
RuntimePlatform(玩家公告)。
- 从计算机名称中移除 Unity 的
17.0.5.0
发布日期:2022 年 2 月 16 日
新功能
集成:
添加了对
CancelInvoke诊断的UNT0016支持(获取方法名称的不安全方式)。向已知的 Unity 消息容器添加了
ScriptedImporter和AssetPostprocessor类。已将 Unity 消息更新为 2020.3.20f1。
17.0.4.1
发布日期:2022 年 1 月 25 日
故障修复
集成:
- 通过可选择的
UNT0021诊断正确处理重写的消息(应保护 Unity 消息)。
- 通过可选择的
17.0.3.0
发布日期:2021 年 11 月 14 日
故障修复
集成:
- 缩短了轻型构建的时间,只是运行抑制器即可处理 CS 编译器警告。 所有其他分析器都会执行解决方案分析。
17.0.2.0
发布日期:2021 年 10 月 13 日
弃用的功能
集成:
- 我们弃用了用于 Unity 的旧项目生成器。 今后,请在项目中使用最新的 Visual Studio 编辑器包(
Unity > Window > Package Manager),并确保将 Visual Studio 2022 设置为首选代码编辑器(Unity > Edit > Preferences > External Tools)。
- 我们弃用了用于 Unity 的旧项目生成器。 今后,请在项目中使用最新的 Visual Studio 编辑器包(
17.0.1.0
发布日期:2021 年 9 月 21 日
新功能
集成:
- 将 Unity 消息更新到 2020.3.9f1。
17.0.0.0
发布日期:2021 年 7 月 14 日
新功能
集成:
故障修复
集成:
2.10.2.0
发布日期:2021 年 6 月 2 日
新功能
集成:
- 添加了
UNT0024诊断。 优先进行标量计算,而不是矢量计算。
- 添加了
评估:
- 添加了对使用可移植 pdb 符号以正确筛选可见局部变量的支持。
故障修复
集成:
- 修复了播放器宣布使用 Unity 最新版本进行分析。
2.10.1.0
发布日期:2021 年 5 月 11 日
故障修复
集成:
修复了
UNT0008补丁的稳定性问题。修复了线程的性能问题。
修复了错误列表中过滤导致的警告和错误无法显示的问题。
修复了筛选 Unity 后台进程的问题。
2.10.0.0
发布日期:2021 年 4 月 13 日
新功能
集成:
2.9.4.0
发布日期:2021 年 4 月 6 日
故障修复
集成:
- 修复测试枚举问题
2.9.3.0
发布日期:2021 年 3 月 30 日
故障修复
集成:
- 修复测试运行程序的问题
2.9.2.0
发布日期:2021 年 3 月 2 日
故障修复
集成:
修复了 Unity 消息对话框中的搜索突出显示。
修复了 Unity 项目树视图的稳定性问题。
调试:
- 修复了处理条件断点的问题。
2.9.1.0
发布日期:2021 年 2 月 9 日
新功能
集成:
- 添加了对从 IDE 运行和调试 Unity 测试的支持
评估:
向本地变量添加了
Active Scene,以显示根游戏对象。添加到
this.gameObject局部变量,因为它在 Unity 项目中广泛使用。向所有
Children实例添加了Components和GameObject组,以便可以轻松显示所有对象层次结构。向所有
Scene Path实例添加了GameObject,以显示场景中的位置。新增了对
JobEntityBatch/Lambdas 的支持,便于将实体用于源生成器。改进了对(使用索引桶)显示大型数组的支持。
为 2019.4 API 添加了缺少的 Unity 消息。
故障修复
集成:
修复了 Unity 消息对话框的稳定性问题
修复了非 ENU 语言的各种 UI 问题。
修复了
UNT0018诊断工具的稳定性问题。
调试:
- 修复了使用
Trace方法时的 VM 断开连接问题。
- 修复了使用
评估:
- 修复了对抛出异常的过时属性的筛选。
2.9.0.0
发布日期:2021 年 1 月 20 日
新功能
集成:
添加了对
raytrace shaders、UXML和USS文件的支持。更新了 Unity 消息 API(用于所有用作协同例程的方法)。
更新了 Android SDK 检测。
故障修复
集成:
- 修复了
UNT0006诊断,该诊断对协同例程和AssetPostprocessor.OnAssignMaterialModel发出错误的警告。
- 修复了
2.8.4.0
发布日期:2020 年 12 月 15 日
故障修复
集成:
- 修复了关闭 Unity 事件创建向导时的可靠性问题。
2.8.3.0
发布日期:2020 年 11 月 10 日
故障修复
调试器:
- 修复了即使解决方案中没有 VSTU 项目也能附加到 Unity 的问题。
2.8.2.0
发布日期:2020 年 10 月 27 日
新功能
集成:
- 改进了
UNT0010诊断,使其适用于所有继承自Component的内容,而不仅仅限于MonoBehaviour。
- 改进了
2.8.1.0
发布日期:2020 年 10 月 13 日
新功能
评估:
- 添加了对调用时隐式转换的支持。 之前,计算器强制执行严格的类型检查,从而导致
Failed to find a match for method([parameters...])警告消息。
- 添加了对调用时隐式转换的支持。 之前,计算器强制执行严格的类型检查,从而导致
集成:
故障修复
集成:
- 修复了注释中消息的意外完成问题。
2.8.0.0
发布日期:2020 年 9 月 14 日
故障修复
集成:
- 修复了 Unity 2019.x 中的播放器项目生成问题。
2.7.1.0
发布日期:2020 年 8 月 5 日
新功能
集成:
故障修复
2.7.0.0
发布日期:2020 年 6 月 23 日
新功能
集成:
故障修复
调试器:
- 在旧 Mono 运行时上运行游戏时,修复了创建断点的问题(在断点创建的瞬间尝试进行绑定)。
集成:
评估:
- 修复了与枚举的相等比较。
2.6.1.0
发布日期:2020 年 5 月 19 日
故障修复
集成:
如果无法在 Unity 端创建消息服务器,请发出警告。
在轻型编译期间正确运行分析器。
修复了与 Unity Hub 安装相关的 API 文档。
修复了调试器可视化工具崩溃的问题。
2.6.0.0
发布日期:2020 年 4 月 14 日
新功能
集成:
添加了
UNT0012诊断。 在StartCoroutine()中检测并包装对协同例程的调用。添加了
UNT0013诊断。 检测和删除无效或冗余SerializeField属性。添加了
UNT0014诊断。 检测用非组件或非接口类型调用的GetComponent()。为
USP0009添加了IDE0051抑制器。 不要将具有ContextMenu属性的方法或被带有ContextMenuItem属性的字段引用的方法标记为未使用。为
USP0010添加了IDE0051抑制器。 不要将ContextMenuItem属性的字段标记为未使用。为
USP0011添加了IDE0044抑制器。 不要将具有ContextMenuItem属性的字段设为只读。USP0004、USP0006和USP0007现在适用于SerializeReference和SerializeField属性。
故障修复
集成:
仅当编辑器能够通信时,才将启动/停止命令发送到 Unity。
修复了包含继承消息的 QuickInfo 文档。
修复了
CreateInspectorGUI消息的消息范围。不要报告具有多态修饰符的方法
UNT0001。
评估:
修复了别名为 using 的处理。
修复了 null 值的处理。
2.5.2.0
发布日期:2020 年 3 月 23 日
故障修复
调试器:
- 修复了线程在附加过程中的注册。
2.5.1.0
发布日期:2020 年 3 月 3 日
新功能
集成:
- 为
USP0008添加了IDE0051抑制器。 与 Invoke、InvokeRepeating、StartCoroutine 或 StopCoroutine 一起使用的专用方法不应标记为未使用。
- 为
故障修复
集成:
- 修复了 OnDrawGizmos/OnDrawGizmosSelected 文档。
评估:
- 修复了 Lambda 参数检查。
2.5.0.1
发布日期:2020 年 2 月 19 日
故障修复
集成:
- 修复了用于检查错误消息签名的
UNT0006诊断。 检查具有多个继承级别的类型时,此诊断可能会失败并显示以下消息:warning AD0001: Analyzer 'Microsoft.Unity.Analyzers.MessageSignatureAnalyzer' threw an exception of type 'System.ArgumentException' with message 'An item with the same key has already been added。
- 修复了用于检查错误消息签名的
2.5.0.0
发布日期:2020 年 1 月 22 日
新功能
集成:
故障修复
集成:
- 修复了项目生成问题(
GenerateTargetFrameworkMonikerAttribute目标并不总是正确定位)。
- 修复了项目生成问题(
评估:
- 修复了字符串计算(不使用 ToString() 调用)
2.4.2.0
发布日期:2019 年 12 月 3 日
故障修复
集成:
修复了用户定义接口的诊断问题。
修复了表达式格式错误的快速工具提示。
2.4.1.0
发布日期:2019 年 11 月 6 日
新功能
集成:
添加了对 Unity 后台进程的支持。 (调试器能够自动连接到主进程而不是子进程)。
为 Unity 消息增加了一个快速提示工具,用于显示相关文档。
故障修复
集成:
- 修复了标记比较分析器
UNT0002,使其支持高级二进制和调用表达式。
- 修复了标记比较分析器
弃用的功能
集成:
- 今后,Visual Studio Tools for Unity 将仅支持 Visual Studio 2017+。
2.4.0.0
发布日期:2019 年 10 月 15 日
新功能
集成:
对所有 Unity 消息的
USP0005(未使用的参数)添加了IDE0060抑制器。为带有
TooltipAttribute标记的字段添加了快速工具提示。 (这也适用于使用此字段的简单 get 访问器)。
2.3.3.0
发布日期:2019 年 9 月 23 日
新功能
集成:
- 为IDE0060添加了新的抑制器,以防止 IDE 显示快速修复以删除未使用的参数。
-
针对
USP0005的IDE0060:Unity 消息由 Unity 运行时调用。
-
针对
- 为IDE0060添加了新的抑制器,以防止 IDE 显示快速修复以删除未使用的参数。
2.3.2.0
发布日期:2019 年 9 月 16 日
新功能
集成:
- 通过添加新的 Unity 专属诊断工具,我们增强了 Visual Studio 对 Unity 项目的理解。 我们还通过取消不适用于 Unity 项目的常规 C# 诊断,使 IDE 更加智能。 例如,IDE 不会显示将检查器变量更改为
readonly的快速修复,这会阻止你在 Unity 编辑器中修改变量。-
UNT0001:即使 Unity 消息为空,运行时也会调用它们,因此请勿声明以避免 Unity 运行时的不必要处理。 -
UNT0002:使用字符串相等性的标记比较比内置的 CompareTag 方法慢。 -
UNT0003:使用 GetComponent 的泛型形式是类型安全性的首选。 -
UNT0004:更新消息依赖于帧速率,应使用 Time.deltaTime 而不是 Time.fixedDeltaTime。 -
UNT0005:FixedUpdate 消息与帧速率无关,应使用 Time.fixedDeltaTime 而不是 Time.deltaTime。 -
UNT0006:检测到此 Unity 消息的方法签名不正确。 -
UNT0007:Unity 重写与 null 合并不兼容的 Unity 对象的 null 比较运算符。 -
UNT0008:Unity 重写与 null 传播不兼容的 Unity 对象的 null 比较运算符。 -
UNT0009:将 InitializeOnLoad 属性应用于类时,需要提供静态构造函数。 InitializeOnLoad 属性可确保在编辑器启动时调用它。 -
UNT0010:仅应使用 AddComponent()创建 MonoBehaviours。 MonoBehaviour 是一个组件,需要附加到 GameObject。 -
UNT0011:只能使用 CreateInstance() 创建 ScriptableObject。 需要 Unity 引擎创建 ScriptableObject 来处理 Unity 消息方法。 -
USP0001forIDE0029:Unity 对象不应使用空合并运算符。 -
USP0002forIDE0031:Unity 对象不应使用 null 传播。 -
针对
USP0003的IDE0051:Unity 消息由 Unity 运行时调用。 -
USP0004forIDE0044:具有 SerializeField 属性的字段不应设为 readonly(只读)。
-
- 通过添加新的 Unity 专属诊断工具,我们增强了 Visual Studio 对 Unity 项目的理解。 我们还通过取消不适用于 Unity 项目的常规 C# 诊断,使 IDE 更加智能。 例如,IDE 不会显示将检查器变量更改为
2.3.1.0
发布日期:2019 年 9 月 4 日
新功能
评估:
添加了对更好的类型显示(例如,
List<object>而不是List'1[[System.Object, <corlib...>]])的支持。添加了对指针成员访问的支持,例如
p->data->member添加了对数组初始化器中隐式转换的支持,即
new byte [] {1,2,3,4}添加了在检查字节数组和字符串时对十六进制编辑器的支持。
2.3.0.0
发布日期:2019 年 8 月 13 日
故障修复
评估:
修复了出现异常的单步执行问题。
修复了伪标识符(如 $exception)计算问题。
防止在取消引用无效地址时出现故障。
修复了已卸载的 appdomain 的问题。
2.2.0.0
发布日期:2019 年 7 月 25 日
故障修复
评估:
- 修复了 IntPtr 类型的检测。
调试器:
- 修复了捕获点和函数断点的处理。
2.1.3.0
发布日期:2019 年 7 月 9 日
新功能
调试器:
增加了支持捕获异常子类的功能。
添加了对 MDS 协议 2.51 的支持。
集成:
添加了对 asmdef 文件的支持。
从模板中添加文件时切换到重命名模式(模拟 Unity 编辑器行为)。
故障修复
集成:
- 修复了与 Unity 播放器通信时格式错误消息的处理。
评估:
- 修复了表达式中命名空间的处理。
2.1.2.0
发布日期:2019 年 7 月 2 日
故障修复
评估:
- 修复了使用不可分析表达式的错误报告。
2.1.1.0
发布日期:2019 年 6 月 27 日
新功能
集成:
- 已将 MonoBehaviour API 更新为 2019.1。
故障修复
集成:
修复了 Unity 项目资源管理器的性能。
启用轻型生成时,修复了要输出的报告警告和错误。
修复了轻型生成性能。
2.1.0.0
发布日期:2019 年 6 月 20 日
新功能
集成:
禁用了 Unity 项目的完整生成,取而代之的是使用 IntelliSense 错误和警告。 事实上,Unity 创建了一个 Visual Studio 解决方案,其中包含表示 Unity 在内部执行的操作的类库项目。 也就是说,Visual Studio 中的生成结果永远不会被 Unity 使用或选取,因为他们的编译管道已关闭。 在 Visual Studio 中生成只是白白浪费资源。 如果需要完整生成,因为你拥有依赖于它的工具或设置,则可以禁用此优化(Unity 设置/工具/禁用项目的完整生成)。
在 UPE 中添加了对 Unity 包的支持。 只有被引用的包(在
Packages文件夹中使用 manifest.json)和本地包(嵌入在Packages文件夹中)可见。
2.0.2.1
发布日期:2019 年 5 月 30 日
新功能
集成:
- 为 Unity 执行目标添加了自定义图标。
2.0.2.0
发布日期:2019 年 4 月 2 日
新功能
集成:
添加了对保存时自动刷新 Unity 资产数据库的支持。 默认情况下启用此功能,将在 Visual Studio 中保存脚本时在 Unity 端触发重新编译。 可以在保存时在 Tools\Options\Tools for Unity\Refresh Unity 的 AssetDatabase 中禁用此功能。
添加了对为离线文档设置首选的 Unity 安装的支持。
添加了新编辑器的上下文菜单。
故障修复
调试器:
- 修复了包含空帧的程序集筛选和帧检查。
2.0.1.1
发布日期:2019 年 3 月 26 日
故障修复
集成:
- 暂时将 Mono 设置为默认且唯一可用的调试器,并且仅在此特定版本中提供。
2.0.0.6
发布日期:2019 年 3 月 26 日
新功能
集成:
- 添加了对“附加到 Unity and Play”的支持。
2.0.0.5
发布日期:2019 年 3 月 20 日
新功能
项目生成:
- 处理解决方案文件时保留外部属性。
评估:
添加了对别名限定名称的支持(目前仅支持全局命名空间)。 因此,表达式求值器现在接受使用 global::namespace.type 形式的类型。
添加了对
pointer[index]表单的支持,该表单在语义上与指针解引用的*(pointer+index)表单相同。
2.0.0.4
发布日期:2019 年 3 月 5 日
新功能
集成:
- 更新了
ScriptableObjectAPI。
- 更新了
故障修复
集成:
- 从模板中删除了命名空间。
2.0.0.3
发布日期:2019 年 3 月 5 日
新功能
项目生成:
- 公共字段和序列化字段将不再引发警告。 我们已在创建这些消息的 Unity 项目中自动取消
CS0649和IDE0051编译器警告。
- 公共字段和序列化字段将不再引发警告。 我们已在创建这些消息的 Unity 项目中自动取消
集成:
- 如果有多个 Unity 进程正在运行,则提示用户连接到特定实例。
评估:
- 添加了对本地函数的支持。
故障修复
调试器:
- 修复了在使用旧协议版本时读取命名参数的自定义属性的问题。
2.0.0.2
发布日期:2019 年 2 月 4 日
新功能
集成:
- 更新了 MonoBehaviour API。
故障修复
调试器:
- 修复了在调试器中设置原始值的问题。
2.0.0.1
发布日期:2018 年 12 月 4 日
故障修复
集成:
- 修复了安装包自包含。
2.0.0.0
发布日期:2018 年 12 月 4 日
新功能
调试器:
将 Mac 上的 Unity 调试器替换为 Windows 中的同一个核心 Unity 调试器。
将 NRefactory 替换为 Roslyn 以进行表达式计算。
添加了对指针的支持:取消引用、强制转换和指针算法(为此同时需要 Unity 2018.2+ 和新运行时)。
添加了对数组指针视图的支持(如在 C++ 中)。 输入一个指针表达式,然后追加一个逗号和要查看的元素数量。
添加了对异步构造的支持。
添加了对伪变量(异常和对象标识符)的支持。
故障修复
调试器:
- 修复了表达式格式不正确或不受支持的表达式计算。
1.7.0.0
发布日期:2018 年 11 月 13 日
新功能
调试器:
- 在附加对话框中添加了更多客户端信息(IP、计算机名称)。
故障修复
调试器:
- 修复了库中用于与 Unity 调试器引擎通信的死锁,使 Visual Studio 或 Unity 冻结,尤其是在点击“附加到 Unity”或重启游戏时。
集成:
修复了选择其他默认编辑器时 Unity 插件激活问题。
修复了 Unity 文件模板创建问题。
1.6.0.2
发布日期:2018 年 7 月 24 日
故障修复
集成:
- 回滚了针对 Unity 性能缺陷的解决方案(此缺陷已由 Unity 修复)。
1.6.0.1
发布日期:2018 年 7 月 10 日
故障修复
集成:
- 修复了着色器的代码着色支持问题。
1.6.0.0
发布日期:2018 年 6 月 26 日
故障修复
向导:
- 修复了 OnApplicationFocus 消息的拼写错误。
项目生成:
Unity 性能 bug 的暂时解决方案:在生成项目时对 MonoIslands 进行缓存。
使用新的 Unity 运行时时,不要再将可移植 pdb 转换为 mdb。
1.5.0.2
发布日期:2018 年 4 月 18 日
新功能
集成:
添加了对基本着色器代码完成的支持。
在着色器文件中,添加了支持切换注释的功能。
1.5.0.1
发布日期:2018 年 3 月 28 日
新功能
集成:
- 添加了对 Unity 项目资源管理器中额外模板的支持。
1.5.0.0
发布日期:2018 年 3 月 21 日
新功能
集成:
- 添加了对检测和附加到通过 USB 连接的 Android 播放器的支持。
1.4.0.3
发布日期:2018 年 3 月 5 日
新功能
项目生成:
- 添加了对 Unity 2018.1 中新项目生成器的支持。
集成:
- 为专用设置添加了选项面板。
1.4.0.2
发布日期:2018 年 1 月 24 日
故障修复
项目生成:
- 修复了 Mono 版本检测。
集成:
修复了 2018.1 和插件激活的计时问题。
修复了检测新玩家时的通知。
1.4.0.1
发布日期:2018 年 1 月 23 日
故障修复
集成:
- 修复了双击展开/折叠文件夹的功能
1.4.0.0
发布日期:2017 年 12 月 13 日
新功能
项目生成:
- 添加了对 .NET Standard 的支持。
故障修复
集成:
- 修复了自动 pdb 到 mdb 调试符号转换。
1.3.0.1
发布日期:2017 年 12 月 12 日
故障修复
集成:
- 修复了在尝试更改数组大小时对 EditorPrefs.GetBool 的间接调用影响检查器的问题。
向导:
- 在插入方法之前刷新 roslyn 上下文。
1.3.0.0
发布日期:2017 年 11 月 20 日
新功能
向导:
添加了“实现 Unity 消息”向导。
为 Mac 7.4 版的 VS 添加了对新完成 API 的支持。
1.2.0.0
发布日期:2017 年 10 月 23 日
新功能
调试器:
- 添加了对可移植调试符号文件的支持。
故障修复
项目生成:
修复了错误地将额外 .dll 扩展名添加到程序集文件的问题。
请勿强制 AllowAttachedDebuggingOfEditor Unity 标记,鉴于默认值现在为“true”。
1.1.0.3
发布日期:2017 年 10 月 23 日
新功能
项目生成:
- 添加了对 .NET 4.6 配置文件的支持。
1.1.0.2
发布日期:2017 年 8 月 8 日
新功能
调试器:
- 如果不确定要附加到哪个 Unity,请启动“附加到进程”对话框。
项目生成:
- 使用 Unity 5.6 时,始终启用不安全编译开关。
1.1.0.1
发布日期:2017 年 7 月 20 日
新功能
集成:
- 添加了对本地化资源的支持。
1.1.0.0
发布日期:2017 年 7 月 12 日
新功能
集成:
- 通过“附加到进程”窗口添加了对连接到播放器和编辑器的支持。
项目生成:
修复了使用 mcs.rsp 文件的程序集名称引用。
添加了对 assembly.json 编译单元的支持。
修复了通过 API 级别进行定义的问题。
故障修复
集成:
- 修复了编译时着色器错误消息。
1.0.0.1
发布日期:2017 年 5 月 4 日
故障修复
集成:
- 修复了常规项目和混合项目中的活动文档跟踪问题。
1.0.0.0
发布日期:2017 年 5 月 3 日