UE5 C++ Rider 编程指南 0.安装和配置

2023-10-31

0. 前言

之前一直在使用VS2019+VA的组合,但是遇到一些问题后,又经常听大家都在安利Rider多么好用,于是忍不住要尝新了,但是在这个过程遇到了一些头疼的问题,花了很多时间才解决,所以趁着1024程序员节的机会和大家分享一下一些心得体会.
另外这方面的中文教程非常少,自己使用Rider后发现这个IDE的确比VS+VA的组合好用,能够提升编程效率,所以非常高兴的要加入安利Rider的队伍.当然,这些好处是有一点学习成本的,如果已经可以在VS里面如鱼得水的,确实没有必要换个IDE,然后要花数小时来学习和熟悉,大家自己评估吧.

1. Rider特性

既然是安利,还是有必要讲一下Rider的特性,方便大家做评估.

1.1 快速跨平台C++支持

首先是Rider官方的介绍,如下图所示:
快速跨平台C++支持
总结一下:

  • 跨平台,支持Windows,macOS和Linux;
  • 快速原生的现代C++支持;
  • 强大的数据库,帮助大家获取快速的代码提示,代码生成等;
  • 帮你添加#include引入头文件,不用再手动添加,也避免忘记添加,Rider这里实现了完全的自动化

1.2 连接代码和UE编辑器

官方介绍如下图所示:
UE管道

  • 对UE源码的原生支持,用Rider打开UE项目时不需要生成VS文件,这个IDE帮我们做了这个工作;
  • Rider可以读取编辑器的蓝图,这个后面的插件UnrealLink支持了这个功能;
  • 可以在Rider中查看编辑器日志.

1.3 协助反射机制和RPC

官方介绍截图

  • UE的反射宏不仅仅是简单的文本,Rider加速了代码补全,文档快速阅读;
  • 代码导航和生成支持RPC远程过程调用.

1.4 代码分析和命名风格

Code Analysis

  • Rider确保你的UE代码准确,特别是那些名称冗长的宏;
  • 协助编码过程中的命名规范;
  • 快速修正.

1.5 调试器

丰富的调试器UI,帮助我们快速直观的观察调试信息,这个功能笔者觉得很赞,如下图所示:
Debug
这种数据风格化的UI显示可以一眼就看清楚我们的调试信息,快速找到问题所在.

1.6 单元测试

Rider开箱支持UE自动单元测试框架,可以直接在Unit Test工具或者在UE编辑器中启动,如下图所示:
单元测试

2. 安装

Rider的官方网站下载速度非常快,所以推荐官方页面下载:Rider for Unreal Engine
安装过程比较简单,这里就不赘述了.
这里要说的是自己遇到的一个问题,也是自己的认知误解,笔者误以为Rider和VS是二选一的关系,所以在安装Rider后,就把VS卸载了,然后就无法Build编译代码了,也无法运行了.这是因为Rider还需要依赖VS的基础工具链,只是对VS编辑器做了增强,当然不需要再打开VS了.
这里有个优化的安装组合,VS基础工具链+Rider,这个是笔者认为最优的使用方式,也是自己在卸载VS后,再重装的时候尝试尽量少的安装VS组件,以下是自己尝试得到的VS组件组合:

  • C++ Core 核心功能;
  • Windows通用C运行时;
  • C++ 2022 可再发行程序包更新;
  • MSVC 最新版本;
  • Windows 10 SDK;
  • C#编译器;
  • MSBuild;
  • .NET Framework 4.6.1 SDK 或以上的版本.

有这些基础就够了,其他的VS组件对于Rider都是多余,这样做的好处是可以最小化咱们的硬盘占用,遵循的是奥卡姆剃刀原则,也是一种极简主义.

3. 插件

大家可以在安装Rider的时候导入VS或VA的一些快捷键配置,也可以在Settings设置中修改自己熟悉的快捷键,这里主要讲以下插件Plugins的配置.打开Rider后,在左下角可以找到配置按钮,如下图所示:
配置选项
在下拉菜单中选择Plugins插件,打开后在搜索框中搜索Unreal,就可以找到以下几款插件:
Unreal插件

