虚幻引擎 4 (UE4)从设计上就是面向 Visual Studio 的方便整合性,能够快速且方便的修改项目代码,并即刻得到编译反馈。根据 UE4 来正确设置 Visual Studio 能够提高工作效率,并获得更好的使用体验。
在这篇文档中,将会涵盖 UE4 在 VS2013 上的基本的一些方法。
开始设置前
首先,要注意,Visual Studio 2015(VS2015)默认安装时并不包含 C++ 的工具。在安装 VS2015 时,需选择 自定义 安装并勾选 C++ 组件,这对之后的工作时必须的。如果已经安装了 Visual Studio 2015 的话,可以选择 File > New > Project > C++ 来安装 C++。
下表中列出了 UE4 的版本和预整合的 Visual Studio 版本的对应关系。
4.15 or Later | VS2017 |
4.10 to 4.14 | VS2015 |
4.2 to 4.9 | VS2013 |
虚幻 4 的开源版本(从 GitHub 或 P4 上下载的)已经整合了 VS2013。更早的 UE4 版本和更老的 Visual Studio 这里就不做更多描述了。
推荐设置
以下是为结合使用Visual Studio和虚幻引擎4的开发人员推荐的设置。
-
根据以下步骤来增加 Solution Configurations 的下拉框宽度:
-
右键工具栏,选择 Customize。
-
点击 Commands 分页。
-
选择 Toolbar 选项。
-
在 Toolbar 边上的下拉框内,选择 Standard,
-
在 Controls 列表的底部,选择 Solution Configurations。
-
点击右侧的 Modify Selection。
-
将 Width 设置为 '200'。
-
点击 Close,工具栏会自动更新。
-
-
根据以下步增加 Solution Platforms 下拉框。
-
找到标准工具栏中最右侧的按钮,点击后有一个下拉菜单,可以为工具栏添加或删除按钮。
-
点击下拉按钮,鼠标移至 Add or Remove Buttons,并点击 Solution Platforms 以将它添加到工具栏中。
-
-
我们建议关闭 Error List 窗口。通常,Error List 窗口会在遇到错误时自动弹出。然偶,在使用虚幻引擎工作时,Error List 可能会显示虚假的错误信息。最好的做法是禁用 Error List 窗口并使用 Output 窗口来查找真正的代码错误。以下步骤可以关闭 Error List 窗口:
-
如果 Error List 窗口开着的话,先关闭它。
-
从 Tools 菜单中,打开 Options 对话框。
-
选择 Projects and Solutions 并且取消勾选 Always show Error List if build finishes with error。
-
点击 OK。
-
其他可能有用的配置选项:
-
关闭 Show Inactive Blocks(显示不活动的代码块) 。如果您不关闭此项,在文本编辑器中,很多代码块会呈现出灰掉状态。(Options(选项) > Text Editor(文本编辑器) > C/C++ > Formatting(格式)) 。
-
打开IntelliSense(智能编码)和"squiggles(波浪线提示)"功能,让它们正常运行。(请参照Intellisense(智能编码), Live Errors(实时错误)和Squiggles(波浪线提示) 部分)
-
如果不需要 Edit & Continue(编辑&继续) 功能,请关闭它们。(Options(选项) > Debugging(调试) > Edit and Continue(编辑并继续))
Visual Assist X 用户推荐设置
-
在 Visual Assist X (VAX)中关闭 Format After Paste(粘帖后格式化) 功能。这个功能有时候会导致格式变得混乱。(VAX Options(VAX选项) > Advanced(高级) > Corrections(校正))
-
在解决方案浏览器中停用 External(外部) 文件夹, 它们会扰乱视图。( 在 Options(选项) > Text Editor(文本编辑器) > C/C++ > Advanced(高级) 中 Disable External Dependencies Folder(禁用外部依赖文件夹) )
Visual Studio 2017 Users
如果您是第一次安装Visual Studio,您需要确保启用了以下选项。【右下角(Unreal Engine installer)打勾】
以下选项将下载UE4安装程序作为Visual Studio 2017安装的一部分。
不包含UE4安装程序
以下选项不会下载UE4安装程序作为Visual Studio 2017安装的一部分。【右下角(Unreal Engine installer)不勾】
Intellisense(智能编码)、Live Errors (实时错误)和 Squiggles (波浪线提示)
虚幻引擎 4 项目现在可以正常支持 IntelliSense(智能编码)功能,包括实时 Error List(错误列表) 和 Squiggles(波浪线提示)。 (请参照以下介绍获得如何启用它的信息。)
VC10 的 IntelliSense 功能可以在您编写代码的过程中重新编译C++。这比仅检查 VAX 的语法强大很多: VC10使用完整的C++编译器,可以验证每一行代码。这个功能非常强大并且将会加快您的工作流程!
当其和波浪线提示功能结合使用时,如果您正在查看的文件有任何IntelliSense 错误,都可以在Error List(错误列表)中看到。您可以通过Error List(错误列表)的右击菜单来打开或关闭该功能。
由于 Squiggles(波浪线提示) 功能不能和虚幻引擎 4 项目协同工作,您可能已经禁用了它们。请确保点击 C/C++ Advanced(高级) 选卡,并使用以下设置。
当您打开一个 C++ 文件时,您可以通过查找这个图标来判断 IntelliSense 编译器是否正在“工作”:
实现细节
-
当编写代码时显示波浪线提示有时候要花几秒钟的时间。
-
这是因为我们有很多包含文件,且 IntelliSense 目前不使用预编译头文件。
-
-
有时候您会看到“误报的” IntelliSense 错误。以下是几种可能的原因。
-
IntelliSense 编译器(EDG)比 MSVC 编译器更严格。
-
某些针对 IntelliSense 的 #defines 设置和正常编译时的设置不同。
-
IntelliSense 编译的 C++ 总是被当做32位对待。
-
-
如果绝对需要,您可以把代码封装到
#ifdef __INTELLISENSE__
中,以消除波浪线提示。 -
IntelliSense 的错误的表达方式和 VC++ 编译器的错误的表达方式略有不同。他们只是表达不同而已。
-
头文件中的 Squiggles(波浪线提示)功能通过编译包含它的已知
.cpp
对应的头文件来进行工作。-
有时候 IntelliSense 把这个功能搞乱了,导致您会在头文件中看到波浪线提示。
-
-
如果需要,您可以增大 Max Cached Translation Units(最大缓存变换单元) 设置。
-
它会使用更多的内存,但可能会提高一点反应速度。
-
-
有少量 C++ 文件还不能和 IntelliSense 相兼容。
-
Unreal Build Tool有一个新的
-IntelliSense
选项。-
这将为我们的所有项目文件产生 IntelliSense 属性表。
-
当添加了新的模块或者项目包含发生改变时仅需要重新运行它即可。
-
UnrealVS 插件
Visual Studio的UnrealVS扩展提供了在使用虚幻引擎进行开发时对常见操作的轻松访问。
功能包括:
-
设置启动项目。
-
编译启动项目的可绑定命令。
-
设置命令行参数。
-
批量编译项目。
-
快速编译项目菜单。
UnrealVS扩展 无法 与 Visual Studio Express 版本 共同运作。它仅与Visual Studio专业版兼容。
UnrealVS 插件不能和 Visual Studio 2012 精简版协同工作。它仅能和 Visual Studio 2012 专业版相兼容。
请参照 UnrealVS扩展 页面获得设置及使用该插件的信息。
调试
Visual Studio 支持通过‘可视化查看器’来扩展调试器,从而轻松地查看常见的虚幻数据类型,比如对象FNames 和动态数组。
针对 Visual Studio 2013 的可视化查看器设置
您会发现您的安装文件中包含了具备该可视化查看器逻辑的文件:
[ROCKETINSTALL]/Engine/Extras/VisualStudioDebugging/UE4.natvis
复制该文件到以下位置:
[VSINSTALLDIR]/Common7/Packages/Debugger/Visualizers/UE4.natvis
[USERPROFILE]/My Documents/Visual Studio 2012/Visualizers/UE4.natvis
复制该文件到您的 Visual Studio 安装目录内可能需要管理员权限。