《Visual Studio程序员箴言》----2.5 代码段

简介: 与破坏软件相同,我更喜欢做的唯一的事情就是发出通知:“我破坏了软件”。例如,我首次接管测试代码段的工作时,我会尝试进行各种意外的操作来破坏UI,例如在代码段名称的位置上输入“Sara wuz here”。

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

2.5 代码段

Visual Studio程序员箴言
与破坏软件相同,我更喜欢做的唯一的事情就是发出通知:“我破坏了软件”。例如,我首次接管测试代码段的工作时,我会尝试进行各种意外的操作来破坏UI,例如在代码段名称的位置上输入“Sara wuz here”。正如您所期望的那样,我的大部分尝试都是不成功的,但最终我确实发现了一系列能够导致崩溃的键盘快捷键。

软件测试的有趣之处在于,一旦找出一个bug,通常在附近还隐藏着一堆bug。您要做的就是知道如何找出bug的模式。从这一系列UI交互展开来,我当天最后发现了至少三次崩溃,它们都与重现步骤和给开发人员喜欢的屏幕快照中的“Sara wuz here”有关。

幸运的是,那天是星期五的下午,所以我必须设法远离开发人员几个小时。

使用代码段
接下来讲述的这些技巧与插入和管理代码段有关。

技巧2.38 使用Ctrl+K键、Ctrl+X键插入代码段
插入代码段的键盘快捷键是Ctrl+K键、Ctrl+X键,绑定的命令是编辑.插入代码段,如果不一样,可能与您的配置设置有关。

我准备使用C#来说明这条技巧,但该技巧适用于支持代码段的所有语言。调用编辑.插入代码段命令时,代码段插入UI弹出。这里真正的提示是,代码段的挑选支持自动查找匹配选择。注意我是怎样在一行上开始输入“#re”的(噢,我测试这项功能时的乐趣是……对不起我跑题了)。


bb30a490b5c8923e6a38aaf23ee03070d00d6e38

其他的按键操作:

按Tab键可以自动完成单词。如果单词恰好是代码段(不是文件夹),按Tab键便可插入它。
还可以按Shift+Tab键回到上一个单词(这是我对插入UI的贡献)。
技巧2.39 通过快捷关键字插入代码段
代码段支持通过“快捷方式”进行插入,通常是可以输入到编辑器中并按Tab键可插入的代码段名称的缩写。

插入时,只要输入代码段的名称,例如for,然后按Tab键。注意,如果语句完成已打开,必须按两次Tab键才能插入代码段。

在Visual Studio 2005和Visual Studio 2008中,都能在语句完成窗口中看到C#代码段快捷方式。下面的屏幕截图在语句完成窗口中显示了for代码段。注意左边的代码段图标。


26ff9069be9e6d9da36b904354de1ad1049f87e8

在Visual Studio 2008中,在语句完成窗口中是看不到Visual Basic代码段的,但在看到工具提示中的解释时,按两次Tab键可以插入对应的代码段。


ff891569608b9555a87b1eb9807a0b496d733e76

技巧2.40 按Tab Tab键插入代码段
作者旁述

几个月前,我与一些Microsoft MVP和其他曾在学校里参加过Microsoft认证考试的Visual Studio用户一起共进晚餐。其中一位开发人员说,“嗨Sara,你需要在博客上写写关于代码段Tab Tab的事情。”我感到很吃惊,因为我早就仔细测试过这项功能,但从未听说过“Tab Tab”的事情。后来才知道,他说的是插入代码段时使用的击键顺序,但我甚至想都没想过要把这项功能称为“Tab Tab”功能。
我不是C#开发人员。在从事软件测试的那段时间内,我绝大部分时间都在编写Visual Basic代码。在需要用到C#时,我非常依赖于代码段,因为我想不起语法了。

在编辑器中处于正确位置时,可以输入代码段的键盘快捷键,例如for。


da0514c52baba4d09677a8f093227130a13d1c92

在这种状态下,只要按两次Tab键便可插入代码段。

为什么需要按两次呢?第一次按是为了让自动完成语句完成工作。如果输入“for”的首字母f,for变为突出显示,只要按Tab键便可完成单词for。第二次按是为了生成代码段,因为编辑器中的光标将位于单词for的后面。


14417ba57c8f0af50e6b2c7578a9b42a9c4555d1

以上就是“<代码段> Tab Tab”的故事。

技巧2.41 浏览代码段和添加新代码段
所有的代码段都可以在“代码段管理器”中找到。选择“工具”→“代码段管理器”可打开该管理器。如果使用常规开发设置,使用Ctrl+K键、Ctrl+B键可以打开这个对话框。

依我看来,此对话框最有用的方面是浏览当前的代码段,了解哪些快捷键可用于将代码段快速插入到编辑器中。

另外,在这里还可以进行添加(代码段目录)和导入(通过“导入代码段”对话框将单个代码段或多个选定的代码段导入到指定文件夹中)。


