JetBrains Rider 2025.2 Help

Unity 功能

您可以先观看这段 3 分钟的视频,其中 Matt Ellis 简要概述了 JetBrains Rider 的 Unity 开发功能。

Unity 资源管理器

默认情况下,在 Rider 中处理 Unity 项目时, 资源管理器工具窗口 会切换到 Unity 视图,显示构成项目的所有资源。

主要是, 软件包 节点在 Unity 视图中显示项目根目录中 文件夹的内容。 这可能只包含一个 manifest.json 文件,您可以在 Rider 中编辑该文件,保存后 Unity 会更新您的项目以包含您添加的包。 更重要的是, 节点还会显示项目中引用的所有包。 Unity 支持多种不同的包类型,Rider 会显示它们全部。 有关 Rider 和 Unity 包的更多信息,请参阅 博客文章

Unity 资源管理器

如果切换到 解决方案 视图,您将仅看到项目的 Scripts部分。

控制 Unity 编辑器

为了减少 Rider 和 Unity 编辑器之间的上下文切换时间,Unity 编辑器的一些功能直接在 Rider 的右上角 Unity 工具栏中显示。

Unity 工具栏

工具栏允许:

  • 控制播放模式Play暂停步长 按钮对应于 Unity 编辑器中的相同按钮,并以完全相同的方式工作。

  • 访问重要的 Unity 相关操作 ,使用 与 Unity 相关的操作与 Unity 相关的操作 列表:

    • 启动 Unity :启动 Unity 编辑器并打开与 Rider 中打开的解决方案对应的 Unity 项目。

    • 使用覆盖率启动 Unity :启动启用了 代码覆盖支持的 Unity 编辑器,并打开与 Rider 中打开的解决方案对应的 Unity 项目。

    • 附加到 Unity 进程... :附加到正在运行的 Unity 实例,例如用于 调试单元测试

    • Unity 设置... :快速打开 Rider 的 Unity 引擎 设置页面。

    • Unity 日志窗口... :打开 日志查看器

    • 显示非 Unity 适用的 UI :在完整 Rider 界面和最小化界面之间切换(所有与 Unity 无关的界面元素将被隐藏)。

编辑器助手

如果 代码视图被禁用,JetBrains Rider 会为 Unity 隐式使用的类、方法和字段显示 Unity 边距图标:

JetBrains Rider:Unity 符号的特殊标记

通过 UnityEngine.ColorUnityEngine.Color32Color.HSVToRGB 定义的颜色会在编辑器中高亮显示。 您还可以在颜色使用上按下 Alt+Enter ,并选择 从调色板中选取颜色 以打开颜色编辑器并 直观地修改颜色

JetBrains Rider:Unity 颜色的辅助功能

查找用法

在 Unity 项目中, 查找用法 Alt+F7 功能扩展了从 Unity 场景、资源和预制件中提取的数据。 如果您搜索用作事件处理程序的类或方法,JetBrains Rider 将显示它在 Unity 文件中的使用位置,并按类型、组件名称和父游戏对象分组。

Code Vision

代码视图也支持 Unity。 启用后,您可以看到哪些类、方法、字段(包括在 Unity 中设置的字段值)甚至资源被隐式使用。 代码视图提供到 Unity 编辑器的导航。

可以配置Code Vision Unity 支持

性能分析

JetBrains Rider 向您显示性能敏感区域:每帧调用的事件函数,例如 更新FixedUpdateLateUpdate ,以及协程方法。 在这些频繁调用的方法中,性能指标还会引起您对已知高开销操作的注意,例如调用 GetComponent查找SendMessage ,并提供上下文操作以将初始化移动到 启动唤醒

代码视图被禁用时,性能指标可以显示在边距中:

JetBrains Rider:Unity 性能指标

如果启用,指标可以显示为代码视图指标:

JetBrains Rider:代码视图中的 Unity 性能指标

Unity 有很多非常频繁调用的方法。 这些方法被视为性能关键上下文,并在编辑器边距中高亮显示。

JetBrains Rider:Unity 性能关键区域

您可以在 JetBrains Rider 设置 的 语言与框架 | Unity 引擎 页面上启用和配置性能分析,位于 Ctrl+Alt+S 下的 在频繁调用的代码中启用性能分析

事件函数

  • 您可以使用 Unity 事件函数生成代码 菜单 Alt+Insert 中生成事件函数。 此操作也可以在 Unity 基类中的任何地方通过 Alt+Enter 使用。

    生成事件函数
  • 自动补全会在 Unity 基类中声明方法时建议事件函数名称,并扩展以包含方法签名。 在从已知 Unity 类派生的类中开始键入事件函数,例如 MonoBehaviour

    JetBrains Rider:Unity 代码补全
  • Unity 基类中的事件函数和参数的描述会显示在工具提示和 快速文档 中。

    JetBrains Rider:Unity 快速文档

检查和快速修复

  • JetBrains Rider 会显示未知场景、标签和层的警告。

    Unity 未知层警告
  • 解决方案范围分析 启用时,JetBrains Rider 会理解隐式使用的字段和事件函数,并且不会将它们标记为未访问。

  • 空的事件函数会显示为无用代码,并提供 快速修复以将其移除。

  • NetworkBehaviour 以外的任何类中使用 SyncVar 特性 会被视为错误。

  • 建议的快速修复是从未解析符号的使用中创建一个序列化字段:

    未解析符号快速修复
  • JetBrains Rider 确保您的所有事件函数都有正确的签名:它会突出显示不正确的签名,并提供快速修复以纠正它们:

    Unity 签名
  • JetBrains Rider 会警告您不要使用低效的字符串字面量比较 标记 属性,并提供快速修复以将其重写为调用 CompareTag

    比较标签快速修复
  • JetBrains Rider 会警告您如果尝试使用 new 关键字创建从 MonoBehaviourScriptableObject 派生的类的新实例。 建议的快速修复是使用 gameObject.AddComponent<T>()ScriptableObject.CreateInstance<T>()

  • 还有针对 [InitializeOnLoad][InitializeOnLoadMethod] 属性的检查,确保它们具有正确的方法或构造函数签名,并且如果类没有静态构造函数,JetBrains Rider 会将冗余的 [InitializeOnLoad] 属性变灰,并提供快速修复以快速移除属性或创建构造函数。

  • 以及更多...

