《UE4开发笔记》Tip 0 Rider的五个必备技巧

2023-11-07

请添加图片描述请添加图片描述在UE4的C++工程和源码开发中,过去常使用Visual Studio系列来作为IDE,但VS始终对UE4工程支持的并不友好,小番茄Visual Assist X系列插件的安装也是十分玄学,时不时就失灵。请添加图片描述
JetBrains推出了Rider For UE4,经过一段时间的试用,感觉在日常开发上可以完胜VS+VA的,虽然还在测试版本,但经过近年来的打磨,基本上是没碰到过什么大毛病。

这里总结Rider在写代码时一些能够大大提高效率的功能,文章内附上的快捷键是在Visual Studio模式下的。
请添加图片描述

1-编辑器快捷键

有时候在代码里需要新起一行,有时候需要在上方,有时候需要在下方,如果光标直接在行内,使用Enter会把一行拆断,所以我们常常是使用Home->Enter/End->Enter的两步方式实现,右手需要按两次,比较费事,这在Rider中是有快捷键的:

  • Ctrl+Enter:上方新起一行
  • Shift+Enter:下方新起一行

CtrlShift的上下关系稍微有点反直觉,可以自行在Setting->KeyMap里修改

一些其他行编辑快捷键:

  • Ctrl+L:删除行
  • Ctrl+D:复制行/选中块
  • Ctrl+Alt+Shift+Up/Down:上下移动行(不破坏块结构,还蛮神奇,就是反应有时候有点慢)

除了Rider自身在代码左侧提供的代码块折叠功能,还可以手动选中需要折叠的区域,使用快捷键折叠:

  • Ctrl+M, H:折叠选中(Hide)
  • Ctrl+M, E:展开(Expand)
  • Ctrl+M, S:折叠(Shrink)

2-搜索快捷键

请添加图片描述

  • 双击Shift/Ctrl+T:全局快速搜索(Search Everywhere),精简版的Find in Files,找一些项目里关键类的文件比较方便;
  • Ctrl+F:在文件中查找,文件中选中内容再搜索可以不用再填写搜索内容;
  • Ctrl+Shift+F:在所有文件中搜索,搜索速度会慢一点,但比快速搜索更全;
  • Ctrl+Shift+T:搜索文件,用于按名字搜索文件(快速搜索中自动包含该选项)

请添加图片描述

  • Alt+\:用于快速搜索当前文件内的一些方法/成员

3-导航快捷键