15bbacc126573a224191f8e5c7ecd6a7422ae9f3

始终应该注意该对话框顶部的“语言”组合框,这样才能知道所浏览的代码段是什么类型的。“代码段管理器”上的“语言”组合框是一个MRU列表,这表示下次打开此对话框时,显示的是您上次看过的最后一组代码段(例如XML)。

作者旁述

对于像我这样的测试人员而言,在使用对话框之前始终要确认自己在测试环境中的位置,这一点至关重要。否则,就有可能导致记录下的bug不正确。或许您不需要这条警告,但是我很难改掉这个习惯。
技巧2.42 修改代码段中的默认值和变量
插入代码段时,根据该代码段的编写方式,编辑器会突出可以修改的字段(变量、值等)。修改完字段的内容后,按Tab键便可转到下一个字段。按Tab键时,当前的特定字段在整个代码段中都会被更新。还可以使用方向键定位到字段之外,从而触发更新。


ab467a99afb31ee97d5a5d7624b379723786784a

但如果按下的是Enter键,就表示提交当前改动(如果存在的话)和整个代码段,意味着不能使用撤销操作回到那些突出显示的字段。这时您必须使用自己最喜欢的重构方法才能进行额外的更新。

技巧2.43 与团队成员共享代码段
作者旁述

我喜欢这条技巧,因为它实际上不是关于如何使用功能,而是关于如何将功能组合起来达到新的目的。
要与小组内的其他成员共享代码段,步骤如下。

1.选择“工具”→“代码段管理器”,按“添加”按钮,然后输入UNC共享名。

2.选择“工具”→“导入和导出设置”→“导出选定的环境设置”,然后只选择将“代码段位置”导出到一个文件中。

3.将该.vssettings文件发送给小组成员。他们可以选择“工具”→“导入和导出设置”,然后选择“导入选定的环境设置”获取文件信息。


f7d436f041eb950a3ea748534af4bab8e6764493

技巧2.44 围绕一块代码插入代码段
C#和XML均支持编辑.外侧代码命令,此命令用于围绕选定代码(无论只是一个选定的单词,选定行还是整个函数)插入所需的代码段。键盘快捷键是Ctrl+K、Ctrl+S。

例如,下图说明了如何使用“外侧代码”功能在一个现有的for循环周围插入另一个for循环。


6d33c5b5d53d20253c0d3c3203334663499c00db

结果是一个for在另一个for循环内,如下所示。


b42bd8b26238b5b615fa35d800c283591bc50db3

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
编译器 C语言
【C语言航路外传】一招解决visual studio部分函数不安全问题
【C语言航路外传】一招解决visual studio部分函数不安全问题
91 0
|
7月前
|
搜索推荐 IDE 数据库连接
创建你的第一个Visual Basic程序:步步为营
【4月更文挑战第27天】探索Visual Basic编程,从安装Visual Studio开始,创建首个&quot;HelloWorldApp&quot;。在Form Designer中布局界面,添加Label和Button,设置属性。编写代码实现Button点击显示问候语。运行并调试程序,逐步学习更多控件和VB.NET高级概念,提升编程技能。享受编程旅程,创造无限可能!
54 0
|
网络协议 编译器 C语言
编程小白必看!Visual Studio 2022详细安装使用教程(C/C++编译器)
今天给大家推荐的编程软件是Visual Studio 2022,对于初学C语言的同学,Visual Studio 2022还是比较容易上手的,下面我来给大家详细讲解其安装使用教程。
1437 0
|
IDE 算法 Java
一个IDE的提示,引发了对《Java编程思想》的质疑?
一个IDE的提示,引发了对《Java编程思想》的质疑?
119 0
一个IDE的提示,引发了对《Java编程思想》的质疑?
|
程序员 测试技术
《Visual Studio程序员箴言》----导读
撰写本书之际,世界各国人民正在中国北京欢聚一堂,共庆2008年夏季奥运会这个盛大的节日。运动员花费了数年时间将他们的身体和运动状态调整到最佳,正是为了这一刻做好准备。那些在各个项目上获得金牌的选手将会定格在一个个辉煌的瞬间里。
1344 0
《Visual Studio程序员箴言》----导读
汉化了十数个编译器的前辈的心得体会
通过修改编译器, 实现对中文标识符支持的一位前辈的对于中文编程和中文编程语言的心得. View of programming in Chinese from a pioneer who modified a dozen compliers to add support of Chinese identifiers.
1299 0
UWP开发入门(十六)——常见的内存泄漏的原因
原文:UWP开发入门(十六)——常见的内存泄漏的原因   本篇借鉴了同事翔哥的劳动成果,在巨人的肩膀上把稿子又念了一遍。   内存泄漏的概念我这里就不说了,之前《UWP开发入门(十三)——用Diagnostic Tool检查内存泄漏》中提到过,即使有垃圾回收机制,写C#还是有可能发生内存泄漏。
1386 0