Files
UnrealEngineUWP/Engine/Documentation/Source/Programming/Development/VisualStudioSetup/VisualStudioSetup.CHN.udn
2016-06-13 13:06:55 -04:00

195 lines
9.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
INTSourceChangelist:2874484
Availability:Public
Title:为虚幻 4 设置 Visual Studio
Crumbs: %ROOT%, Programming, Programming\Development
Description: 关于设置 Visual Studio 以便使用 UE4 进行开发的技巧和方法。
Version: 4.9
[TOC(start:2)]
[EXCERPT:Intro]
虚幻引擎 4 UE4从设计上就是面向 Visual Studio 的方便整合性,能够快速且方便的修改项目代码,并即刻得到编译反馈。根据 UE4 来正确设置 Visual Studio 能够提高工作效率,并获得更好的使用体验。
在这篇文档中,将会涵盖 UE4 在 VS2013 上的基本的一些方法。
[/EXCERPT:Intro]
## 开始设置前
首先要注意Visual Studio 2015VS2015默认安装时并不包含 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的开发人员推荐的设置。
[EXCERPT:BasicVSFormat]
1. 根据以下步骤来增加 Solution Configurations 的下拉框宽度:
1. 右键工具栏,选择 **Customize**。
![](SelectingCustomize.png)
1. 点击 **Commands** 分页。
![](ClickCommandsTab.png)
1. 选择 **Toolbar** 选项。
![](SelectToolbarRadioButton.png)
1. 在 **Toolbar** 边上的下拉框内,选择 **Standard**
![](SelectStandard.png)
1. 在 **Controls** 列表的底部,选择 **Solution Configurations**。
![](SelectSolutionConfigControl.png)
1. 点击右侧的 **Modify Selection**。
![](ClickModifySelection.png)
1. 将 **Width** 设置为 '200'。
![](SetWidth_200.png)
1. 点击 **Close**,工具栏会自动更新。
![](ClickClosetoUpdateToolbar.png)
1. 根据以下步增加 Solution Platforms 下拉框。
1. 找到标准工具栏中最右侧的按钮,点击后有一个下拉菜单,可以为工具栏添加或删除按钮。
![](SelectDropDownButton.png)
1. 点击下拉按钮,鼠标移至 **Add or Remove Buttons**,并点击 **Solution Platforms** 以将它添加到工具栏中。
![](SelectSolutionPlatforms.png)
1. 我们建议关闭 **Error List** 窗口。通常,**Error List** 窗口会在遇到错误时自动弹出。然偶,在使用虚幻引擎工作时,**Error List** 可能会显示虚假的错误信息。最好的做法是禁用 **Error List** 窗口并使用 **Output** 窗口来查找真正的代码错误。以下步骤可以关闭 **Error List** 窗口:
1. 如果 **Error List** 窗口开着的话,先关闭它。
1. 从 **Tools** 菜单中,打开 **Options** 对话框。
![](OpenOptionsDialog.png)
1. 选择 **Projects and Solutions** 并且取消勾选 **Always show Error List if build finishes with error**。
![](UncheckErrorsListOption.png)
1. 点击 **OK**。
[/EXCERPT:BasicVSFormat]
[REGION:tip]
其他可能有用的配置选项:
* 关闭 **Show Inactive Blocks(显示不活动的代码块)** 。如果您不关闭此项,在文本编辑器中,很多代码块会呈现出灰掉状态。(_Options(选项) > Text Editor(文本编辑器) > C/C++ > Formatting(格式))_ 。
* 打开IntelliSense(智能编码)和"squiggles(波浪线提示)"功能,让它们正常运行。(请参照[Intellisense(智能编码), Live Errors(实时错误)和Squiggles(波浪线提示)](#Intellisense)部分)
* 如果不需要 **Edit & Continue(编辑&继续)** 功能,请关闭它们。(_Options(选项) > Debugging(调试) > Edit and Continue(编辑并继续)_)
[/REGION]
### Visual Assist X 用户推荐设置
* 在 Visual Assist X (VAX)中关闭 **Format After Paste(粘帖后格式化)** 功能。这个功能有时候会导致格式变得混乱。(_VAX OptionsVAX选项 > Advanced(高级) > Corrections校正_)
* 在解决方案浏览器中停用 **External(外部)** 文件夹, 它们会扰乱视图。( 在 _Options(选项) > Text Editor文本编辑器 > C/C++ > Advanced(高级)_ 中 **Disable External Dependencies Folder(禁用外部依赖文件夹)** )
(#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]
<!--
## 提示和技巧
这里是一些技巧,可以使您在编程时更加轻松,效率更高。
-->