Visual Studio 2015高级编程(第6版)
上QQ阅读APP看书,第一时间看更新

3.4 其他选项

我们还没有接触过的许多选项可以用来改变Visual Studio的操作方式。本章的剩余部分介绍其中一些有用的选项,以帮助你提高工作效率。

3.4.1 快捷键

Visual Studio 2015对同一个操作提供了多种不同的执行方式。菜单、工具栏以及各个工具窗口都提供对很多命令的直接访问,由于可以进行的操作数量过于庞大,因此还有很多命令无法通过图形界面来访问。但可以通过快捷键访问这些命令(以及大部分菜单和工具栏中的命令)。

有各种快捷方式——从保存所有变更的Ctrl+Shift+S快捷键到意义不那么明确的用于显示Exceptions对话窗口的Ctrl+Alt+E快捷键。我们可以设置自己的快捷键,甚至可以修改现有的快捷键。更棒的是还可以对快捷键进行过滤,使它们只能在特定环境中使用。这就意味着同一个快捷键可用于不同的工作环境。

图3-18显示的是Options对话框中Environment区域的Keyboard节点,并选择了Visual C# 2005键盘映射方案。如果要改用另一个键盘映射方案,只需要从下拉列表中选择它,再单击Reset按钮。

图3-18

键盘映射方案在C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE(如果使用64位系统,则是C:\Program Files(x86)\Microsoft Visual Studio 14.0\Common7\IDE)下存储为VSK文件。这是在Visual Studio 2005以后的Visual Studio版本中使用的键盘映射文件格式。要导入Visual Studio 2005中的键盘映射,可以使用导入设置功能(参见本章的末尾部分)。对于更早的版本,可以把对应的VSK文件复制到上述文件夹中。下次打开Options对话框时,就可以从映射方案下拉列表中选择它了。

图3-18中间的列表框列出了Visual Studio 2015中的所有命令。但这个列表很长,而Options对话框不能调整大小,所以浏览这个列表有些困难。为便于搜索命令,可以使用Show Commands Containing文本框过滤命令列表。在图3-18中,用Build单词过滤列表,获得以该单词开头或包含该单词的所有命令。在这个列表中,选择了Build.BuildSolution命令。由于已经给这个命令指定了快捷键,因此Shortcuts for Selected Command下拉列表和Remove按钮都是可用的。同一个命令还可能有多个快捷键,所以下拉列表允许删除已指定的个别快捷键。

如果既想保持默认的快捷方式,又想添加自己的快捷方式,则采用多个快捷键是很有用的方式,这样其他开发人员使用自己的设置时会觉得很舒服。

这个对话框的剩余部分允许给所选的命令指定新的快捷键。只需要移动到Press Shortcut Keys文本框,根据标签的建议按下对应的键即可。在图3-18中,输入了Ctrl+Alt+B组合键,但这个快捷键已被另一个命令占用了,如该对话框的底部所示。如果单击Assign按钮,这个键盘快捷键就会再次映射给Build.BuildSolution命令。

为了限制把一个快捷键仅用于Visual Studio 2015的一个相关区域,可以从Use New Shortcut In下拉列表中选择环境。当前选中的Global选项表示将快捷键应用于整个环境,但下拉框中的元素列表包含Visual Studio中非常长的设计器和编辑器列表。

3.4.2 快速启动

随着Visual Studio中可用命令的持续增加,我们已经无法通过对键盘快捷键进行编程来完全解决命令过多的问题。此外,还有可能用尽合理的键盘组合键。

为缓解此问题,Visual Studio 2015包括了名为快速启动(Quick Launch)的新功能。从工具栏的左上角可开启该功能(或使用Ctrl+Q快捷键开启),如图3-19所示,其外观类似于其他搜索文本框。不同之处在于,搜索的范围是Visual Studio中存在的每条命令。因此,无论特定的命令是否在工具栏中、某个菜单上或与这两者都不关联,该搜索框都可以找到它。

图3-19

