PS: 繁体译成简体,算不算翻译呢?
在去年的 Microsoft Tech?Days 2010 我曾经写过一篇 Visual Studio 2010的操作技巧文章在每个人都会拿到的资料库里,不过似乎不是很多人看过,因此决定将文章放到部落格上供大家参考学习,要做好开发工作绝对不能不熟悉每天都在使用的开发工具,对工具的掌握度越高,相对的工作效率也就越高,也越能够专注在更有创造力的事情上!
1. 最近使用的项目可任意钉选或移除
Visual Studio 2008 的内建功能里并没有提供任何机制能够管理「最近使用的项目」,若需要在「最近使用的项目清单」删除特定项目还需要额外安装 PowerCommandsfor Visual Studio 2008 才行,而且也没有钉选(Pin)功能,如果项目一多,可能真正常用的项目会被挤掉。
不过到了 Visual Studio 2010不但可以直接在 启始页「钉选」特定项目,让该项目能够永久停留在「最近使用的项目清单」里,还能随时将不需要留存在上面的项目从此清单移除。
这功能的好处就在于有时候我们为了实验某些功能,可能会开启一些临时性的项目,或为了支持同事的需求开启一些很少用的项目,这时就可以视情况决定是否要删除或钉选这些项目清单,这样才不会让一些临时开启的项目覆盖掉真正经常使用的项目。
2. 使用扩充管理员立刻提升你的 VISUAL STUDIO 2010开发效率
Visual Studio 2010 的「扩充管理员」是一个全新的扩充套件管理工具,不但可以在线立即下载套件,还能自动判断扩充套件是否更新,所有浏览、搜寻、安装、更新扩充套件的过程全部都在「扩充管理员」的操作接口中完成。
预设浏览扩充套件时是以「最高顺位」来做排序 (就是最多人按赞的套件),你可以看到全世界最热门的扩充套件有哪些,而这些扩充套件也许就是提升你开发效率的重要工具之一,如果需要进一步取得使用说明可以点选右侧的「详细信息」即可连到扩充套件的专属网页。
如果你已安装的扩充套件有更新版出现时,当开启 Visual Studio 2010时也会主动提醒你有更新的扩充套件出现,让你可以直接升级到最新版本。 (备注:有些非微软官方提供的套件升级到最新版反而会出问题,这部分我们遇到过好几次)
在开启扩充管理员并点选至更新页签后直接点选「更新」按钮即可自动安装完成。
备注:大部分的套件在更新完后都必须重开 Visual Studio 2010才会生效。
以下是几个笔者强力推荐的几个 Visual Studio 2010扩充套件,我在日后的文章里也会介绍几款:
3. 优异的搜寻能力(1):巡览至 ( Ctrl + , )
在开发的过程中经常需要搜寻项目或方案中的相关程序代码或数据,在 Visual Studio中最厉害的就是拥有强大的搜寻机制,而程序代码快速搜寻的机制在 Visual Studio 2010中更是进一步强化与改进,熟悉这些操作的开发人员将如水中蛟龙般自由自在的悠游在程序代码之间。
Visual Studio 2010新增的巡览至(Navigate To)功能非常的强大,当方案或项目被开启后 Visual Studio 2010会替所有档案建立索引以加速搜寻速度,你点选主选单的 [编辑] / [巡览至(.)…]即可开启巡览至窗口,或利用快捷键 Ctrl + , 也可开启此窗口(这是个值得记忆的快捷键),开启窗口后直接输入要搜寻的关键词即可快速找到你想要的档案并直接开启此档案,此功能可以搜寻的地方有型别名称、所有成员名称、文件名等。
除了可以搜寻一般字词外,巡览至窗口还能搜寻以 Pascal Case规则命名的项目,如下图标当你搜寻RUE时,它会帮你搜寻项目中所有以 R + U + E顺序命名的型别或成员名称,除此之外,点选到这些型别或成员上还会自动显示出透过 XML批注的 <summary>字段内容。
笔者认为,如果你的方案中项目很多或档案数非常多的情况下,当你对项目十分了解后,你将会非常依赖巡览至窗口搜寻一切程序代码,因为只要任意打关键词就能找到你要的档案位置,这比方案总管一层一层来找档案来的快多了,也比使用 Ctrl+Shift+F 寻找整个方案乱枪打鸟来的好。
额外补充1:巡览至找到项目并跳至该档案的位置后,如果想要快速回到巡览前的位置时,可以利用 [检视] / [向后巡览]- 或按下 Ctrl + - (减号) 快捷键即可立即回到原先的位置。
额外补充2:由于 Pascal Case的关系,搜寻时输入大写英文有其特殊性,因此在要搜寻一般字符串时,请一律输入小写英文来搜寻!
4. 优异的搜寻能力(2):搜寻模板或其他项目 ( Ctrl + E )
从Windows Vista开始在档案总管上就加上了一个默认的搜寻框固定显示在档案总管的右上角,而这样的搜寻功能也延伸到Visual Studio 2010中了,许多功能像是新增项目或加入新项目、扩充管理员等在窗口右上角都会有搜寻框,你只要记得关键词就可以立即找到你要的项目模板或项目模板。
其实不仅仅是档案总管或Visual Studio 2010的窗口,还有许多应用程序也都慢慢的加上了搜寻功能,而且都共通有个快捷键为 Ctrl + E 可立即将键盘光标跳至搜寻框,你只要直接输入关键词就能立即找到你要的档案或项目,这也是另一个值得意义的快捷键。
如下图标当开启新增项目窗口后可以直接按下 Ctrl + E 将键盘光标跳至搜寻框,并输入Phone后即可塞选出项目模板名称中有Phone字词的项目,这时如果你还想继续用键盘选取项目的话可以按下 3 个 Tab 键即可跳到选取项目模板的位置。
5. 优异的搜寻能力(3):Quick Access
你知道Visual Studio 2010内建多少命令吗?你所看到的每一个选单选项、工具栏上面的按钮、任何快捷键都是对应到Visual Studio 2010的某个命令,笔者是没算过内建有几个,不过少说上千个应该跑不掉!也许你曾经用过一个好用的功能,但是却再也找不到了,这时你就可以透过Quick Access窗口帮你找到你要的命令。
由于此功能是Productivity Power Tools扩充套件的其中一个功能,你必须先透过扩充管理员安装Productivity Power Tools扩充套件才能使用,手动下载地址与完整说明建议可参考以下网址:http://bit.ly/vs2010powertools
下载后预设是启动的,但如果不小心关闭也可以透过 [工具] / [选项]选取 Productivity Power Tools并将Quick Access设定为 ON 即可。
只要有启用Quick Access功能就会在 [检视] / [Quick Access]将此窗口打开:( 快捷键: Ctrl + 3 )
如下图为例,当我们开启Quick Access窗口后输入「测试」即可搜寻出所有与「测试」有关的Visual Studio 2010命令、工具选项或项目模板,默认显示的会是各搜寻类别的前几项,如果要进一步查出所有搜寻到的项目可以再按一次 Ctrl + 3 即可完整显示。
Quick Access窗口可搜寻的范围非常广,包括:
可搜寻的范围不仅仅是Visual Studio 2010内建的命令,如果在扩充套件中有注册一些其他的命令也都可以在Quick Access窗口中搜寻的到。
6. 增强的区块选取与编辑功能
区块选取功能其实是许多文本编辑器的基本功能之一(包括Word),用过的人应该都知道只要按下键盘的ALT键不放,再利用鼠标选取区块的范围即可选取区块的文字。如果透过键盘进行区块选取的话,也是先按下键盘的ALT键不放,再按下Shift键不放,接着再移动键盘箭头键进行移动即可完成区块选取。
虽然Visual Studio 2010之前的版本也都有支持区块选取,但是「区块编辑」功能却大大的受限,以往只能使用很基本的「区块删除」与「区块复制/贴上」功能,但是Visual Studio 2010与之前的Visual Studio版本主要有两个主要的增强:
一次编辑多行
以下图为例,我们先用区块选取以下两行的private部分
选取完后直接用键盘输入public即可完成一次编辑多行的动作
支持零宽度选取,可多行同时输入
如下图标,你光标可以先停留在第12行的地方,先按下键盘的ALT+SHIFT键不放,再按箭头键往下选取,你可以看到一条细细的垂直线:
接着直接开始输入程序代码,你会发现多行的程序代码会同时被新增上去:
7. 程序代码编辑窗口字体可自由放大缩小
若是你的开发团队采用Pair Programming(搭档编程)开发或当你邀请其他人前来你的计算机看程序的时候,如果看的人多,大家站在你身后不见得能看到你的程序代码,在 Visual Studio 2008的时候可以利用内建的宏帮你快速调整程序代码编辑窗口的字体大小,不过这个小技巧算是很少人知道的,有兴趣的人可以参考下图进行快捷键设定:
到了 Visual Studio 2010预设就内建了非常好用的字型放大缩小的能力,你只要先按住 CTRL键不放,然后再使用鼠标的滚轮上下移动即可看到字体大小的变化,而且改变字体大小的速度比 Visual Studio 2008改变字体透过宏的方式来的快几十倍。
8. 断点强化管理机制
Visual Studio 断点功能几十年来都没什么变过,但 Visual Studio 2010新增了几个强化断点管理的机制,不但可以汇出断点到档案、从档案汇入断点,还能针对每一个断点设定标签(Tags)或进行搜寻等等,种种的功能都可以增强开发人员对断点的管理。
学会使用断点是开发过程中不可或缺的开发技能之一,但许多人都认为断点只能用来除错,如果真的只是这样,在个人造业个人担的状态下,通常都是写出Bug的人自己要解决,那我还需要管理或分享我自己设定的「断点」吗?为什么要做导出/汇入功能呢?
首先,我们先开启「断点」窗口
断点顾名思义可以让程序执行到标记断点的地方暂停执行,这时我们可以进一步利用「监看式窗口」或「局部变量窗口」察看目前变量的值,这也是最多人使用的方式。不过断点还能用来分析特定断点的计数,以下图为例,我们可以从断点窗口中看到特定断点被执行了几次,并设定条件让断点不要「中断执行」直到符合我们的条件时再中断执行,这样我们就可以额外分析出一些有意义的执行信息。
我们依据上图的标号顺序来依序讲解不同的功能:
9. 可浮动/可钉选的资料提示框(DataTips)
在以往我们在 Visual Studio 2008之中都会不断在监看式中对变量新增、删除,虽然监看式内建提供四个窗口,但过多的变量出现在监看式中还是会导致信息过于混乱不易阅读。Visual Studio 2010贴心的提供一个 DataTips功能,能将变量直接钉在屏幕任何一个角落,这样的设计如同将多个监看式中的变量直接与程序代码所在位置做链接,这样可以有效减低监看式的使用,而改以更直觉的方式将变量值显示在画面上。
若要使用 DataTips钉选功能,可以在程序执行到断点的时候将鼠标移至变量上,这时就会跳出可钉选的图示:
除此之外这些钉选的 DataTips项目还提供批注能力,当你有多个需要监看的 DataTips时可让你更快速理解不同 DataTips的用途。
输入 DataTips批注时还能输出多行
默认来说 DataTips可以任意移动位置,移动的时候会有一个小图钉出现在屏幕左侧,这代表以后这个 DataTips框会固定出现在这个位置,当你屏幕上下移动时他也会跟着移动,如下图所示,此 DataTips会固定显示在第 121行的地方:
如果你想监看的变量是静态对象或一些特别想一直监视的变量时,你可能会希望这个DataTips不要跟着程序代码卷动而改变位置,这时你就可以点选DataTips旁边的「钉选」图标使其固定在窗口上,这时屏幕左侧的图钉图标也会跟着消失,代表这个DataTips不会跟着页面跑了,如要改回原本的钉选模式只要再点一次钉选图标即可,如下图标:
如果你要让多个表达式同时显示在一个DataTips的话,也可以透过以下方式进行设定。
输入变量名称或表达式之后按下 Enter即可新增上去并列显示,这画面基本上就是一个小型的「监看式」窗口,但又不占像之前使用监看式窗口时会固定占用一大块版面浪费空间,是不是非常好用呢! ^_^
与断点一样,DataTips一样可以进行汇入汇出,若你设定的 DataTips非常有用,那么你或你的团队也能将这些设定好的 DataTips一并汇出给所有团队成员使用!
10. 使用 IntelliSense建议模式
IntelliSense 已经很好用了,为什么在 Visual Studio 2010又要多新增一个建议模式 (Suggestion mode)呢?难道以前的完成模式 (Completion Mode)不好用吗?不去深思背后的初衷真的很难体会这个建议模式的美妙之处,但在讲解 IntelliSense这两个模式的差异之前,必须先教各位IntelliSense在使用时的细节,这样你才能体会 Suggestion mode实用的地方。
IntelliSense 在使用的时候其实非常直觉,如下图示,当各位输入 Page.User.Is之后出现 IntelliSense窗口且已选取在 IsInRole方法上时,你接下来会输入什么按键来完成输入呢?是 TAB键还是直接输入左括号呢?都有可能对吧!
如下图示,当各位输入 Page.User.I之后出现 IntelliSense窗口且已选取在 Identity属性上时,你接下来会输入什么按键来完成输入呢?是空格键、分号还是小数点呢?都有可能对吧!
是的!就是这样用,在使用 IntelliSense时当侦测到键盘输入以下字符时就会自动完成输入:
测试导向开发模式(TDD)已经越来越多人采用,而 TDD有一个很大的特性是在程序开发的过程中经常是以先写测试程序再写实际程序,意思也就是说在写测试程序时可能连被测试类别中根本都还没定义要被测试的方法,这种情况下由于 IntelliSense只能让你选用「已经定义」的方法,而当你输入完一个不存在的方法并按下左括号完成输入时却会被 Visual Studio替换成被选中的方法名称,然后还要手动修改成原本要测试的这个不存在的方法名称,这样的开发过程对采用 TDD开发模式的人来说是很恼人的。
使用 IntelliSense建议模式可以先用 CTRL+ALT+SPACE 快捷键切换过去,我们以下图为例,如果你切换到建议模式的话,你会看到在 IntelliSense 窗口最上方会重复你输入的方法名称,这就是「IntelliSense建议模式」最明显的特征。
如上程序为例,我们要新写一个 DataClear方法的测试案例,但是在 AuthorProfile_Accessor类别中还没有 DataClear这个方法,所以再输入 DataClear之后虽然还是会有一个框线停留在最接近的 DataDelete项目上,但是当切换到建议模式后 IntelliSense机制就只会「建议你」有哪些选项,而不会强迫你选择一个方法名称来完成输入。
这时你可以直接输入左括号完成输入,如下图示,这时 IntelliSense就不会鸡婆的帮你替换成 DataDelete(),而是完整保留你原本输入的 DataClear()方法名称,而这就是IntelliSense建议模式适合TDD的地方。
不过,如果你希望在IntelliSense建议模式能像完成模式一样输出建议的名称有以下方法:
11. 依据使用方式自动产生程序代码骨架 (Generate from Usage)
测试导向开发模式(TDD)的精神是依照实际的需求先撰写测试程序再撰写实际程序,若以单元测试为例,我们会先开发单元测试程序先决定实际程序的运作方式,例如我们可以决定要测试哪些类别、测试哪些方法、该方法应该传入什么参数型别、输入的数据应该做哪些验证、验证失败应该回传哪些例外,回传的型别是什么、预期会有哪些回传数据、预期会呼叫什么类别的方法、…等等,等测试程序写好时我们会先对项目进行编译,可想见的编译一定会失败,因为我们连程序的骨架(Stub)都还没撰写,所以接下来一步就是开始撰写实际程序。
Visual Studio 2010提供一个非常强大而实用的功能可依据类别的使用方式自动产生类别与方法,最主要就是用来支持测试导向开发模式(TDD)的开发流程,光用文字说明当然非常抽象,我们用几个例子来带领大家了解。
※ 建立类别、结构、接口或列举
如下程序范例为一个单元测试方法,里面定义了一组尚未开发的NewsController类别,因此发生编译失败,这时我们可以将键盘光标停留在NewsController类别名称上并按下 Ctrl + . 快捷键,这时会出现两个下拉选单分别是「产生 ‘NewsController‘的类别」与「产生新的型别」:
这两个功能分别有不同的类别产生行为:
如下代码段,建立完成后你将会发现类别已经成功建立:
※建立方法(Method)
接着还剩下类别里的Index方法还需要产生,我们再将键盘光标移至 Index()方法的地方,再按一次 Ctrl+ . 快捷键就会立即在 NewsController类别里产生 Index()方法的骨架:
注意事项:当要建立方法时,只有当方法有加上小刮号时才会显示正确的智能标记(SmartTag),因为Visual Studio 2010 会判断你是如何使用这个 Method进而自动建立正确的方法骨架。
完成后的NewsController类别如下:
最后我们再将Index()方法写完即可。
※建立属性或字段
如果我们在测试程序中「使用」了一个属性(Property)或字段(Field)并且指派一个字符串进去,那么当你按下Ctrl + . 快捷键后 Visual Studio 2010就会先问你要建立属性或字段,因为从程序的外观基本上看不出你实际要撰写的程序是属性或字段,所以必须自行选择。
Visual Studio 2010 提供的 依据使用方式自动产生程序代码骨架 (Generate from Usage)功能对于使用测试导向开发模式的开发人员来说非常友善,若能于『使用IntelliSense建议模式』的开发技巧一起使用更是如虎添翼,多练习个几次等操作都上手之后你就会爱上她!
From: http://blog.miniasp.com/post/2011/03/29/Visual-Studio-2010-Tips-Part-01.aspx
Visual Studio 2010 操作技巧系列:常用功能心得笔记,布布扣,bubuko.com
Visual Studio 2010 操作技巧系列:常用功能心得笔记
原文:http://blog.csdn.net/tobefxz/article/details/22218189