设置虚幻引擎的Visual Studio

设置Visual Studio以使用虚幻引擎的提示、技巧和技术。

Windows
MacOS
Linux

虚幻引擎能与Visual Studio平稳结合,可快速、简单地改写项目代码,并能即刻查看编译结果。设置Visual Studio以使用虚幻引擎能提高开发者对虚幻引擎的利用效率和整体用户体验。

本文还将讲解虚幻引擎到Visual Studio工作流的基础设置知识。

设置虚幻引擎到Visual Studio工作流前

在Visual Studio 2017 (VS2017)版中,C++的支持目前属于可选工作量,不会默认安装。欲了解向已安装的Visual Studio添加C++工具的详细步骤,参见Microsoft支持页面的在Visual Studio中安装C++支持 。若尚未安装Visual Studio或虚幻引擎,参见本页新安装Visual Studio时的选项 部分。

下列表格列出了已集成二进制版虚幻引擎的Visual Studio版本。

虚幻引擎版本

Visual Studio版本

4.22或更新

VS 2017

4.15或更新

VS 2017

4.10 - 4.14

VS 2015

4.2 - 4.9

VS 2013

4.22版本的虚幻引擎 不再支持 VS 2015。虚幻引擎仍然默认使用VS 2017,但也支持VS 2019。

4.20版本的虚幻引擎默认使用VS 2017。同时也支持VS 2015。若安装的是VS 2015而非VS 2017,仍可使用虚幻引擎4.20。但如果同时安装VS 2015和VS 2017,虚幻引擎4.20将默认使用VS 2017 IDE和编译器,并生成VS 2017项目文件。

要配置虚幻引擎4.20生成VS 2015解决方案和项目文件,可采取下列任一措施:

  • 选择在编辑器中用作首选源码IDE的Visual Studio版本(在编辑器首选项窗口中选择)。

  • 修改BuildConfiguration.xml文件的相关部分

开源版虚幻引擎(可在GitHub和Perforce获取)集成于VS2013。此外,关于虚幻引擎早期版本与Visual Studio较老版本的集成,本文将不作讲解。

运行虚幻引擎必备条件安装程序

在Epic启动器安装或从GitHub复制虚幻引擎时,将自动运行虚幻引擎必备条件安装程序。若通过Perforce进行安装或同步虚幻引擎,则需要手动运行必备条件安装程序。运行本地编译的虚幻引擎工具前必须进行此操作。

新安装Visual Studio时的选项

若初次安装Visual Studio,请确保启用下列选项。

C++工具

要在安装Visual Studio时添加C++工具,请确保在 工作量(Workloads) 下选择 用C++开发游戏(Game development with C++)

VS2017_SettingsNoInstaller.png

包含UE4安装程序

要在安装Visual Studio时包含UE4安装程序,在右侧的 摘要(Summary) 工具栏中展开 用C++开发游戏(Game development with C++),并勾选 可选(Optional) 下的 虚幻引擎安装程序(Unreal Engine installer)

VS2017_SettingsInstaller.png

推荐设置

以下是使用Visual Studio和虚幻引擎4的开发者的推荐设置。

增加解决方案配置下拉菜单的宽度

  1. 右键点击工具栏,选择弹出菜单底部的 自定义(Customize)
    SetUpVisualStudio-RecommendSettings-SolutionConfigStep01.png

  2. 单击 命令(Commands) 选项卡。
    SetUpVisualStudio-RecommendSettings-SolutionConfigStep02.png

  3. 选择 工具栏(Toolbar) 单选按钮。
    SetUpVisualStudio-RecommendSettings-SolutionConfigStep03.png

  4. 工具栏(Toolbar) 旁边的下拉菜单中,选择 标准(Standard)
    SetUpVisualStudio-RecommendSettings-SolutionConfigStep04.png

  5. 预览(Preview) 列表,选择 解决方案配置(Solution Configurations) 功能按钮。
    SetUpVisualStudio-RecommendSettings-SolutionConfigStep05.png

  6. 单击右侧的 修改选项(Modify Selection)
    SetUpVisualStudio-RecommendSettings-SolutionConfigStep06.png

  7. 宽度(Width) 设置为 200。然后单击 OK
    SetUpVisualStudio-RecommendSettings-SolutionConfigStep07.png

  8. 单击 关闭。工具栏便会立刻更新。
    SetUpVisualStudio-RecommendSettings-SolutionConfigStep08.png

添加解决方案平台下拉菜单

1.找到 标准(Standard) 工具栏最右策的按钮(若将光标悬停在此处,将显示 标准工具栏选项(Standard Toolbar Options))。 SetUpVisualStudio-RecommendSettings-SolutionPlatformsStep01.png

1.单击下拉按钮,单击 添加或移除按钮(Add or Remove Buttons),然后单击 解决方案平台(Solution Platforms)

SetUpVisualStudio-RecommendSettings-SolutionPlatformsStep02.png

