
3.3 编辑区域
与大多数IDE一样,Visual Studio 2015也建立在中心代码编辑窗口的基础上。该编辑窗口不断地演化,现在已经不再是一个简单的文本编辑器。大多数开发人员都花大量的时间在编辑区域编写代码,同时有越来越多的设计人员执行生成窗体、调整项目设置、编辑资源等任务。无论是编写代码还是进行窗体设计,都要在Visual Studio 2015的编辑区域花费大量时间。所以一定要了解如何改变布局,才能工作得更高效。
Visual Studio 2015支持给IDE应用主题。在Visual Studio 2015中可以使用三个主要的主题:Dark、Light和Blue。对于Light主题,可选的颜色是灰色与黑色。对于Dark主题,可选的颜色是黑色与白色。基本上看不到渐变的存在。只有在工具栏和各种工具窗口中使用的图标才有一些颜色。Blue主题是为了模仿Visual Studio 2012和以前版本中的颜色。
默认的主题是Light,本书中的大多数截图都是在此主题下截取的。图3-8的上半部分显示了Dark主题,下半部分显示了Blue主题。

图3-8
可以通过Tools菜单中的Options选项更改主题。此外,可以通过Environment节点中的下拉对话框选择颜色主题。
3.3.1 浏览打开的项
打开多个项后,可能会用尽编辑区域顶部的所有空间,也不能看到已打开的所有项的选项卡。当然,可以返回Solution Explorer窗口,选择某个项。如果该项已打开,它就会显示出来,而无须恢复到其保存时的状态。但是,还必须在Solution Explorer中查找该项,所以不是很方便。
Visual Studio 2015为打开项的列表提供了许多快捷方式。与大多数基于文档的应用程序一样, Visual Studio也有一个Windows菜单。打开一个项时,就会在这个菜单的底部区域添加它的标题。要显示一个打开的项,只需要从Windows菜单中选择它,或者单击一般的Windows项,就会显示一个模态对话框,从中可以选择需要的项。
另一个方法是使用编辑区域的选项卡区域末端的下拉菜单。图3-9显示了已打开项的下拉列表,从中可以选择要访问的项。

图3-9
除了下拉图标之外,图3-9的右边与左边相同。这个菜单还显示了一个下向箭头,但这个箭头的顶部有一条横线,它表示在编辑区域的顶部还有更多没有显示出来的选项卡。
浏览已打开的项还有另一种方式:按下Ctrl+Tab组合键,这会显示一个临时窗口,如图3-10所示。释放Ctrl键时,该窗口就会消失。但是,在该窗口打开时,可使用箭头键或按下Tab键在打开的窗口之间移动。

图3-10
Ctrl+Tab窗口分为两部分:活动的工具窗口、活动的文件(实际上这应是活动的项,因为它包含一些不对应单一文件的项)。随着活动文件或活动工具窗口的数量的增加,窗口会垂直扩展,直到有15个项为止,此时会出现一个额外的列。
如果有多个列的活动文件,就应关闭部分或全部未使用的文件。Visual Studio 2015打开的文件越多,使用的内存就越多,执行速度也就越慢。甚至是2015版本,Visual Studio也仍是一个32位应用程序。
如果右击某个已打开项的选项卡,就会显示一个隐藏的上下文菜单,通过它可以快速执行常见的任务,如保存或关闭与该选项卡关联的文件。3个特别有用的操作是Close All Documents、Close All but This和Open Containing Folder。这3个操作很容易理解,第一个操作关闭所有打开的文档,第二个操作关闭除当前单击的选项卡之外的所有其他选项卡以获得上下文菜单,第三个操作在Windows Explorer中打开包含文件的文件夹。现在所有窗口都可以停靠,所以也可以执行Float或Dock as Tabbed Document操作,这两个操作根据选项卡的状态来启用。Visual Studio 2015还有一个选项Copy Full Path,该选项将指向物理文件的路径复制到剪贴板中。
3.3.2 字体和颜色
在Visual Studio中,首先推荐修改编辑区域使用的字体和颜色,从而使代码更容易理解。但不应仅调整这些设置。选择容易阅读且不伤眼睛的字体和颜色,可提高工作效率,且长时间编码也不会觉得疲乏。图3-11显示了Options对话框的Fonts and Colors节点,在其中可以调整字体、字号、颜色和不同显示项的风格。