3.1 Dysh Unreal Simple Theme

这个插件就是Dysh提供的简单虚幻主题,就是视觉提升,可以不安装.

3.2 EnhancedUnrealEngineDocumentation

增强虚幻文档的支持,方便大家在写代码的时候查阅文档,这个可以根据需要安装.

3.3 EzArgs

这个插件的实质就是UnrealVS的Rider版本,可以根据需要进行安装.

3.4 Unreal GenProj

这个插件可以帮助我们快速生成VS文件,就是UE项目右键菜单中的那个Generate VS project files.非常实用的功能,这样就不用每次需要生成VS文件的时候切换出IDE,然后还需要右键找到这个选项,这个一键生成不要太方便,非常建议大家安装.

右键菜单
特别对于使用Git同步的时候,拉取到新文件的时候一定要进行这个操作的,而且Rider也集成了Git的功能.

3.5 UnrealLink

以上的插件都可以不安装,但是UnrealLink几乎是必装的,这个插件支持Rider到UE编辑器的连接,可以从Rider点击运行编辑器,可以在Rider中查看蓝图的使用信息,所以笔者认为是必备的插件.
UnrealLink插件安装
如上图所示,这个插件要在Settings设置中安装,搜索Unreal就可以找到图中的选项,打开后要选择Install RiderLink in Game,因为UE5还不支持安装到引擎,所以只能选择这个选项.

4.总结

这一篇比较简单,把Rider安装和配置好就行,下一篇开始Rider编程教学,希望可以帮助大家提高编程效率.

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

UE5 C++ Rider 编程指南 0.安装和配置 的相关文章