关闭错误列表窗口

通常情况下,若代码出错,会自动弹出**错误列表(Error List)。但使用虚幻引擎时,错误列表(Error List) 窗口会误报错误信息。建议在使用虚幻引擎时,禁用 错误列表(Error List) 窗口,并使用 输出(Output) 窗口查看实际代码错误。以下是关闭 错误列表(Error List)** 窗口的步骤。

  1. 若已打开 错误列表(Error List) 窗口,先请关闭。

  2. 打开 工具Options 对话框。
    SetUpVisualStudio-RecommendSettings-ErrorListOffStep02.png

  3. 选择 项目和解决方案(Projects and Solutions),取消勾选 编译出错时始终显示错误列表
    SetUpVisualStudio-RecommendSettings-ErrorListOffStep03.png

  4. 单击 OK

以下是其他一些可能有用的配置设置:

  • 关闭 显示非活跃代码块(Show Inactive Blocks)。如不关闭,文本编辑器中的很多代码块将变灰。前往 工具 > 选项 > 文本编辑器 > C/C++ > 视图) 关闭此设置

  • 设置 禁用外部依赖性文件夹 为True,以在 解决方案浏览器(Solution Explorer) 中隐藏不必要的文件夹。在 工具 > 选项 > 文本编辑器 > C/C++ > 高级 中找到 禁用外部依赖项性文件夹

*关闭 **编辑并继续(Edit & Continue)** 功能,无需使用。前往 **工具 > 选项 > 调试(Debugging) > 编辑并继续(Edit and Continue)**。

Visual Assist X用户

若已安装Visual Assist X:

  • 关闭 粘贴后设置格式(Format After Paste)。前往 VAssistX > Visual Assist X选项 > 高级 > 校正(Corrections) 更改该设置。

  • 如不禁用此选项,Visual Assist X将自动设置源代码的格式。此操作将导致文档格式不佳。

Intellisense、实时错误和筛选

UE4现可正确支持IntelliSense,包括实时错误列表和筛选。参见下文了解启用方法。

键入时IntelliSense将重新编译C++。此功能比VAX的语法检查更加强大,其使用的是完整C++编译器,可逐行验证代码。可极大加快工作流。

VC++ Intellisense Squiggles

在进行筛选同时,当前浏览文件的错误列表中还会显示IntelliSense。可在错误列表的 右键菜单 中开关此功能。

Error List

因筛选功能无法在UE4中运行,其可能已被禁用。单击C/C++ > 高级,确保使用与下方类似设置。

VC++ Advanced Options

打开C++文件时,下放显示的图标表示IntelliSense编译程序正在运行。

Intellisense Progress Indicator

实现细节

  • 编辑代码时偶尔需要几秒钟才能进行筛选。这是因为包含的文件众多,而IntelliSense当前尚未使用PCH。

  • 有时会出现"假阳性"IntelliSense错误。可能有以下几个原因。

    • IntelliSense编译器(EDG)比MSVC编译程序更精确。

    • IntelliSense部分#定义的设置与通常编译时的#defines设置不同。

    • IntelliSense编译的C++固定视作32位。

  • 如有必要,可在 #ifdef INTELLISENSE 中包裹代码,以撤销筛选。

  • IntelliSense错误的表述方式与VC++编译器错误的表述方式稍有不同。

  • 标头文件中筛选的工作原理是根据包含该标头文件的已知 .cpp 来编译标头。IntelliSense偶尔会出现失误,则标头中会显示筛选。

  • 如需提高响应速度,可增加最大缓存变换单元的相应设置。但此操作会占用更多内存。

  • 部分C++文件尚无法兼容IntelliSense。

  • 虚幻构建工具中含有新的 -IntelliSense 选项。

    • 此选项会生成所有项目文件的IntelliSense属性表。

    • 仅在添加新模块或变更项目内容时才需重新运行该选项。

UnrealVS扩展

Visual Studio的UnrealVS扩展 提供使用虚幻引擎4进行开发时常用操作的快捷方式。本文档将讲解安装及在项目中使用该扩展的方法。

包括以下功能:

  • 设置启动项目。

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

  • 设置命令行参数。

  • 批编译项目。

  • 快速编译项目菜单。

UnrealVS扩展与Visual Studio Express版本不兼容。其仅与Visual Studio社区版和专业版兼容。

调试

Visual Studio支持使用显示器扩展调试器,利用此类显示器可便于检查如FName和动态阵列等常见虚幻类型。

安装Visual Studio 2013的UE4显示器

UE4.natvis 复制到下列任意位置:

  • [VisualStudioInstallPath]/Common7/Packages/Debugger/Visualizers/UE4.natvis

  • [UserProfile]/My Documents/Visual Studio 2013/Visualizers/UE4.natvis

可能需要管理员权限才能将文件复制到Visual Studio安装目录下。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback