《Visual Studio程序员箴言》----1.2滚动与导航

    xiaoxiao2024-05-10  6

    本节书摘来自异步社区《Visual Studio程序员箴言》一书中的第1章,第2节,作者: 【美】Sara For,译者: 谢俊 , 更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.2 滚动与导航

    Visual Studio程序员箴言能够查看代码并将光标移到所关注的任意行,与能够尽可能轻松地输入代码同样重要。

    1.2.1 滚动

    我们都习惯使用鼠标滚轮来滚动编辑器内的代码和文本。以下技巧介绍了一些新的键盘快捷键,可改善你对滚动查看的体验。此外还介绍了如何隐藏所有的滚动条。说不定什么时候这些技巧就会派上用场。

    技巧1.13 使用鼠标滚轮在各个方向上滚动您知道可以按鼠标滚轮并把它当作第三个按键来用吗?对于很多带有编辑器的应用程序来说,按下鼠标滚轮会显示一个图标,指示可以往哪些方向滚动。有些需要按住鼠标滚轮,有些不需要。

    在编辑器中,按一次鼠标滚轮就可以看到一个图标指示可以滚动的方向。

    有几个事情需要注意:

    鼠标距离方向图标越远,编辑器滚动的速度越快;按鼠标主键将停止滚动,但必须再次按按钮才能将光标移到所需的位置。技巧1.14 在不滚动的情况下跳到编辑器中当前视图的顶部或底部按PgUp键或PgDn键会导致编辑器向上或向下翻一页,而以下键盘快捷键只会让光标移动。

    按Ctrl+PgUp键可以将光标移到当前编辑器视图的顶部,同时不会像PgUp键那样移动当前视图。

    按Ctrl+PgDn键可以将光标移到当前编辑器视图的底部,同时不会像PgDn键那样移动当前视图。

    如果像上面这样使用键盘快捷键,会发现下面这些快捷键也很有用。

    按Ctrl+Shift+PgUp键可以选择当前光标位置(在下面的例子中,接近屏幕的底部)与当前编辑器视图顶部之间的所有文本。

    按Ctrl+Shift+PgDn键可以选择当前光标位置与当前编辑器视图底部之间的所有文本。

    有一点要注意,这4个命令都是直线跳转光标,这表示它不会跳到顶行的开始位置,而是尽可能接近当前列的位置,这一点从上面的例子中可以看出来。

    技巧1.15 隐藏编辑器中的垂直和水平滚动条这个技巧真正符合“你知道吗?”的精神。

    选择菜单“工具”→“选项”→“文本编辑器”→“常规”,在“显示”下,可以取消选中“垂直滚动条”和“水平滚动条”选项。

    现在滚动条隐藏了。当然,在这种状态下仍然可以在垂直和水平方向上进行滚动。

    1.2.2 在编辑器内和编辑器之间进行导航

    导航代码是另一项经常执行的操作,因此如果能在这上面省下一点时间,长此以往也不可小视。下面的技巧让您尽可能快地可以到达想去的位置,或者返回刚刚所在的位置。

    技巧1.16 通过返回标记在编辑器中进行向前和向后定位在标准工具栏中可以找到“向前定位”和“向后定位”图标。

    在编辑器中,与“向后定位”命令绑定的快捷键是Ctrl+-(减号),而与“向前定位”命令绑定的快捷键是Ctrl+Shift+-(减号)。在浏览多个文件或者在调用堆栈中跳转时,这些命令最有用。

    “基本编辑器定位101”课程结束了。现在是时候学习“高级编辑器定位201”课程了。

    您可能已经注意到了,“向后定位”按钮还包含一个下拉列表框。这个列表框内显示的内容项是做上了返回标记的所有位置。换句话说,单击“向后定位”按钮表示回到最近访问的返回标记。

    如果一切顺利,返回导航应该感觉很自然。但如果您像我一样,就会想了解整个过程的细节。

    在以下条件下会做返回标记。

    增量式搜索(包括反向)会在搜索的开始处留下一个返回标记,而在搜索的结尾处留下另一个;“转到行”操作,例如按Ctrl+G键,或者将光标从当前位置移动11行或更多行的鼠标单击,会在新位置上留下一个返回标记;已将光标移到一个新位置的删除操作(例如按Backspace键)会留下一个返回标记;进行搜索,例如按Ctrl+F键,会在找到的位置上留下一个返回标记;打开一个文件时,会在光标位于老文件上的地方留下一个返回标记,并在已打开文件上的地方留下另一个返回标记。如果您发现其他情况也会留下返回标记,请告诉我。

    技巧1.17 使用撤销操作将光标跳回到上一个插入点在技巧1.16中,我们深入了解了关于返回标记的内容。本条技巧讲述插入点的轻微差异。它们与返回标记类似,但应用的位置是单击鼠标或跳转光标的地方。返回标记“11或更多行”法则不适用。

    下图中显示的这个选项可以在“工具”→“选项”→“文本编辑器”→“常规”中找到。

    要进行尝试,只要随便单击某处,然后单击另一处(或者如果正在使用键盘,使用“查找”或“转到行”操作),然后单击“撤销”按钮。这将回到前面一个位置。

    技巧1.18 通过键盘访问导航栏导航栏位于编辑器顶部,就在文件选项卡的下面。左边的组合框列出了对象,而右边的组合框列出了所选对象的成员。需要跳转到一个大解决方案中的各个函数,或者想要查看一个对象有哪些函数时,这些组合框非常有用。

    要通过键盘跳转到导航栏,可按Ctrl+F2键。这个键盘快捷键绑定到了窗口.移动到导航栏命令。要在对象列表与成员列表之间切换,可按Tab或Shift+Tab键。

    另外,还可以隐藏(或显示)导航栏,具体操作是选择“工具”→“选项”→“文本编辑器”→“所有语言”→“常规”,不选择(或选择)“导航栏”选项。注意,因为这个选项位于“所有语言”窗格中,所以可对“文本编辑器”节点下列出的任何语言进行自定义。

    技巧1.19 拆分窗口和新建窗口拆分当前窗口有两种途径。

    在菜单栏中选择“窗口”→“拆分”。使用鼠标直接拖动文档滚动条上的拆分控件,如下图所示。

    但是拆分命令只会进行水平拆分。如果需要像下图这样进行垂直拆分,可使用“窗口”→“新建窗口”命令。这将创建窗口“Program.cs:1”和“Program.cs:2”。然后可以使用“窗口”→“新建垂直选项卡组”命令垂直拆分这两个文件。

    技巧1.20 使用F6在编辑器内的拆分窗格之间跳转作者旁述

    我最初编写和发布这个技巧时,这与描述如何拆分窗格的技巧1.19之间相隔了6个月之久,不禁令人好笑。我在博客上开始发表“每日一贴”系列文章的第一周,就不得不面对实际上不得不每隔一天写一条技巧的无情事实。在编写“每日一贴”的第一周内,我正在参加一个会议,所以最初发表的技巧都是我能够以最快的速度写出来的。这段时间的疯狂写作没有任何节奏或理由,因此技巧1.19与技巧1.20之间相隔了6个月。使用拆分控件拆分完编辑器窗口之后,可以使用F6键在编辑器视图之间跳转。

    技巧1.21 在编辑器内启用URL定位在“工具”→“选项”→“文本编辑器”→“所有语言”→“常规”下,有一个“启用单击URL定位”选项。这个选项对于大多数编辑器是默认选中的。但是无法单击URL时,可以在这里检查该选项是否已选中。

    技巧1.22 使用Ctrl+G时不弹出“转到行”对话框这个技巧相当直观:按Ctrl+G键将弹出“转到行”对话框。

    但您是否知道有一种方法可以在使用Ctrl+G键时不弹出这个对话框呢?

    1.按Ctrl+D键,将焦点移到标准工具栏上的“查找”组合框上。

    2.输入行号。

    3.按Ctrl+G键(注意:不要按Enter键,否则就会变为搜索这个数字!)

    恭喜!您已经定位到了该行,并且“转到行”对话框没有弹出。

    可以尝试定位到第0行,但Visual Studio会跳到第1行。

    1.2.3 自动换行和虚空格

    自动换行选项会将很长的文本行换行,文本会显示在新行上,而不是挤在第一行。虚空格选项支持将插入点置于文件的任何地方,即便是在行末符之外也可以。

    技巧1.23 启用自动换行下图演示了如何让一行文本换行到下一行上。

    进入“工具”→“选项”→“文本编辑器”→“所有语言”→“常规”下,选中“自动换行”选项。选中之后,“显示可视的自动换行标志符号”选项也将变为可用。

    还可以在“工具”→“选项”→“环境”→“字体和颜色”下修改“可见空白”项,为自动换行自定义虚字的项前景色。

    技巧1.24 启用虚空格作者旁述

    这个技巧与前面技巧1.23中的自动换行功能是互斥的。试一试就会知道,不可能同时选中自动换行和虚空格两个选项。但如果您知道如何做到这一点,请不吝赐教!在下面的例子中,光标位于虚空格中。我已经启用了“可见空白”选项,确保Program类名之后不存在空格。

    作者旁述

    我从未用过自动换行功能,而虚空格功能也不过是在几周前进行测试时刚刚用过。这两个选项对我都没有多大用处。我发表这个技巧时,也要求读者说明他们使用这些选项的理由,我知道我会学到一些新东西的。本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

    相关资源:Visual Studio程序员箴言
    最新回复(0)