随机推荐

  • mybatis以及mybatisplus批量插入问题

    1 思路分析 批量插入是我们日常开放经常会使用到的场景 一般情况下我们也会有两种方案进行实施 如下所示 方案一 就是用 for 循环循环插入 优点 JDBC 中的 PreparedStatement 有预编译功能 预编译之后会缓存起来 后面
  • 嵌入式驱动那年的笔试面试-有干货

    面试简述 从9月份开始即吹响了找工作的号角 众说纷纭 有老师说9月份的没有必要 因为面向学历招聘 很抱歉啊 博主第一学历太渣了 研究生学历还可以把 有学生也因为数次的碰壁而退居幕后 准备这十月份的再次重来 但是残酷的现实证明 没有经过9月分
  • nms-python和C

    代码 import numpy as np def nms bboxes iou threshold x1 bboxes 0 y1 bboxes 1 x2 bboxes 2 y2 bboxes 3 score bboxes 4 area x
  • 【PHP小皮】下载高版本php8.1.0

    博主介绍 爱打csgo 有空来go一把 目录 前言 一 到官网下载PHP8 1 0版本 二 到小皮下载PHP 前言 提示 今天的内容是php小皮下载高版本 来兼容laravel框架 一 到官网下载PHP8 1 0版本 官网下载链接 PHP
  • Python:要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和

    题目 使用函数求特殊a串数列和 给定两个均不超过9的正整数a和n 要求编写函数fn a n 求a aa aaa aa aa n个a 之和 fn须返回的是数列和 思路 1 先输入a n的值 2 编写函数 使用for循环再 0 n 之间遍历 构
  • List (单链表17个函数讲解)

    链表时一种常用的数据结构 是通过 链 来建立起数据元素之间的逻辑关系 这种用链接方式储存的线性表简称链表 Link List 一 链表与顺序表的对比 在接触链表之前大家想必已经了解过了顺序表的储存结构方式 顺序表与链表的不同之处如下 1 顺
  • js下手机号隐藏中间四位

    var phone d phone var myphone phone substr 3 4 var lphone phone replace myphone alert lphone
  • linux中每次启动后mysql中的mysql表就消失了 (mysql没有mysql表)

    1 这可能是因为mysql数据库的user表里 存在用户名为空的账户即匿名账户 导致登录的时候是虽然用的是root 但实际是匿名登录的 2 解决方案一 2 1 关闭mysql service mysqld stop 2 2 屏蔽权限 mys
  • 局域网内共享文件夹

    1 首先新建一个文件夹 2 右键 gt 属性 gt 共享 3 添加项加everyone gt 设置 权限级别 为 读取 写入 gt 共享 4 文件属性设置完毕 然后在网络中设置 右下角网络右键 5 选择 gt 网络和Internet gt
  • 算法训练营第四十天(9.1)

    Leecode 300 最长递增子序列 题目地址 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 题目类型 最长子序列 class Solution public int lengthOfLIS vector
  • 是什么引起数据库响应超时?

    一 问题背景 一个核心业务数据库部署在AWS的EC2实例上 在业务活动期间发生了性能抖动导致业务超时 下面记录一下问题排查的流程 二 问题分析 1 监控指标分析 发生问题后 第一时间肯定要看监控 首先分析服务器基础监控 服务器的Load1使
  • [工业互联-9]:EtherCAT(以太网控制自动化技术)+TwinCAT 在生产自动化控制中的应用 、

    前言 EtherCAT 以太网控制自动化技术 是一个开放架构 以以太网为基础的现场总线系统 其名称的CAT为控制自动化技术 Control Automation Technology 字首的缩写 EtherCAT是确定性的工业以太网 最早是
  • 基于身高与体重数据集与Auto数据集分别进行线性回归和Lasso回归(代码逐行讲解,超细节)

    身高体重 还是先导入要用的包 没下载的要先去下载依赖包 import pandas as pd import statsmodels api as sm from plotly offline import init notebook mo
  • (3)原神角色数据分析-3

    绘图类 在名为 WRITEPHOT py 的文件中 定义如下绘图方式 则在主页面 app py 文件中 可通过如下方式调用 from WRITEPHOTO import WriteScatter WriteFunnel WriteBarDa
  • SpringAop_2通知(新手)和无法找到元素 'aop:aspectj-autoproxy' 的声明

    AspectJ java社区里最完善最流行的AOP框架 在spring2 0以上的版本中 可以使用基于AspectJ注解或基于XML配置的AOP 其实Spring本身提供了aop框架 但是AspectJ更方便 在Spring中启用Aspec
  • UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 14: illegal multibyte sequence 解决

    这个错误是因为Python默认使用的编码方式 GBK 无法正确解码包含非ASCII字符的文件 可以尝试以下解决方案 1 修改文件编码 将文件的编码方式改为UTF 8或者其他支持中文的编码方式 2 修改代码 在打开文件时指定文件的编码方式 例
  • 云原生之部署wordpress博客及设置圣诞主题风格

    2022年圣诞节到来啦 很高兴这次我们又能一起度过 CSDN诚邀各位技术er分享关于圣诞节的各种技术创意 展现你与众不同的精彩 参与本次投稿即可获得 话题达人 勋章 圣诞快乐 定制勋章 1年1次 错过要等下一年喔 云原生之部署wordpre
  • MongoDB中空间数据的存储和操作

    本文使用官方C Driver 实现在MongoDB中存储 查询空间数据 矢量 空间数据的存储 本例中 从一个矢量文件 shapefile格式 中读取矢量要素空间信息以及属性表 并写入到MongoDB中去 其中读取shapefile文件以及将
  • DeepFake——实际操作

    文章目录 文件结构 执行步骤 效果优化 总结 切图层面 extract层面 select 层面 原始数据优化 执行过程优化 convert 其他优化idea 辅助知识 实验记录 环境配置 环境配置 数据 环境配置 第三方库 环境配置 操作工
  • UE5 C++ Rider 编程指南 0.安装和配置

    目录 0 前言 1 Rider特性 1 1 快速跨平台C 支持 1 2 连接代码和UE编辑器 1 3 协助反射机制和RPC 1 4 代码分析和命名风格 1 5 调试器 1 6 单元测试 2 安装 3 插件 3 1 Dysh Unreal S