Rider for Unreal开发:从快捷键到配置的效率提升指南
2026/9/16 21:05:59 网站建设 项目流程

1. 为什么我建议 UE 开发者认真看看 Rider

1.1 Rider 不是“换了皮的 Visual Studio”

先说明一点:如果你之前一直在用 Visual Studio 配 UE,刚切到 Rider 时大概率会不适应,因为它默认快捷键是从 IntelliJ IDEA 那套继承过来的,而不是 VS 那套。但我要说的重点不是“哪个编辑器更好”,而是 Rider 对 Unreal 工程的理解方式确实不太一样。

Unreal 的 C++ 项目本质上不是普通 C++,它是 C++ 加 UHT 反射元数据加蓝图资源三者混在一起的东西。VS 的 IntelliSense 对 UCLASS、UPROPERTY、UFUNCTION 这些宏基本没有感知,它只把 UE 当成一堆带特殊宏的类来处理,所以经常出现两种尴尬情况:一是大工程索引到一半直接卡死,二是明明代码写得没问题,IntelliSense 却给你报一大片看不懂的红色波浪线。Rider 则专门做了 RiderLink 插件,装进项目之后,IDE 会跟 Unreal 编辑器打通,能看明白哪些属性是给蓝图用的、哪些函数能被子类覆写,甚至能从 C++ 符号跳转到蓝图里引用它的地方。

我不是让你立刻换工具,而是建议你在下一个 UE 项目里认真对比一轮。它的自动补全、全局搜索、重构能力和跨平台支持,尤其在 UE5 这种动辄几千万行源码的工程里,体感差距非常明显。这篇文章适合已经在写 UE C++、但对 Rider 只有“听说”的人,也适合刚从 VS 迁过来、想快速上手快捷键的人。

1.2 首次打开 .uproject 时发生的三件事

用 Rider 打开 UE 项目和打开普通代码仓库不一样,它不是一个“双击就完事”的过程,我第一次打开时其实踩了不少坑,这里把正常流程里最关键的三件事提前讲清楚。

第一,Rider 会往你的项目里注入 RiderLink 插件。实际操作中,它会弹窗询问是否允许添加插件到项目,你点同意之后,项目目录里会出现Plugins/RiderLink之类的内容。这个插件是实现“蓝图表内代码跳转”“Find Usages 扫资源”这些高级功能的基础,千万别为了追求干净的工程结构把它删了。如果你在团队协作中不发这个插件,其他人打开工程时也会看到 Rider 自动要求安装的提示。

第二,Rider 会触发一次 Generate Project Files,也就是先生成 UE 的编译工程文件。这一步实际上调用了 UnrealBuildTool,所以首次打开时你会看到终端里刷一堆日志,然后是漫长的索引过程。UE 自带的引擎源码非常大,如果你工程里还带了插件,第一次全量索引可能要跑十几分钟甚至更久。这个阶段不要觉得“卡死了”去强杀进程,老老实实等它跑完。

第三,Rider 会根据 .uproject 自动创建 Run/Debug Configuration,也就是启动 Unreal Editor 用的运行配置。正常打开后,右上角运行按钮旁边会有一个类似Default (UnrealEditor)MyProject (UnrealEditor)的配置,它决定了你按运行键时启动的是编辑器还是无引擎模式。如果没自动生成,说明 Rider 没识别到本机的 Unreal Engine 安装路径,需要去 Settings 里检查引擎 SDK 配置。

2. 常用快捷键清单:按 UE 开发节奏分类

2.1 搜索与跳转:一天按得最多的按键

我在 UE 项目里写得最多的操作,不是打字,而是“找东西”。找类、找文件、找符号、找引用,这些操作如果全靠鼠标摸菜单,效率会低得离谱。Rider 的搜索体系是整个 JetBrains 平台通用的,下面这几个一定是使用频率前三的组合。

