Rider for Unity

更聪明地使用 C# 开发 Unity

在 Rider 中,您可以编写出更好更美观的 Unity 代码、控制游戏模式和浏览日志、调试、测试和分析覆盖率,以及搜索场景和资产的使用情况。

用 Rider 编写 C# 代码让我十分愉悦。我还从未见过这么有用的代码重构工具 - 从不令人失望。当你依靠它的时候,它真的非常令人惊喜。
Unity 首席技术官兼创始人
Joachim Ante

强大的跨平台 C# 编辑器

强劲高效的 JetBrains Rider 是适用于 Unity 的 C# 编辑器,可在 Windows、Mac 和 Linux 上运行。凭借无与伦比的 2500 多项智能代码检查和重构,Rider 可以增强您的 C# 体验,让您能够更快地编写防错代码。

Unity轻松开始

Rider 内置了 Unity 支持,当您初次打开 Unity 解决方案时,它会自动将 Unity 配置为使用 Rider 作为 C# 脚本和着色器文件的默认编辑器。完成后,双击 C# 脚本或着色器资产将在 Rider 中打开解决方案。

/lp/dotnet-unity/static/rider-183-unity-intro-preview@2x-6e56b743c3f9bc14e1fca2189971d04e.png
Gif

控制Unity编辑器

得益于集成的双向通信,您可以切换进出 Play 模式,暂停和逐帧执行,而无需离开 Rider!工具栏包含游戏视图按钮 PlayPauseStep,分别对应 Unity 编辑器中的相同按钮,并且与 Unity 编辑器中的按钮控制相同的行为。状态栏上的小 Unity 图标将指示 Unity 编辑器是已经连接、正在刷新还是处于 Play 模式。在 Rider 处于 Edit 模式时应用的任何变更都将立刻提交给 Unity 编辑器。

/lp/dotnet-unity/static/rider-183-unity-control-preview@2x-86bb75536244d15782b156d91c87fd96.png
Gif

代码提示

Rider提供一流的C#代码分析, 包括Unity专用的 代码检查和快速修复。

例如:Rider 会警告您不要使用低效的字符串和 tag 属性文字比较,并且会提供一个快速修复方法,将其重写为对 CompareTag 的调用。

同样的,如果您尝试用 new 作为关键字新建 MonoBehaviourScriptableObject 派生类的实例,Rider 会发出警告提示。只需按下 AltEnter,Rider 即可为您修复这个问题。

/lp/dotnet-unity/static/rider-183-unity-coding-hints-preview@2x-a4c842e78ce2241182079df27523c671.png
Gif

轻松调试Unity

使用 Rider,您可以更加轻松地在 Unity 编辑器中运行 C# 脚本时对其进行调试。一切都已经配置完成,您只需按下 Debug 工具栏按钮、菜单项或键盘快捷键,将调试器附加到运行的 Unity 编辑器。您可以在编辑器中设置断点,单步调试代码,查看局部变量,监控值,以及评估表达式。

使用 Rider,您甚至可以调试没有调试信息的代码。Rider 会实时自动反编译外部库,允许您调试反编译后的代码,单步调试函数,设置断点,查看和设置局部变量与变量。

运行Unity测试

Rider 允许您运行与 Unity 的 API 交互的测试,可以逐帧执行,一切操作都在 Rider 中。当然,您还可以查看 Unity 专用测试的结果,就像普通的测试一样 – 您可以按结果筛选,并且点击堆栈跟踪,从而在代码中导航。

Unity控制台日志

借助包含超链接堆栈跟踪的 Unity Logs 工具窗口,您可以浏览记录在 Unity 编辑器控制台中的相同事件。它允许按类别(错误、警告或消息)筛选,根据记录时间隐藏事件(在 PlayEdit 模式下),并让您轻松导航到日志条目中提到的任何源文件、类、方法或属性。在每次切换到 Play 模式后,Unity Logs 都会自动清空其输出。

性能高亮显示

Rider 可以帮您编写性能更高的 Unity C# 代码。为此,它会高亮显示每一帧所调用方法中的高开销 Unity API,例如 Updatecoroutines。Rider 甚至还可以高亮显示间接使用高开销 Unity API 的方法调用!

除此之外,Rider 还具有多项 Unity 特定的性能检查和恰当的快速修复。它可以识别性能较差的代码模式并给出自动修复建议,例如使用其他的 API、过载或缓存值。

