为虚幻 4 设置 Visual Studio

虚幻引擎 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 版本的对应关系。

虚幻引擎版本 Visual Studio 版本
4.10 及以后 VS2015
4.2 到 4.9 VS2013

虚幻 4 的开源版本(从 GitHub 或 P4 上下载的)已经整合了 VS2013。更早的 UE4 版本和更老的 Visual Studio 这里就不做更多描述了。

推荐设置

以下是为结合使用Visual Studio和虚幻引擎4的开发人员推荐的设置。

  1. 根据以下步骤来增加 Solution Configurations 的下拉框宽度:

    1. 右键工具栏,选择 Customize

      SelectingCustomize.png

    2. 点击 Commands 分页。

      ClickCommandsTab.png

    3. 选择 Toolbar 选项。

      SelectToolbarRadioButton.png

    4. Toolbar 边上的下拉框内,选择 Standard

      SelectStandard.png

    5. Controls 列表的底部,选择 Solution Configurations

      SelectSolutionConfigControl.png

    6. 点击右侧的 Modify Selection

      ClickModifySelection.png

    7. Width 设置为 '200'。

      SetWidth_200.png

    8. 点击 Close,工具栏会自动更新。

      ClickClosetoUpdateToolbar.png

  2. 根据以下步增加 Solution Platforms 下拉框。

    1. 找到标准工具栏中最右侧的按钮,点击后有一个下拉菜单,可以为工具栏添加或删除按钮。

      SelectDropDownButton.png

    2. 点击下拉按钮,鼠标移至 Add or Remove Buttons,并点击 Solution Platforms 以将它添加到工具栏中。

      SelectSolutionPlatforms.png

  3. 我们建议关闭 Error List 窗口。通常,Error List 窗口会在遇到错误时自动弹出。然偶,在使用虚幻引擎工作时,Error List 可能会显示虚假的错误信息。最好的做法是禁用 Error List 窗口并使用 Output 窗口来查找真正的代码错误。以下步骤可以关闭 Error List 窗口:

    1. 如果 Error List 窗口开着的话,先关闭它。

    2. Tools 菜单中,打开 Options 对话框。

      OpenOptionsDialog.png

    3. 选择 Projects and Solutions 并且取消勾选 Always show Error List if build finishes with error

      UncheckErrorsListOption.png

    4. 点击 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(禁用外部依赖文件夹) )

Intellisense(智能编码)、Live Errors (实时错误)和 Squiggles (波浪线提示)

虚幻引擎 4 项目现在可以正常支持 IntelliSense(智能编码)功能,包括实时 Error List(错误列表) 和 Squiggles(波浪线提示)。 (请参照以下介绍获得如何启用它的信息。)

VC10 的 IntelliSense 功能可以在您编写代码的过程中重新编译C++。这比仅检查 VAX 的语法强大很多: VC10使用完整的C++编译器,可以验证每一行代码。这个功能非常强大并且将会加快您的工作流程!

VC++ Intellisense Squiggles

当其和波浪线提示功能结合使用时,如果您正在查看的文件有任何IntelliSense 错误,都可以在Error List(错误列表)中看到。您可以通过Error List(错误列表)的右击菜单来打开或关闭该功能。

VS 2010 Error List

由于 Squiggles(波浪线提示) 功能不能和虚幻引擎 4 项目协同工作,您可能已经禁用了它们。请确保点击 C/C++ Advanced(高级) 选卡,并使用以下设置。

VC++ Advanced Options

当您打开一个 C++ 文件时,您可以通过查找这个图标来判断 IntelliSense 编译器是否正在“工作”:

Intellisense Progress Indicator

实现细节

  • 当编写代码时显示波浪线提示有时候要花几秒钟的时间。

    • 这是因为我们有很多包含文件,且 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_toolbar_cmd.png

功能包括:

  • 设置启动项目。

  • 编译启动项目的可绑定命令。

  • 设置命令行参数。

  • 批量编译项目。

  • 快速编译项目菜单。

UnrealVS扩展 无法Visual Studio Express 版本 共同运作。它仅与Visual Studio专业版兼容。

UnrealVS 插件不能和 Visual Studio 2012 精简版协同工作。它仅能和 Visual Studio 2012 专业版相兼容。

请参照 UnrealVS扩展 页面获得设置及使用该插件的信息。

调试

Visual Studio 支持通过‘可视化查看器’来扩展调试器,从而轻松地查看常见的虚幻数据类型,比如对象FNames 和动态数组。根据您所使用的 Visual Studio 2010 或 Visual Studio 2012的不同,这个功能的设置也有所区别。

针对 Visual Studio 2012 的可视化查看器设置

您会发现您的安装文件中包含了具备该可视化查看器逻辑的文件:

[ROCKETINSTALL]/Engine/Extras/VisualStudioDebugging/UE4.natvis

复制该文件到以下位置:

[VSINSTALLDIR]/Common7/Packages/Debugger/Visualizers/UE4.natvis
[USERPROFILE]/My Documents/Visual Studio 2012/Visualizers/UE4.natvis

复制该文件到您的 Visual Studio 安装目录内可能需要管理员权限。