双击 Shift 打开 Search Everywhere,这是一个全局搜索入口,能同时搜文件、类、符号、动作,相当于 VS 里Ctrl+T的加强版。我习惯把项目里所有零散记忆都往这丢:比如我只记得某个函数叫SpawnActor,但忘了它在哪个文件,双击 Shift 直接敲名字就能跳过去。如果我要执行某个 IDE 动作,又不想去菜单里翻,按Ctrl+Shift+A打开 Find Action,输入动作名,比如“Generate Project Files”“Restart Editor”,直接回车就能触发,这是我不知道快捷键时的保底方案。

再说三个定向搜索:Ctrl+N跳转到类,Ctrl+Shift+N跳转到文件,Ctrl+Alt+Shift+N跳转到任意符号。这三个的区别在于搜索范围:类的粒度最粗,文件适合你记得路径但不想逐层点开目录的场景,符号适合搜函数、变量、宏定义。如果你从 VS 转过来,习惯上可能更依赖Ctrl+,或者Ctrl+Shift+T,没关系,Rider 的 Keymap 设置里可以直接切换到 Visual Studio 方案,后面第 4 部分我会专门讲。

跳转方面还有一组高频操作:Ctrl+B看声明,Ctrl+Alt+B看实现,Ctrl+U跳父类。在 UE 里特别实用的是Ctrl+B,你可以在一个蓝图可调用函数上来回跳跃,快速确认它的 C++ 实现到底在哪。Ctrl+F12打开当前文件的结构弹窗,能列出类里的所有成员函数和变量,相当于一个即时的大纲视图,我每次打开不熟悉的类文件第一件事就是按这个。

功能Rider 默认快捷键适用场景
全局搜索双击 Shift搜类、文件、符号、动作
查找动作Ctrl+Shift+A记不住快捷键时兜底
跳转类Ctrl+N按类名直接定位
跳转文件Ctrl+Shift+N按文件名定位
跳转符号Ctrl+Alt+Shift+N搜函数、变量、宏
查看声明Ctrl+B跳到定义处
查看实现Ctrl+Alt+B跳到实现体
文件结构Ctrl+F12快速浏览类成员

2.2 编辑、重构与代码生成

写代码时,最值得重学的不是打字,而是重构操作。Shift+F6 重命名是 Rider 里我用得最狠的功能,在 UE 项目里它对 UPROPERTY、UFUNCTION 这些反射标记是有感知的,重命名一个暴露给蓝图用的属性时,它会提示你涉及的范围,避免你手改宏参数时漏掉另一处。不过要记住一点:Rider 的重命名不保证能改到 .uasset 资源里的引用,涉及资产引用时最好用 UE 编辑器自带的工具处理,或者改完 C++ 端后在编辑器里重新加载并修复重定向。

Alt+Enter 是意图动作入口,相当于“这里能怎么改”的快捷菜单。在 UE 代码里它非常有用,比如某个函数缺少 UPROPERTY 标记,光标放上去按 Alt+Enter 它会给出补全建议;比如某个类型没包含头文件,它直接提示 include。这个是新手最容易忽略但效率极高的按键,我建议你遇到任何红色波浪线都先按 Alt+Enter 看看,能解决的直接解决,解决不了的再手动处理。

代码生成也是 UE 开发里离不开的操作。在某处按 Alt+Insert 打开 Generate 菜单,可以对类生成构造函数、析构函数、BeginPlay、Tick 等 UE 生命周期函数的覆写,也可以生成 getter/setter。如果要在已有类里补 UpcClass 覆写,按 Ctrl+O 列出可覆写的所有父类虚函数,按 Ctrl+I 列出需要实现的纯虚函数。这组操作在刷新代码结构上的效率比手写高出太多。

