JetBrains Rider 2026.1 Help

资源序列化模式

打开 Unity 项目时,Rider 会检查项目的 资源序列化模式是否设置为 强制文本。 如果没有设置,将弹出通知提示某些高级功能需要基于文本的序列化模式。

序列化模式设置决定诸如 .prefab.unity 以及 .asset 这类脚本化对象的资源文件是以二进制还是文本保存。 二进制文件在文件大小方面更高效,但维护性较差。 文本文件可能更大,但更容易修改,也更适合源代码管理,而且二进制文件无法进行差异比较或合并。 新 Unity 项目的默认设置为 强制文本

Rider 支持哪些“高级集成特性”?

当资源模式设置为 强制文本时,Rider 会像处理 C# 文件一样解析并索引你的资源、预制体和场景。 索引后,这些文件会包含在 Unity 脚本组件以及用作事件处理程序的方法和属性的 查找用法结果中。

查找用法结果显示在标准 查找结果工具窗口中,并以 Unity 事件处理程序分组。 如果 Unity 编辑器正在运行,并且 Rider 插件已安装在你的项目中,Rider 还会在 Unity 内部的工具窗口中显示 查找用法结果。 在工具窗口中按两次该项将在 Unity 的 层次结构工具窗口中选中并高亮显示。

此外,在作为事件处理程序的方法或属性上使用 重命名重构 也会重命名资源、预制体或场景内的用法。 指定新名称后,Rider 会提示确认重命名,并确保在继续之前文件已在 Unity 中保存。 点击 下一步后,该方法将在资源文件内被重命名。 切换回 Unity 时会提示重新加载所有已修改的打开场景。

更新为强制文本的影响

如果项目设置为 强制二进制混合模式,Rider 会建议切换为 强制文本。 但 Rider 不会自动提供快捷操作链接。

这是对项目的重要更改,应谨慎并安全地执行。 同样重要的是,将如此重大的变更作为单独、独立的提交推送到源代码管理系统,且不包含其他更改。 这样可以在需要时更容易回滚到已知状态。

更新为 强制文本不仅仅是为了 Rider 功能,Unity 也推荐使用此设置,并且在 Unity 的新版本中新建项目已设为默认。 文本文件更易维护,大多数源代码管理系统也可更高效地处理文本文件——二进制文件无法进行差异比较或合并。

有时手动修改资源文件也是有用的。 虽然不一定推荐,但如果由于没有正确重命名或移动 .meta 文件造成资源引用 GUID 被破坏,也可以手动更新。 Rider 会正确保持 .meta 文件为最新,且 重命名重构同样会正确更新基于文本的资源文件。

要将项目从 强制二进制混合模式转换,需在 编辑器设置对话框中更改 资源序列化值。 更改设置后会立即以新格式重新序列化所有资源,对于非常大的项目,可能需要一些时间。

注释

某些资源因体积和类型总是以二进制方式序列化。 例如, LightingData.assetNavMesh.asset 通常是大量的数字数组,以二进制序列化这些特定文件更高效。 此外,如果脚本化对象类具有 [PreferBinarySerialisation] 特性,则该文件会以二进制形式序列化。 Rider 不会解析这些文件(这没问题,因为它们通常不包含事件处理程序引用)。

另外需要注意,即使 Rider 会解析资源、预制体和场景文件,但如果项目体量非常大,为提升性能会自动禁用解析。

以文本方式序列化的文件会被保存为 YAML 文件。 关于文件格式的更多详情,请参见 Unity 文档

2026年 5月 8日