图3-11
为在Visual Studio 2015中调整某个特定文本项的外观,首先需要选择要应用这些外观的IDE区域。在图3-11中,选择Text Editor项,并确定应出现在Display Items列表中的项。在该列表中找到相关的项后,就可以调整字体和颜色了。
Display Items列表中的一些项(如Plain Text)是由Visual Studio 2015中的多个区域重用的,所以在调整字体和颜色时,可能会出现某些意想不到的变化。
选择字体时应意识到,编写代码时,均衡字体通常没有非均衡(等宽字体)字体高效。下拉列表中固定宽度的字体与可变固定宽度的类型被区分显示,因此很容易识别。
3.3.3 可视化指南
编辑文件时,Visual Studio 2015会根据文件的类型自动给代码添加颜色。例如,VB代码文件用蓝色突出显示关键字,而变量名和类引用显示为黑色,字符串字面量显示为红色。在图3-12中,可以看到代码左侧有一条绿线,用于指示代码块的位置。单击减号可以折叠btnSayHello_Click方法或整个Form1代码块。
可视化指南的各个要点如图3-12至图3-14所示。熟悉VB.NET的读者可以看出,图3-12没有显示一行代码的末尾,在该行代码中,方法设置为处理btnSayHello按钮的Click事件。这是因为该行的剩余部分被代码窗口的边界遮挡住了。要查看该行的末尾,开发人员必须向右滚动窗口,或使用键盘把光标移到该行的末尾。在图3-13中,通过Options对话框启用换行功能(参见Text Editor | All Languages | General节点)。

图3-12

图3-13

图3-14
但启用换行功能就很难看出哪些代码行是换过行的。Visual Studio 2015为此提供了一个选项(在Options对话框的enable word wrapping复选框下面),它可以在每个换过行的代码行末尾显示可视化图示符,如图3-14所示。在该图中,还可以看到另外两个可视化指南。在左边,代码块标记的外部是行号。它们可以通过Word Wrap和Visual Glyphs复选框下面的Line Numbers复选框来启用。另一个可视化指南是代码中表示空格的点。与其他可视化指南不同,该指南需要在代码编辑区域获得焦点时通过Edit | Advanced | View White Space菜单项启用。
3.3.4 全屏模式
如果许多工具窗口和多个工具栏可见,就会很快用尽实际用于编写代码的空间。因此,Visual Studio 2015提供了全屏模式,该模式可以通过View | Full Screen菜单项来访问。另外,按下Shift+Alt+Enter组合键也可以进入和退出全屏模式。图3-15显示了Visual Studio 2015全屏模式的顶部。可以看出,该图没有显示任何工具栏和工具窗口,并且窗口完全最大化,甚至没有显示通常的Minimize、Restore和Close按钮。工具栏中显示文本Full Screen。单击该文本,就可以退出全屏模式。

图3-15
如果使用多个屏幕,全屏模式就非常有用。取消工具窗口的停靠,把它们放在第二台显示器上。这样,当编辑窗口处于全屏模式下时,仍可以访问工具窗口,而不必来回切换。如果取消工具窗口的停靠,它就不会出现在全屏模式下。
3.3.5 跟踪变化
为改进编辑过程,Visual Studio 2015使用行级跟踪功能来指出在编辑会话中修改了哪些代码行。当打开一个文件开始编辑时,并没有启用彩色编码功能。但在开始编辑时,修改的代码行的旁边会显示一个黄色标记(在Dark主题中是浅灰色标记)。在图3-16中可以看出,自从上一次保存这个文件后,Console.Writeline代码行已修改过了。

图3-16
保存文件时,修改的代码行会在旁边显示一个绿色标记(在Dark主题中也是绿色标记)。在图3-17中,第一个Console.Writeline代码行自从打开文件后改变了,但这些改变已保存到磁盘上。而第二个Console.Writeline代码行还没有保存。

图3-17
如果觉得跟踪变化功能不是很有用,就可以在Options对话框中取消对Text Editor |General | Track Change项的选择,禁用这个功能。