编辑操作里我单独挑几个必须记的:Ctrl+D复制当前行,Ctrl+Y删除当前行,Alt+Shift+上/下整体移动代码块,Ctrl+/Ctrl+Shift+/分别是行注释和块注释,Ctrl+W是扩大选区,Ctrl+Shift+W是缩小选区。还有一个不看文档根本猜不到的是Ctrl+Alt+Shift+V,这个快捷键在 JetBrains 系里默认对应粘贴纯文本,也就是去掉格式的粘贴。如果你被“从网页复制过来的代码带一堆颜色和字体”困扰,用这个粘贴操作可以直接帮你把格式清干净,跟你搜“无格式粘贴快捷键”想要的东西是一样的。

2.3 编译、运行与断点调试

UE 项目的编译运行逻辑和普通应用不一样,你启动的通常不是独立 exe,而是“Unreal Editor + 编辑器目标”。Rider 对这套流程做了专门的 Run/Debug Configuration,所以按快捷键之前,先确认你选中的运行配置是对的。

在 IntelliJ 默认快捷键下,Ctrl+F9是编译当前项目,Shift+F10是运行当前配置,Shift+F9是调试当前配置。启动 Unreal Editor 的调试模式时,Rider 会先触发编译,然后启动 UnrealEditor 进程并附加调试器,你提前在 C++ 里打断点,等编辑器起来后进入 PIE(Play In Editor)就能命中。F9是继续执行,F8是单步跳过,F7是单步进入,Shift+F8是单步跳出,Alt+F9是运行到光标处,Ctrl+F8是切换断点。

如果你习惯 Visual Studio 的快捷键,那就更简单:F5开始调试,Ctrl+F5启动但不调试,Ctrl+Shift+B编译,F9切换断点。Rider 的 Keymap 设置里切到 Visual Studio 方案后,这些都能直接用。

调试 UE 时有个坑必须提:如果编辑器已经启动,但你想附加调试器而不重启,不要用运行按钮重新启动,应该用 Run 菜单里的 Attach to Process,选择 UnrealEditor 对应进程附加。另外,如果你发现断点没有命中,优先检查三件事:当前配置是不是 Debug 或 Development Editor 目标、附加进程是不是编辑器的正确实例、代码改动后是否真的编译成功了。很多时候断点不命中不是 IDE 的问题,而是你根本没把最新 DLL 编译进去。

2.4 Rider 的 Unreal 专属动作集合

除了通用快捷键,Rider 里还有一组专门为 UE 准备的动作,这些你很难在别的 IDE 里找到。最好的打开方式是按Ctrl+Shift+A,输入 “Unreal” 就能看到所有相关动作,我列几个值得记住的。

Compile 动作会调用 UnrealBuildTool 编译当前工程,编译结果会直接显示在 Rider 的输出面板里,它的错误信息会尽量给出 UHT 能理解的上下文,比在外部终端黑窗口里看日志舒服很多。Restart Editor 可以重启当前运行的 Unreal Editor,当你改了类结构、新增了 UCLASS 或改了模块依赖,需要重启编辑器让 UHT 和 Live Coding 重新加载时,这个动作比手动去外面关编辑器再打开要利落。

Generate Project Files 是重新生成工程文件的入口,适合你在 .uproject 里加了新模块、或者修改了 Build.cs 但 Rider 没有自动识别的情况。Rider 还支持直接在 IDE 里新建 Unreal C++ 类:在项目视图中右键源码目录,选 New,下拉菜单里会有 Actor、Character、Pawn、PlayerController、GameMode、Component 这些 UE 标准类型,选完基类 Rider 会生成带 UCLASS 宏的 .h 和 .cpp 文件,比每次手动复制老类再改要省事。

我特别想说一下 Rider 对 UHT 错误的理解。UE 编译报错分两类:一类是语法错误,一类是 UHT 元数据错误,比如你在 UCLASS 里写了不支持的参数组合,或者构造函数里用了不允许的序列化。Rider 的代码检查器会在写代码阶段就标出这些问题,省去一次编译往返。这是我从 VS 切过来后感知最明显的效率提升点,不是快一点点,是能少走很多弯路。