该搜索框也在不断发展变化。当输入字符时,该搜索框中会显示可能的匹配项的列表。这些匹配项最多可以分为5类:Most Recently Used、Menus、Options、Nuget Packages和Open Documents。每种类别中并不会显示所有的匹配项(在某些情况下会搜索出大量的匹配项)。如果要查看特定类别中的更多结果,可以使用Ctrl+Q或Ctrl+Shift+Q组合键在类别中前后导航,根据情况显示该类别中的更多匹配项。

在该文本框中,还可以将搜索范围限定为特定类别目录中的项。例如,输入文本@mru font将会显示包括检索词“font”的最近使用的项。对于其他类别,用于限定范围的关键字分别是@menu、@otp和@doc。

快速启动功能的默认设置是不持久保存检索词。在将光标移出Quick Launch区域后,文本框就会被清空。如果要修改此行为,以持久保存检索词,则可以使用Tools | Options中的Quick Launch节点。确保选中Show Search Results from Previous Search When Quick Launch Is Activated复选框,这样就可以持久保存前面输入的检索词,以供下一次访问快速启动功能时使用。

3.4.3 项目和解决方案

有几个选项与项目和解决方案相关。第一个选项可能是最有用的——项目的默认位置。默认情况下,Visual Studio 2015使用标准的Document and Settings路径,就像很多其他的应用程序一样(如图3-20所示),但这通常不是我们希望保存开发工作的地方。

图3-20

也可以在这里更改模板文件的位置。如果公司使用普通的网络位置来存储自己的项目模板,则可以更改Visual Studio 2015中的默认位置,使其指向远程地址而不是映射网络驱动器。

可以调整许多其他选项来改变在Visual Studio 2015中管理项目和解决方案的方式。一个比较有趣的选项是Solution Explorer中的Track Active Item。启用这个选项后,当在各个项之间切换时, Solution Explorer的布局就会变化,以确保当前项显示出来。这包括展开项目和文件夹(但不会再次折叠),但在大型解决方案中,这个选项会带来麻烦,因为用户总是要折叠项目,才能继续浏览。

另一个与解决方案相关的选项是在Solution Explorer中列出杂项文件,但该选项没有显示在图3-20中。假定处理一个解决方案,要查找一个未包含在该解决方案中的XML文档。Visual Studio 2015会顺利地打开这个文件,但每次打开这个解决方案时,都必须重新打开该文档。另一种方法是,如果通过Options对话框启用Solution Explorer中的Environment | Documents | Show Miscellaneous Files命令,该文件就会被临时添加到解决方案中。添加这个文件的杂项文件夹如图3-21所示。

图3-21

Visual Studio 2015会自动管理杂项文件列表,根据Options对话框中定义的文件数,仅保留最近的文件。可以让Visual Studio在这个列表中至多保存256个文件,而这些文件根据它们的最后一次访问时间被删除。

3.4.4 Build and Run界面

Projects and Solutions | Build and Run 节点(如图3-22所示)可用于控制Visual Studio 2015的生成行为。

图3-22

为了减少生成解决方案的时间,可以增加所执行的并行生成的最大数量。只有项目不相互关联, Visual Studio 2015才能并行生成项目;但如果有非常多的独立项目,并行生成就会产生显著的效益。注意在单核或单处理器的计算机上,这会增加生成解决方案的时间。

图3-22显示了项目在过期时会“总是生成(Always Build)”,如果有生成错误,解决方案就不会启动。这两个选项可以提高工作效率,但要注意它们不会启动向用户显示当前执行任务的对话框。

图3-22中最后一个要注意的选项是MSBuild project build output verbosity。大多数情况下,Visual Studio 2012生成输出足以调试生成错误。但在一些情况下,尤其是生成ASP.NET项目时,就需要增加详细程度以诊断生成错误。Visual Studio 2015可以以独立于输出的方式控制日志文件的详细程度。

3.4.5 VB选项

VB程序员可以在项目级或文件级配置4个编译器选项,还可以在Options对话框的Projects and Solutions | VB Defaults节点上设置其默认值。

Option Strict通过强制开发人员明确把变量转换为正确的类型,进一步强制使用较好的编程方式,而不是让编译器猜测正确的转换方法,这样运行时问题较少,并且性能更好。

强烈建议使用Option Strict以确保代码不隐式转换变量的类型。如果不使用Option Strict以及所有.NET Framework包含的语言特性,就不能高效地利用语言。