您可以在 JetBrains Rider 中查看 Unity 特定代码检查的完整列表 此处

外部注解

许多 Unity 特定的程序集都带有 外部注解 注解,以在您使用这些程序集时改进 代码检查

  • 将带有 UnityEngine.dll UnityEngine.Networking.dll UnityEditor.dll 属性的代码视为隐式使用。

  • Component.gameObjectObject.name 标记为不可为空。

  • Debug.Assert 被标记为断言方法以帮助空值分析(例如在 Debug.Assert(x != null) 之后“值不能为空”)。

  • Debug.AssertFormatLogFormat 等获得字符串格式化辅助功能。

  • Assertions.Assert 方法被标记为断言方法以帮助空值分析。

  • EditorTestsWithLogParser.ExpectLogLineRegex 获得正则表达式辅助功能。

  • 各种属性现在要求其应用的类派生自特定的基类。 例如, [CustomEditor] 需要一个基类为 编辑器

  • 支持 Unity 2017.2 的模块化 UnityEngine 程序集。

支持 .shader 文件

JetBrains Rider 在 .着色器 文件中提供对 ShaderLab 语法的支持,包括对 Cg/HLSL 代码块、隐式 shader 关键字、特定阶段的局部关键字,以及带有 _KEYWORD_DEFINED 后缀的预处理器指令的支持。

  • ShaderLab 语法的语法和语法错误高亮显示。 请注意,您可以在 编辑器 | 配色方案 | ShaderLab 设置页面&#xa0; Ctrl+Alt+S 上更改默认配色方案。

  • 颜色辅助:

    Unity .shader 文件中的颜色辅助功能
  • 代码补全:

    JetBrains Rider:Unity 着色器补全
  • 括号匹配和 高亮显示注释/取消注释 Ctrl+/ ,以及 待办事项资源管理器支持。

    Unity 着色器待办事项资源管理器
  • 代码折叠.

    JetBrains Rider:Unity 着色器折叠
  • [Cg/HLSL] CGPROGRAM/CGINCLUDE 块和 .cginc 文件的语法高亮显示。

  • [Cg/HLSL] Cg/HLSL 块中的代码补全。

    HLSL 补全
  • 随处搜索将帮助您导航到着色器文件中的符号。

    导航到着色器文件
  • 您可以 启用或禁用 shader 关键字 ,以切换预处理器分支中的高亮显示。

    JetBrains Rider:支持 Compute shader
  • Rider 会在 shader 上下文小组件中显示 shader pass 的名称,以便您了解 shader 的使用位置。

    JetBrains Rider:支持 Compute shader

支持程序集定义文件

程序集定义文件( .asmdef )用于将项目脚本分成多个程序集以减少编译时间。 当您更改脚本时,Unity 只会重新构建所需的程序集。

JetBrains Rider 提供对 .asmdef 文件的支持:JSON 模式验证、代码补全、查找用法、重命名重构、引用元素导航,以及针对自引用和文件名/程序集名称不匹配的检查/快速修复。 有关 .asmdef 文件支持的更多信息,请参阅 博客文章

支持 asmdef 文件

实时模板

JetBrains Rider 提供了一些 Unity 特定的 实时模板 ,例如, sprop 用于带有序列化后备字段的 Unity 属性,或 sfield 用于 Unity 序列化字段。

以下是 预定义的 Unity 特定文件模板的完整列表

文件模板

JetBrains Rider 提供了许多 文件模板 ,用于新建 C# 脚本、测试和着色器文件。

Unity 文件模板

以下是 预定义的 Unity 特定文件模板的完整列表

Unity 日志

Unity 日志窗口

当 Rider 连接到 Unity 编辑器时, Unity 工具窗口将可用。 要打开该窗口,请从主菜单中选择 查看 | 工具窗口 | Unity ,或使用 Unity 工具栏上的 与 Unity 相关的操作 列表。

日志 工具窗口的 Unity 选项卡将 Unity 的 控制台 引入 Rider。 该选项卡显示 Unity 日志条目,并在 Unity 中记录事件时更新。

窗口右侧的 输出 部分显示当前选定日志条目的内容。 Rider 使内容具有交互性,因此您可以导航到日志条目中提到的任何源文件、类、方法或属性。

请注意,日志条目可以按事件类型过滤:来自播放或编辑模式的事件、警告、错误和消息。

支持 UnityYAMLMerge

默认情况下,JetBrains Rider 使用 UnityYAMLMerge 工具合并 Unity 项目中的所有 YAML 文件。 您可以在 Rider 设置中的 语言与框架 | Unity 引擎 | 优先使用 UnityYamlMerge 合并 YAML 文件 | 合并参数 中设置额外的 UnityYAMLMerge 参数。

UnityYAMLMerge 支持

预提交检查

在 Unity 项目中,预提交检查通过在问题进入版本控制之前捕获常见问题,确保更干净、更稳定的存储库。 有关更多信息,请参阅 JetBrains Unity GitHub 页面上的相应文章

最后修改日期: 2025年 9月 26日