3. 基础操作实录:从打开工程到跑起编辑器

3.1 打开和创建 UE 工程的正确姿势

创建 UE 工程的标准流程,我还是建议先通过 Epic Games Launcher 创建一个带 C++ 模板的项目,然后再用 Rider 打开 .uproject。为什么要绕这一步?因为 Epic Launcher 会帮你把目标平台、引擎版本、初始模块都准备好,克隆模板也方便,而 Rider 的项目向导虽然也能创建工程,但在某些引擎版本组合下还是依赖 Launcher 的组件,你如果手动搭容易漏东西。当然,如果你已经有一个老项目,那直接 File > Open 选择 .uproject 文件就行。

打开 .uproject 后,Rider 会提示是否安装 RiderLink 到项目,点同意。这一步不是可选项,我在前面说过,它是跨蓝图导航、代码检查等功能的基石。安装完 RiderLink,Rider 会开始生成项目文件和索引。如果你发现 Rider 生成的项目文件和你手头工程结构不匹配,比如新增了模块却没有显示出来,可以手动执行一次 GenerateProjectFiles。我习惯在命令行里这样跑一次:

"<UE引擎根目录>\Engine\Build\BatchFiles\GenerateProjectFiles.bat" -project="D:\Dev\MyGame\MyGame.uproject" -game

执行完成后回到 Rider,右键 .uproject 选择 Reload 或者直接重启 Rider,工程结构就会更新。这一步日志会比较长,看到 “Build succeeded” 或者 “Total time” 之类字样才算正常结束。

3.2 用 Run/Debug Configuration 启动 Unreal Editor

打开 .uproject 之后,Rider 右上角运行配置里会自动出现一个 UnrealEditor 目标,通常名字是MyGame (UnrealEditor)。我第一次用的时候直接按了运行按钮,结果它在编译结束后启动了一个崭新的编辑器窗口,我当时还以为把原来的工程搞坏了,后来才明白这就是正常的“运行编辑器”操作。

如果你想调试 C++ 代码,就按Shift+F9或者点调试按钮进入调试模式。Rider 会先编译,再启动编辑器并挂上调试器。启动过程中,日志面板会显示 UnrealBuildTool 的输出,比如 “Building MyGameEditor...” 和 “Target is up to date”,看到这些说明编译流程走对了。编辑器起来之后,在 C++ 代码里打断点,进 PIE 模式,断点就会触发。

如果你不想每次都用 Rider 启动编辑器,而是先在项目文件夹里双击 .uproject 手动打开,然后再挂调试器,就用 Run 里的 Attach to Process。附加进程时要按名称过滤 UnrealEditor,注意如果有多个编辑器进程,要认准属于你当前项目的那个。调试结束后,不要直接关 Rider,建议回到运行窗口点停止按钮,确保附加的调试会话正常结束。

3.3 RiderLink 带来的跨蓝图导航体验

装好 RiderLink 之后,Rider 和 UE 编辑器之间是有一根“数据管道”的,两边不是各干各的。C++ 类名、函数名、属性名这些信息会同步到编辑器侧,Rider 也能反过来感知蓝图资源里的引用情况。

一个非常实用的场景是:你在某个 C++ 类上按 Alt+F7 查找引用,结果列表里除了 C++ 代码里的调用点,还能看到蓝图资产里哪些节点引用了这个类或函数。重构前先用这个功能扫一圈,你就知道改了会影响哪些蓝图,不至于改完 C++ 进编辑器发现一大堆蓝图红点。这个功能在我维护一个长期项目时救过我好几次,属于“用之前觉得无所谓,用之后回不去”的典型。

