INTSourceChangelist:1569648 Availability:Public Title:为虚幻引擎4设置Visual Studio Crumbs: %ROOT%, GettingStarted, Programming Description:关于设置Visual Studio以便使用UE4进行开发的技巧和技术。 设置Visual Studio和虚幻引擎4协同工作有利于提高开发人员使用UE4 的效率和整体用户体验。 [TOC(start:2)] ## 推荐设置 以下是为结合使用Visual Studio和虚幻引擎4的开发人员推荐的设置。 * 关闭 **Show Inactive Blocks(显示不活动的代码块)** 。如果您不关闭此项,在文本编辑器中,很多代码块会呈现出灰掉 状态。(_Options(选项) > Text Editor(文本编辑器) > C/C++ > Formatting(格式))_ 。 * 打开IntelliSense(智能编码)和"squiggles(波浪线提示)"功能,让它们正常运行。(请参照[Intellisense(智能编码), Live Errors(实时错误)和Squiggles(波浪线提示)](#Intellisense)部分) * 在Visual Assist X (VAX)中关闭 **Format After Paste(粘帖后格式化)** 功能。这个功能有时候会导致格式变得混乱。(_VAX Options(VAX选项) > Advanced(高级) > Corrections(校正)_) * 在解决方案浏览器中停用 **External(外部)** 文件夹, 它们会扰乱视图。( 在 _Options(选项) > Text Editor(文本编辑器) > C/C++ > Advanced(高级)_ 中 **Disable External Dependencies Folder(禁用外部依赖文件夹)** ) * 如果不需要 **Edit & Continue(编辑&继续)** 功能,请关闭它们。(_Options(选项) > Debugging(调试) > Edit and Continue(编辑并继续)_) * 关闭 **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(如果编译中出现错误总是显示错误列表)** 选项。 (#Intellisense) ## Intellisense(智能编码)、Live Errors(实时错误)和Squiggles(波浪线提示) 虚幻引擎4项目现在可以正常支持 IntelliSense(智能编码)功能,包括实时Error List(错误列表) 和 "squiggles(波浪线提示)"! (请参照以下介绍获得如何启用它的信息。) VC10的IntelliSense功能可以在您编写代码的过程中重新编译C++。这比仅检查 VAX的语法强大很多: VC10使用完整的C++编译器,可以验证每一行代码。这个功能非常强大并且将会 加快您的工作流程! ![VC++ Intellisense Squiggles](squiggle.png) 当其和波浪线提示功能结合使用时,如果您正在查看的文件有任何IntelliSense 错误,都可以在Error List(错误列表)中看到。 您可以通过Error List(错误列表)的右击菜单来打开或关闭该功能。 ![VS 2010 Error List](error_list.png) 由于Squiggles(波浪线提示)功能不能和虚幻引擎4项目协同工作,您可能已经禁用了它们。请确保点击 C/C++ Advanced(高级)选卡,并使用以下设置。 ![VC++ Advanced Options](intellisense_options.png) 当您打开一个C++文件时,您可以通过查找这个图标来判断IntelliSense编译器是否正在“工作”: ![Intellisense Progress Indicator](intellisense_progress.png) ### 实现细节 * 当编写代码时显示波浪线提示有时候要花几秒钟的时间。 * 这是因为我们有很多包含文件,且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 插件 [INCLUDE:Programming/Development/VisualStudioSetup/UnrealVS#Overview] [PUBLISH:Rocket] [REGION:note] UnrealVS插件不能和Visual Studio 2012精简版协同工作。它仅能和Visual Studio 2012 专业版相兼容。 [/REGION] [/PUBLISH:Rocket] 请参照[](Programming/Development/VisualStudioSetup/UnrealVS)页面 获得设置及使用该插件的信息。 ## 调试 Visual Studio支持通过‘可视化查看器’来扩展调试器,从而轻松地查看常见的虚幻数据类型, 比如对象FNames 和动态数组。根据您所使用的Visual Studio 2010或Visual Studio 2012的不同, 这个功能的设置也有所区别。 [PUBLISH:Licensee] ### 针对Visual Studio 2010的可视化查看器设置 虚幻引擎4包含了一些针对Visual Studio中的 `autoexp.dat` 文件的附加内容,使您可以 在调试器中轻松地查看UE4数据类型(array, name, map等)。 可以在以下位置找到这些附加内容: //depot/UE4/Engine/Extras/VisualStudioDebugging/AUTOEXP.DAT_addons.txt 您可以设置环境变量 `_vcee_autoexp` 为 `AUTOEXP.DAT_addons.txt` 文件的本地路径, 从而使得可以自动包含这个文件中的内容。这意味着不需要将该内容融合到 `autoexp.dat`文件中。 另一个选择是将这些内容融合到您的 Visual Studio 2010 `autoexp.dat` 文件中, 可以在以下位置找到该 `autoexp.dat` 文件 (默认): C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Packages\Debugger\autoexp.dat [/PUBLISH:Licensee] ### 针对Visual Studio 2012的可视化查看器设置 [PUBLISH:Licensee] 您会发现UE4发布内容包含了具备该可视化查看器逻辑的文件。 //depot/UE4/Engine/Extras/VisualStudioDebugging/UE4.natvis [/PUBLISH:Licensee] [PUBLISH:Rocket] 您会发现您的安装文件中包含了具备该可视化查看器逻辑的文件: [ROCKETINSTALL]/Engine/Extras/VisualStudioDebugging/UE4.natvis [/PUBLISH:Rocket] 复制该文件到以下位置: [VSINSTALLDIR]/Common7/Packages/Debugger/Visualizers/UE4.natvis [USERPROFILE]/My Documents/Visual Studio 2012/Visualizers/UE4.natvis [REGION:warning] 复制该文件到您的Visual Studio安装目录内可能需要管理员权限。 [/REGION]