/lp/dotnet-unity/static/rider-183-unity-perf-indicators-preview@2x-8f1aa31cb97d7f29b9efd5160553caf0.png
Gif

在 Unity 文件中查找用法

Find Usages 现在包含 Unity 场景、资产和预制件。如果您搜索用作事件处理程序的类或方法,Rider 将显示其在 Unity 文件中的使用位置,并按类型、组件名称和父游戏对象分组。更棒的是,双击项可以直接在 Unity 编辑器中高亮显示用法

从 Unity 文件中提取此信息还意味着 Rider 可以高亮显示隐式使用的事件处理程序方法。隐式用例高亮显示被转换成 Code Vision 链接,让您可以一眼看清 Unity 隐式使用了哪些类、方法和字段。点击链接即可找到那些用法,即使在 Unity 文件中也不例外。

/lp/dotnet-unity/static/rider-183-unity-code-vision-yaml-preview@2x-4354d138bd0bee4a94aa23236059d2da.png
Gif

支持Shader

Rider 还添加了对 .shader 文件的支持,提供语法高亮显示、代码折叠、括号匹配等功能。高亮显示 ShaderLab 部分的语法错误,todo 注释加入 To Do Explorer,并高亮显示颜色属性,且提供选色笔用于编辑。整个文件(包括 Cg/HLSL 块)中,都可使用简单词语补全功能。

浏览Unity文档

Rider 可以显示 Unity 符号的外部文档。您可以点击 Quick Documentation 弹出窗口(如果使用 Visual Studio 按键映射,快捷键为 CtrlShiftF1)上的图标或直接使用 View External Documentation 操作 (ShiftF1),导航到本地安装的文档或 Unity 的托管文档(如果本地没有)。

/lp/dotnet-unity/static/rider-183-unity-docs-preview@2x-a3d41fb8e430938c370d20fe25b5b41d.png
Gif

了解更多关于 RiderFlow,这是一个免费的场景工具,用于构建和管理您的 3D 空间,适用于任何使用 Unity 编辑器的人, 无论是关卡设计师、游戏设计师、美术师或程序员。

Rider

在 Windows、macOS 和 Linux 上试用这款快速、强大的 .NET IDE

30 天免费试用

客户

“要在任何市场竞争中脱颖而出,掌握正确的工具至关重要,特别是游戏市场中。在 Yakuto,每位开发者都有一份 JetBrains Toolbox 订阅,我们认为这对提高生产力是物超所值的。我们主要在 Mac 系统上使用 C# 开发。这种用况意味着在 VM 上运行 ReSharper,但采用 Rider,我们就像在一个操作系统下工作一样,真的很棒。现在已经实现无缝 Unity 调试,并且功能扩展带来了重要的 Unity 上下文感知。作为 ReSharper 老鸟,Rider 给我带来宾至如归的感觉:重构、全解决方案分析、测试运行器,都在这里。我们无法想象不使用 Rider 进行 C# 开发。”

James Gratton
Yakuto 首席技术官

“对于任何 UE4 或 Unity 编程任务,Rider 已迅速成为我要使用的唯一 IDE。通过其直观的工作流节省了无数小时,而且我认为其 P4 的集成也值得称赞。当生产者看到我们从执行任务到解决问题的速度,他们都对产品着迷。Rider 消除了所有开发者的瓶颈,这让我们不必再做自己擅长的事情:编程。”

Matthew Davey
dotBunny

“Rider 是最适合 Unity 编程任务的 IDE,也是我们在这项任务中使用的唯一一款 IDE。它在工作流中帮我们节省了大量时间,通过 Unity 特定的代码检查和快速修复为 C# 提供了一流的代码分析。同样,如果我们尝试使用 new 关键字创建衍生自 MonoBehavior 或 ScriptableObject 的类的新实例,Rider 会发出警告。无缝调试也给我们带来了很大帮助。对我们来说是一款很棒的工具!”

Ershadul Hoque
Riseup Labs 首席执行官

Wooga
Goodgame Studios
KLab
KamaGames
Disruptor Beam
InnoGames
Alawar
Cygames
加入已经使用 Rider 开发 Unity 游戏的公司
下载

Rider 的多面性

Rider 让您可以高效地开发各种应用程序,包括:.NET 桌面应用程序、服务与库、Unity 与 Unreal Engine 游戏、Xamarin 应用、ASP.NET 和 ASP.NET Core Web 应用程序等。
探索 Rider