另外,Rider 也支持从蓝图侧跳转到 C++ 声明。你在编辑器蓝图里看到一个函数节点,但想看它的 C++ 实现,只要通过 Rider 的导航动作就能跳过去,前提是这个函数是 C++ 暴露给蓝图用的反射函数。配合前面说的 Ctrl+B、Ctrl+Alt+B 这些跳转快捷键,跨语言查代码会顺畅很多。

这里还要提醒一个认知:Rider 能告诉你在蓝图里有哪些引用,但不能代替你处理资产层面的破坏性修改。重命名一个暴露给蓝图的 UPROPERTY,Rider 会提示这可能影响蓝图,但它不会去改 .uasset 内部的序列化数据。所以涉及资产引用的改名,最好在 UE 编辑器里用自带的工具,或者提前做好 Blueprint 引用扫描。

4. 踩坑记录与配置优化

4.1 Keymap 冲突、切换方案,以及“无格式粘贴”的正确姿势

Rider 默认是 IntelliJ 快捷键,很多从 VS 转过来的人第一周会非常痛苦,因为肌肉记忆里全是 Ctrl+Shift+B、F5、Ctrl+K,Ctrl+C 这些。解决办法很简单:Settings > Keymap,选 Visual Studio 方案。切换之后大部分代码编辑、编译、调试快捷键都会变成 VS 习惯,学习成本瞬间降一半。

但需要注意的是,即使切成 VS 方案,某些 JetBrains 特有的动作也没有完全对应的 VS 快捷键,比如 Search Everywhere 和 Find Action。这种情况下别强行背,用Ctrl+Shift+A输入动作名是最稳定的兜底。

快捷键冲突是 UE 开发者最容易遇到的现实问题。我自己的笔记本上,F5 被系统音量功能占过,F9 被某个硬件控制软件占过,断点调试按下去一点反应没有。排查思路是先确认是不是 Rider 内部冲突:打开 Keymap 设置,搜对应快捷键,看看动作是不是真的绑在 Rider 上。如果 Rider 这边没问题,再考虑是不是系统层面的占用,最常见的是品牌笔记本的 Fn 功能键、各类截图工具、以及开机自启的会议软件。解决方法要么在系统设置里改全局快捷键,要么在 Rider 里给常用动作重新绑一个更顺手的组合。

无格式粘贴在 JetBrains 里的默认情况下不一定安排得很顺手,很多人搜索“无格式粘贴快捷键”就是为这个。我目前的习惯是:打开 Settings > Keymap,搜索 “Paste as Plain Text”,看它有没有默认快捷键,如果没有,就手动绑成Ctrl+Alt+Shift+V。这样从网页、Word、邮件里粘代码时,色彩和字体全被剥掉,只留纯文本,非常干净。另外,Ctrl+Shift+V 是剪贴板历史,能从之前复制过的多条内容里挑一段粘贴,写 UE 代码时频繁在多个变量名和路径之间复制时特别好用。

4.2 字体与界面调优

Rider 默认字体用的是 JetBrains Mono,这是一款为代码阅读设计的等宽字体,0 和 O 区分度很高,大括号和中括号的视觉重量也很舒服。很多人会问“jetbrains rider 字体”到底怎么设置,其实路径很简单:Settings > Editor > Font,选 JetBrains Mono,字号一般 16 到 18 在 2K 屏上比较舒服,行高 1.3 左右。我这里多提一句,如果 Ligatures 选项影响你的肉眼识别,关掉它,代码可读性比花哨重要。

UE 项目里代码风格比较统一,指针、引用、大括号换行都有自己的一套规矩。Rider 内置了针对 Unreal Engine 的代码风格规则,你可以在代码样式设置里从 “Unreal Engine” 模板导入,这样格式化和重构时,输出结果会和 UE 官方的风格保持一致。这一点在团队项目里极其重要,不然每次格式化完,git 里全是无关的缩进变更,队友会恨不得顺着网线过来找你。