除了上面提到的文件内快速搜索方法,还有一些文件内快速导航的方法:

  • Ctrl+[:移到方法/类定义的第一行
  • Alt+Up:移动到上一个方法
  • Alt+Down:移动到下一个方法
  • Ctrl+G:移动到指定行/列号
    请添加图片描述
    一种比较特殊的文件内快速导航是结构视图(Structure),可以以列表的方式直接查看当前文件内的类、方法、成员函数等的情况,打开的快捷键是Ctrl+Alt+F,也可以在左下角找到选项页按钮。

代码页(Tab)导航的快捷键:

  • 鼠标中键单击Tab:关闭Tab页(就不用点小叉叉了)
  • Ctrl+F4:关闭当前Tab页(你甚至可以不用鼠标)
  • Alt+Left/Right:左右切换显示的Tab页
  • Ctrl+Tab:使用Switcher快速切换Tab页
  • Shift+F4:使用独立新窗口打开Tab页

文件级别的导航快捷键:请添加图片描述

  • Ctrl+,:最近文件
  • Ctrl+Shift+,:最近修改过的文件

请添加图片描述

  • Alt+`:导航菜单(当前文件/选中内容)
  • Alt+Shift+L:在解决方案目录里定位当前文件

一些类/函数定义相关的文件导航

  • F12:找到定义(Definition)/使用(Usage)
  • Shift+F12:查找使用(Usage)

请添加图片描述

  • Alt+Shift+F12:快速展示使用(Usage)
  • Ctrl+F12:查找实现(Implementation)
  • Ctrl+Shift+F11:找到类型声明(Type Declaration)

4-书签视图(Bookmarks)

在项目里阅读大量的代码时,经在各个文件各个函数中导航来导航去的,一来二去的就容易在其中迷失了自我,Rider提供了书签(Bookmarks)管理我们常去的代码位置或者一些传送门。
请添加图片描述
打开书签的快捷键:Alt+2,或者在编辑器左下角可以找到,这是所有书签的管理页,其中还有自定义书签名、添加书签列表等操作。
请添加图片描述

  • Ctrl+K, K:在当前行添加普通书签,会看到行号旁边多出一个旗帜;

请添加图片描述请添加图片描述

  • Ctrl+F11:添加有助记符号的书签,可以给这个书签添加一个助记符旗帜来代替普通的旗帜,更加有标示性;

请添加图片描述

  • Ctrl+`:弹出一个浮窗快速,单击书签可以快速预览对应的代码内容

5-继承视图(Hierarchy)

在想了解各个类之间的继承关系时,Rider提供了一个非常有用的功能,就是继承视图(Hierarchy)。
请添加图片描述
选中需要查看的类,然后使用Ctrl+E, H就可以打开对应的继承视图,上面有两个选项比较关键,第一个是查看自己继承了哪些父类(Supertypes),第二个是查看自己有哪些子类(Subtypes)。

使用继承视图要比自己一个个的按F12然后在各个文件之间脑补出各个类的继承关系要直接了当的多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《UE4开发笔记》Tip 0 Rider的五个必备技巧 的相关文章

  • 如何在 Eclipse 中使用 PHPdoc

    我们目前正处于一个新项目的开始阶段 希望 这一次 从一开始就尽可能多地发表评论 以帮助未来的发展 我试图找出在 Eclipse 中使用 phpDoc 的最佳实践 但结果非常有限 您能分享一下在 Eclipse 中使用 phpDoc 注释内容
  • 如何在 IntelliJ 14 中从临时文件运行代码?

    我创建了一个简单的 Java 临时文件 其中包含一个名为 测试泛型 包含一些代码和main方法 代码似乎没问题 但是当我尝试运行它时 通过右键单击 gt 运行 TestGenerics main 我收到此错误 未指定模块 包含 Lua 代码
  • 在android中添加横向方向和代码的最简单方法

    我是新来的android并想知道如何添加landscape模式在android谁能告诉我最简单的方法 我正在寻找一种非常简单的方法 如果您有此类问题 请查看下面的答案 谢谢 I have a simplest way to add a la
  • Clojure 开发:IDE 还是 REPL?

    我已经使用 Clojure 一段时间了 想要创建一些比玩具更大 更复杂的项目 过去几年我一直在使用 Java 并且已经习惯了 IDE 为我所做的事情 编译大量类 将它们打包在 jar 中 创建批处理文件供用户启动它们 当我查看 Clojur
  • 如何调试肉桂小程序?

    我想写一个肉桂小程序 这些都是基于 JavaScript 的 我希望编写的代码更改服务 打开和关闭它们 类似于WebDeveloper菜单小程序 https bitbucket org infiniteshroom cinnamon web
  • 有一个不错的 OpenCL 入门套件吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一些经验OpenGL它是可编程管道 我愿意给OpenCL不过 尝试一下 有人可以提出一个很好的集成套件来使用OpenCL 我只知道石英作曲家看起来
  • Lighttable,设置字体大小

    我是 Light Table IDEAS 的新手 有谁知道如何设置workspace和 Windows 字体大小 我可以更改编辑器字体大小 但不知道如何设置font size对于其他元素 或者更改所有 IDE 字体的全局字体大小 打开命令窗
  • 使用 PHPstorm 让 php 代码在浏览器中执行

    因此 当我单击 运行 时 PHPstorm 正在其控制台中正常运行 php 代码 这很好 但我想在浏览器中看到它 所以我在 PHPstorm 中创建了一个新的 PHP Web 应用程序 将服务器设置为 localhost 8000 现在 当
  • python - Atom IDE 如何启用自动完成代码以查看模块中的所有函数

    我正在为我的 python 项目使用atom IDE 在某些情况下有自动完成建议 但我想知道是否可以列出导入模块具有的所有可能功能 例如 如果我导入import urllib当我打字时urlib 并按 ctrl tab 想要查看包含可能使用
  • 设置 xamarin studio 以与 PCL 和 MVVMCross 配合使用

    我真的很喜欢 Xamarin Studio 并且正在寻找一个模板解决方案来开始使用 MvvmCross 开发跨设备应用程序 但我找不到如何将项目设置为与 Xamarin Studio 一起使用 PCL 和 MvvmCross 如果有人能给我
  • 设置 eclipse 进行 Windows 驱动程序开发

    我正在尝试使用 WDK 7 1 0 编写用户模式 Windows XP Vista 和 7 虚拟打印机驱动程序 我打算使用 eclipse IDE 进行开发 所以想知道是否可以进行相同的设置 我希望做以下事情 1 Eclipse 能够识别
  • 在 Codeblocks 中启用编译器输出窗格

    This is probably a really noob question but the fact of the matter is that my Code blocks wouldn t show me errors when i
  • 如何在 Intellij Idea 12 中重命名/移动项目?

    就像声明的那样here http link sheidaei com mozcw人们可以更改项目的名称 但是 它仅更改项目名称 不会更改文件夹结构 例如 如果您的项目名为sample1并且位于 user1 development IdeaP
  • 如何设置 Xcode 来代替 Qt Creator 工作?

    我不使用 Qt Creator 的 UI 设计功能 对于一个新项目 我想体验一下使用 Xcode 的工作 这将是一个常规的 Qt 项目 使用 C 和 Qt 库开发 就像在 Qt Creator 中一样 我没有使用 OS X 尤其是 Xcod
  • 如何在浏览模式下禁用 RStudio 中的查看模式

    Is there a way to disable the View mode in RStudio when debugging functions 代码示例 myfun lt function browser myfun 我知道它不开放
  • VBA:新集合 -> 模块不是有效类型

    我尝试使用集合作为函数的一部分 但是在编译时不断收到错误 模块不是有效类型 即使该函数只是定义一个集合 我也会得到相同的结果 Function CountUniqueTags Dim table As Collection Set tabl
  • android studio 和 android SDK 捆绑的 eclipse 版本有什么区别

    我没有 Android 开发经验 我想开始编写应用程序 The 官方开发者工具页面 http developer android com tools index html包含两个不同 IDE 的链接 第一个包含捆绑的 ADT 版本Eclip
  • 在 Eclipse 中突出显示修改的行

    在 netbeans 中 如果我打开一个受版本控制的文件 则修改的行会在左侧突出显示 绿色表示新行 蓝色表示修改行 在Eclipse中是否可以得到类似的效果 打开首选项窗口 搜索 差异 选择快速差异 将 使用此参考源 更改为 SCM 提供程
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • 如何忽略 Pydev Eclipse 中特定的未定义变量

    我正在使用 Eclipse 和 Pydev 插件在 Windows 上编写跨平台 python 脚本 该脚本利用os symlink and os readlink 如果当前平台不是 NT 则使用方法 自从os symlink and os

随机推荐

  • jmeter与jenkins集成

    需求 通过jenkins来运行jmeter接口测试用例文件 平台 win10 原理 任何可以通过命令行执行的 都可以集成至jenkins 在jenkins构建中 执行winodws命令 调用jmeter 并执行jmx文件 最后生成测试报告
  • 可控硅

    可控硅在控制极加上合适的触发电流 可控硅就能够从断开状态变成为导通状态 这时 我们取消控制极的触发电流 但可控硅仍然能维持导通状态 如果流过可控硅的电流开始变小 当小于维持导通的能力时 可控硅才关断 直到下次触发时才会导通
  • 人工智能 Linux(三)

    人工智能 Linux 三 一 指令 1 df指令 作用 查看磁盘空间 语法 df h h 以可读性较高的形式展示大小 2 free指令 作用 查看内存使用情况 语法 free m m 表示以mb为单位查看 3 head指令 作用 查看一个文
  • SpringBoot启动时打印的时间是如何计算的?

    一 现象 我们都知道SpringBoot启动时会打印时间 那么内部是如何计算的呢 二 本质 获取时间间隔 计算秒数 Started springBoot in 20 763 seconds 记录开始的毫秒数 计算毫秒数 Root WebAp
  • 【模板】重载运算符

    重载string 以日期类CDate为例 class CDate public int y m d CDate int y int m int d y y m m d d operator string string s stringstr
  • CCAnimation类 参考

    http www cocos2dchina com documentation interface c c animation html
  • UPLOAD labs 第三关

    看源码 is upload false msg null if isset POST submit if file exists UPLOAD PATH deny ext array asp aspx php jsp file name t
  • QT中的this指针什么意思?namespace又是什么意思?

    初学者对于qt中的this指针会摸不着头脑 下面我谈谈自己的理解 结论 this指针 指的就是qt designer里面ui界面 也就是xxx ui文件 举个例子 现在我有三个文件 分别是server h头文件 server cpp源文件
  • Spring 根据Bean注册的名称获取Bean对象

    根据Bean注册的名称获取Bean对象 一个通过Bean名称获取Bean的对象实例的一个类 现在复习下Spring 再此处记录下 package net shopxx util import org springframework bean
  • 二叉树层次遍历如何判断当前结点是哪层的?

    二叉树层次遍历就是按每层从左到右 一般是从左到右 若想从右到左也很简单 的次序遍历结点 下面是一个简单的例子 这棵二叉树层次遍历的结果是 1 2 3 4 5 实现层次遍历一般是用队列 思路还是比较简单 1 首先把根结点入队 2 若队列不为空
  • mac 完全卸载python

    这里主要是卸载pkg安装的python 第一步 删除框架 sudo rm rf Library Frameworks Python framework Versions 3 11 第二步 删除应用目录 sudo rm rf Applicat
  • 解决Module not found: Error: ‘element-plus/lib/theme-chalk/index.css‘,通过下载插件,使用的是vue ui项目仪表盘

    1 首先在package json中查看vue版本和element ui版本 2 找到element ui官网https element eleme cn zh CN component quickstart 点击element ui 3
  • STM32定时器-基本定时器

    目录 定时器分类 基本定时器功能框图讲解 基本定时器功能 时钟源 计数器时钟 计数器 自动重装载寄存器 定时时间的计算 定时器初始化结构体详解 实验 定时器分类 STM32F1 系列中 除了互联型的产品 共有 8 个定时器 分为基本定时器
  • 初识Electron开发桌面应用

    Electron是什么 Electron 基于 Chromium 和 Node js 让你可以使用 HTML CSS 和 JavaScript 构建跨平台 mac window linux 桌面应用 Electron开发环境的搭建 首先安装
  • 数据预测之BP神经网络具体应用以及matlab代码(转)

    1 具体应用实例 根据表2 预测序号15的跳高成绩 表2 国内男子跳高运动员各项素质指标 序号 跳高成绩 30行进跑 s 立定三级跳远 助跑摸高 助跑4 6步跳高 负重深蹲杠铃 杠铃半蹲系数 100 s 抓举 1 2 24 3 2 9 6
  • 优先队列(堆)

    设计一个程序模仿操作系统的进程管理问题 进 程服务按优先级高的先服务 同优先级的先到先服务的管理 原则 设文件task txt中存放了仿真进程服务请求 其中第 一列是进程任务号 第二列是进程的优先级 1 30 2 20 3 40 4 20
  • React 与Spring Json通信

    前端 post方法 对应post请求 param String url 请求的url地址 param Object params 请求时携带的参数 param Boolean json true json格式请求头 false FormDa
  • Nothing to be done for `install-exec-am' while compile zabbix

    编译zabbix报错 make 3 Leaving directory home sysadmin zabbix zabbix 1 8 src libs zbxjson make 3 Entering directory home sysa
  • 利用scrapy框架进行数据的爬取

    首先介绍一下什么是scrapy框架 爬虫中封装好的一个明星框架 代表性功能 高性能的持久化存储 异步的数据下载 高性能的数据解析 分布式 Scrapy是一个为了爬取网站数据 提取结构性数据而编写的应用框架 非常出名 非常强悍 其内部已经被集
  • 《UE4开发笔记》Tip 0 Rider的五个必备技巧

    在UE4的C 工程和源码开发中 过去常使用Visual Studio系列来作为IDE 但VS始终对UE4工程支持的并不友好 小番茄Visual Assist X系列插件的安装也是十分玄学 时不时就失灵 JetBrains推出了Rider F