首先要装个番茄插件
一、常用快捷键
1、快速在.h和.cpp文件中切换
alt+o
2、shift+alt+o可输入想要打开的文件,既可以是UE4源码中的也可是游戏项目里的.h或.cpp文件
如果不知道一个类的头文件可以在这里查找并看最后的路径,来include
3、查看一个变量或变量的声明方法
alt+g
比如通过.addDynamic绑定一个函数,你不知道这个函数需要什么参数,先通过alt+g来查找.addDynamic之前这个函数声明的参数是什么,直接复制过来就是绑定函数的参数。
4、查找所有文件中的某个函数或变量
shift+alt+s
或者直接在这个输入框搜
5、让某一个变量显示高亮:
双击选中,按ctrl+F
取消高亮:按Esc关闭查找框,在文件中会高亮所有要查找的名字,再按一次Esc取消高亮
6、注释
注释 Ctrl+K+C(comment)
反注释 Ctrl+K+U
7、回到上一个光标位置
Ctrl + -
前进到下一个光标位置
Ctrl + Shift + -
8、编译项目
ctrl+shift+B
9、设置断点
F9。
10、在vs的右侧从左边效果换成右边效果
做法:在右侧右键-->Scroll Bar Options
在Scroll Bar的栏中
11、实现在vs中两个代码栏
在代码栏上侧右键-->New Vertical Tab Group
12、光标在单词间移动(光标不是一次移动一格,而是一次移动一个变量)
ctrl+左右
13、如何用键盘中选中一个变量并剪切
先按ctrl+左右,让光标移到变量的左侧或右侧
再按Shift+Ctrl+左右,选中光标左侧或右侧的变量
再Ctrl+x
14、如何用键盘上滑或下滑代码
ctrl+上下
15、如何用键盘选中多行
Shift+上下
16、在当前光标下面一行回车
ctrl+shift+回车
17、在当前光标上面一行回车
ctrl+回车
18、自动对齐代码
先Ctrl + K再Ctrl + D
19、添加书签
作用:在一个类中下个标记,即使其他类中也可以自动跳转回来
Ctrl+K+K 作书签或取消当前书签
Ctrl+K+N跳转到书签
(可以作多个书签,Ctrl+K+N会逐个跳转)
20、整个项目或当前文档中查找该方法在哪被调用过
点击该方法名,Shift+F12
二、常用调试方法
1、c++中打印字符串
有三种方法
(1)GEngine->AddOnScreenDebugMessage(-1, 2.0f, FColor::Red, FString("dsfds"));
好处是在游戏上显示,坏处是没有显示在客户端还是在服务端
(2)UE_LOG(LogTemp, Warning, TEXT("Your message"));
坏处是没法再游戏里看到,不太方便
(3)UKismetSystemLibrary::PrintString(this, TEXT("Hello world!"));
好处是在游戏里面打印,而且能显示出在客户端还是在服务端打印
(4)查看ue4中类的继承关系
在编辑器中,窗口-->开发者工具-->类别查看器
过滤器取消勾选仅对actor,可以看到所有类的继承结构
(5)如果不知道c++用哪个组件,在蓝图中添加组件里可以看到该组件的名称
6、在做碰撞检测的时候如果要调试,可以在游戏中按~键,输入show collision
会显示所有碰撞框的范围
7、ue4中常用的控制台命令
open mapname 打开指定名称的地图(不加地图扩展名)。
STAT FPS FPS统计
STAT ALL 所有统计
STAT GAME 显示游戏情况
STAT NET 网络情况
STAT NONE 关掉统计
8、如果需要把之前编译过的全部删除,重新编译
如图,把所有灰色的全部删去即可
9、普通游戏中这样,如果生成的物体在地下面,或者在另一个物体里面生成,正常游戏中不容易看到,UE4中Play,然后按F1
会变成这样
就比较容易看到了
10、在蓝图中用的很熟的函数,在c++调用时不知在哪个类里面
解决方法:在蓝图中把指针放在函数上会显示c++的类名
11、vs和ue4是分开打开的,如何将它俩绑定
适用场景:vs下断点进行调试,这时必须从将ue4从vs中打开
解决方法:在vs中Debug->Attach to Process
找到进程中的ue4,这样就绑定在一起了
12、ue4调试可以用print string进行调试,还可以调用Draw Debug Sphere 和Draw Debug Text
这种调试函数还挺好玩的,在你想要的输出位置绘制一个球体和一个字符串
13、断点调试
先将vs和ue4绑定,在该下断点的地方下断点
如果断点是这样,说明代码更改了,要重启ue4
点击这个重启ue4,这样就可以下断点了
在ue4中点击播放,在该触发断点时候自动跳转到vs
可以看到此时变量都保存哪些信息
14、在做物体运动时候需要判断物体运动方向,
DrawDebugDirectionalArrow函数用于在两点或者一个方向上划一条线,方便调试