另外,如果你手头的机器是高分屏但界面发虚,检查一下系统的 DPI 缩放和 Rider 的 UI 缩放设置。JetBrains 平台在 Windows 高 DPI 下偶发字体模糊问题,把 UI 缩放到自己显示器物理分辨率对应的百分比可以缓解。颜色主题我推荐 Darcula 深色,长时间盯代码时眼睛负担小一些,如果公司统一用浅色,也可以切换到 IntelliJ Light。

4.3 索引慢、内存不足与缓存异常

UE 工程体积大,Rider 首次索引慢是正常现象,但如果每次打开工程都重新索引很久,那就是配置问题了。先看内存设置:Help > Change Memory Settings,把堆内存调到 2GB 以上,我自己的项目一般给 4GB,大型项目有同事给到 8GB。内存不够的表现是索引中途卡顿、补全响应变慢、甚至无响应弹窗,调完内存后基本都能缓解。

缓存异常是另一个高频问题,具体表现为:代码明明改对了但错误提示还在、索引结果明显过时、跳转跑到旧版本文件。这时候执行 File > Invalidate Caches / Restart,选择清除缓存并重启,Rider 会重新扫描索引。这个操作不伤项目文件,但重启后首次打开会比较慢,别慌,等它跑完一轮就正常了。

针对 UE 项目,还可以把IntermediateDerivedDataCache这类临时目录标记为 Excluded,减少 Rider 不必要的文件监听和索引扫描。不过要小心,不要误排除引擎源码下的关键头文件目录,否则代码补全会缺上下文,反而更难受。如果你用了第三方插件,插件目录里偶尔会有大型二进制资产,也可以在确认不影响代码提示的前提下,把其中纯资源目录排除掉。

索引慢还有一个常见原因是同时打开了多个 UE 工程。Rider 的窗口最好保持一个工程一个窗口,不要在一个窗口内反复切换 .uproject,也不要同时启动太多 IDE 实例,否则内存和 CPU 都会被吃满。我见过有人在 16GB 内存的笔记本上同时开着 Rider、VS、蓝图编辑器,索引慢到怀疑人生,最后就是被内存击穿的。

5. 我对快捷键学习顺序的建议

聊到这儿,快捷键清单和基础操作基本都覆盖到了,但我知道看完你还是会有一个问题:这么多键,我到底先记哪些?

我的建议是分三个阶段推进。第一周只记高频的“找东西”三件套:双击 Shift 全局搜索、Ctrl+Shift+F全局查找内容、Ctrl+B跳到声明。这三个能解决八成日常定位问题,记熟了再说别的。第二周加重构和编译:Shift+F6 重命名、Alt+Enter 修复问题、Ctrl+F9 编译、Shift+F9 调试。到这个阶段,你已经具备“不碰鼠标跑完整条开发闭环”的基础能力。第三周再慢慢扩展,把 Ctrl+W 区块选择、Ctrl+F12 文件大纲、Ctrl+Alt+Shift+V 纯文本粘贴这些效率细节补进来。

据我实际体验,从 VS 转到 Rider,大约需要一周才能真正熟练,中间会有各种“快捷键按错”的阵痛期。但一旦渡过去,你会发现以前在 VS 里等 IntelliSense 转圈、在 UE 源码里反复右键 Find All References 的那些时间,全都被省下来了。尤其是 UE5 项目,工程越大,Rider 的索引和跳转优势越明显。

最后再分享一个小技巧:把 Rider 的 Find Action 当成你的“万能钥匙”,任何功能都先按Ctrl+Shift+A输名字试试。Rider 的动作命名比 VS 更接近自然语言,比如你输入 “unreal”,能看到所有 UE 相关动作;输入 “publish”,能找到所有发布相关功能;输入 “git”,能直接调出 Git 操作。这套“动作搜索”思维,比背一百个快捷键更能让你在陌生功能里保持自主探索的能力。工具是用来加速思考的,不是用来增加记忆负担的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询