VS使用技巧小结
i. Ctrl-M-O 折叠所有方法
ii. Ctrl-M-P 展开所有方法并停止大纲显示(不可以再折叠了)
iii. Ctrl-M-M 折叠或展开当前方法
iv. Ctrl-M-L展开所有方法
相信做开发的没有不重视效率的。开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS。能够对一个IDE产生依赖,说明这个IDE确实有它的独特之处。无容置疑,VS是一个非常强大的IDE,它支持多语言编辑。支持C#,VB,C/C++,HTML......它拥有强大的调试编译功能。它让我们不用去记住那些安装,环境变量设置,服务器设置,编译的繁琐过程。高度集成化。凡事有利有弊,在敏捷开发盛行的时代,VS是否值得我们使用是无容置疑的。但是强大的VS也拥有众多的设置,众多的技巧。记住某些小技巧可以让我们更加方便,快捷地使用VS。这是很有必要的。每个人或多或少记住了一些小技巧。但是不可能全部都记住,我们按照我们自己的编程习惯记住一些自己比较常用的就好。
下面是鄙人在编码过程中发现而且比较经常使用的一些小技巧,希望对你有所帮助。
1.行编辑(复制,剪切,删除,交换)
当你在光标停留行使用快捷键Ctrl+C,X,L时,可以复制,剪切,删除整行内容。当然,右键也是可以的。跟平时的复制,剪切,删除就是选中和没选中代码的区别而已。
如果你想交换上下两行,你可以使用快捷键(Shift+Alt+T),前提是光标要停留在上面那一行。替换之后,光标会一直跟随原本的那一行。
2.注释(//TODO:...)
看标题的话,你可能想打我。那个程序员不知道注释啊,不就//或者/*.....*/亦或者<!--....-->(HTML/XML注释)。但是使用过
// TODO:注释部分
的,估计是少数吧。如果你喜欢用“任务列表”记录一些要做的事情,这个小功能最适合你了。你可以再VS 2010的菜单上找到任务列表窗,点击“菜单->视图->任务列表”,你也可以点击快捷键“Ctrl+W,T”。VS还提供了,HACK,UNTODU,UnresolvedMergeConflict标记注释,你可以在“工具->选项->环境->任务列表”找到并且编辑/添加/删除标记注释。下面是图示:
3.创建区域(#region和#endregion)
当代码越来越多的时候,你会期望可以隐藏一些代码,而#region和#endregion 就是这样的功能。你可以在任何位置隐藏任何代码。即使是隐藏的内容不属于同一个函数。你可以点击#region旁边的+/-,展开/隐藏代码。在隐藏的时候,当你的光标放放置在备注上面的时候,VS会显示出隐藏的代码内容。(听说VB.net使用的时候只可以写在方法外面,不能写在里面。因为本人没写过VB,所以可能在这方面会误导到大家,谢谢网友@天生俪姿 的提醒)
4.选择一个单词/选择一个字符串
如你所知双击一个单词的时候会选择整个单词。按住Ctrl键单击单词的任意位置同样可以选中单词。
双击字符串第一个引号的左侧可以选中整个字符串。按住Ctrl键单击第一个引号的前面同样可以选中整个字符串。
5.将代码放入工具箱
工具箱是拿来放控件的地方。我们在使用控件的时候,只需要从控件当中拖动控件到代码就可以了,这样可以省去大量代码的编辑工作。既然工具箱如此方便,那么是否可以将一段重用性很高的代码放入工具箱呢。答案当然是可以的。
你可以选中你的代码,然后拖入工具箱的空白处,你的代码就保存到工具箱了。就像你将控件拖入代码页面一样,也可以将代码拖入工具箱中。以后你就可以像使用控件一样使用重用的代码。这是非常方便的。而且工具箱的内容不会因为你关闭VS而消失,在你下次打开VS的时候工具箱同样保存了你的代码。如果你需要查看工具箱保存的代码而又不想拖到代码页面中,你只需要将光标停留在工具箱的代码图标上面。如图所示:
6.格式化代码
这个很重要,即使VS在你每次打完“;”回车之后会自动格式化代码。但是难免代码的格式会有所变化,譬如粘贴一段代码之后,代码的格式往往会受到影响。所以,这个还是很有必要知道的。
格式化部分代码:选中代码->Ctrl+K,F。或者Ctrl+E,F。
格式化整个文档:编辑->高级->设置文档的格式。或者 Ctrl+K,D。或者Ctrl+E,D。
7.切换设计/代码图示
在ASP.NET页面切换(HTML): Ctrl+PgUp/Ctrl+PgDn
在windows窗体切换:F7/Shift+F7 (代码/设计)
8.查找错误代码。
当错误列表有错误或者警告提示时,你可以双击这个错误或提示,就可以跳转到错误或警告的语句前。
9.跳转到指定行号
如果代码很多的时候,这是很有用的。在ASP.NET编程的时候,很多错误只有在运行网站的时候才能发现,而这个错误又没被在错误列表提示的时候,你就可以使用这个小技巧跳到错误的代码前面。
双击右下角状态栏的行号,会跳出一个行号跳转窗体。或者快捷键Ctrl+G调出窗体。当然,还可以从菜单栏点击“编辑->跳转..”使用这个功能。
10.快速查找
光标停留在需要查找的词上面,使用快捷键Ctrl+F3可以跳转到下一个相同的词。按Shift+F3可以往上查找。
11.查找“{/}”
查找:你是否很烦恼有些对应的标记找的到头找不到尾,找得到尾不知道那个是头。当你把光标放在“{”的前面,VS会将相对应的”}“标记起来。你也可以将光标停留在“}”的后面,可以达到同样的效果。
12.查找和替换
当你想查找/替换掉某个字符串的时候,你可以按快捷键“Ctrl+F”或者“Ctrl+H”,进行这一操作。另外VS支持正则表达式和通配符。
如果你想从整个项目进行查找/替换,你需要使用快捷键“Ctrl+Shift+F”或者“Ctrl+Shift+H”。当然这一切都可以在菜单栏找到。“编辑->查找和替换”。当你想中止全局替换的时候,你可以使用快捷键“Ctrl+Pause Break”。
13. 书签
书签是很有用的功能,用过Chrome的都知道。在VS当中,书签同样适用。它可以帮你保存位置,以便你写代码。
放置书签:Ctrl+B,T。
上一个书签:Ctrl+B,P。
下一个书签:Ctrl+B,N。
删除所有书签:Ctrl+K,C。(居然打错了,对不起,谢谢@河蟹社会 提醒),正确的是Ctrl+B,C。
除此之外,VS还提供了其它的书签操作。
14.跳转到定义
当你查看代码的时候,往往需要去查看原函数,这是难免的。但是千万不要去手动寻找函数。这效率往往是很低的。你可以右键该函数,选择跳转到定义即可。当然你也可以使用快捷键F12。
15.以文本形式插入外部文本
“菜单->编辑->将文件作为文本插入”
好处是,你不需要打开文件去复制粘贴。
工具—>选项—>环境—>键盘 (显示命令中输入注释 移除原有的快捷键,添加新的Ctrl + /即可)
是的代码段可以折叠 选中代码Ctrl+M+H 即可使得选中的代码可以折叠 Ctrl+M+U 取消可折叠区域
(代码比较乱的时候)格式化代码 Try CTRL + A + K + F. While holding down CTRL hit a, then k, then f.
Visual studio’s smart indenting does automatically indenting, but we can select a block or all the code for indentation.
-
Select all the code: Ctrl+a
-
Use either of the two ways to indentation the code:
-
Shift+Tab,
-
Ctrl+k+f.
-
打开文件的快捷键 Ctrl+;
但是会载入很多无关的文件,所以有点慢
回到光标的上一个位置Ctrl + -,或者下一个位置 Ctrl
+ Shift
+ -
(记得 - 是F9下面的那个- 而不是 num lock的那个)
1、在解决方案资源管理器中输入首字母来选择文件
点击解决方案资源管理器,然后键入想要寻找的文件名称,就能在管理器中展开的列表下找到想要的文件,未展开的列表是不能搜索的。
2、工具窗口停靠
双击标题栏就可以把浮动工具窗口停靠到它先前所在的位置
3、到打开窗口的导航
下一个文件Ctrl+F6 ,回到上一个文件Ctrl+Shift+F6
Peek View
可以在不新建TAB的情况下快速查看、编辑一个函数的代码。
用法:在光标移至某个函数下,按下alt+F12。
然后在Peek窗口里可以继续按alt+F12。然后按ctrl+alt+-,或者ctrl+alt++就可以前后跳转。按ESC关闭Peek窗体。
这下就不需要来回跳转了……(alt+G可以跳转至函数定义的地方,alt+左箭头可以回退)
滚动条那预览整个文件(把鼠标移动到滚动条上的时候,还会显示预览:)
在选择的代码用if语句啥的嵌套起来。
使用方法:选择好需要嵌套的代码后,按快捷键 ctrl+k,ctrl+s:
F12转到定义
Ctrl+F12转到声明
Ctrl+L剪切该行
Ctrl+Shift+L删除该行
Ctrl+W选中当前单词
Ctrl+Shift+U选中单词全部大写
Ctrl+U选中单词全部小写
行的操作
在行前插入空行,Ctrl+Enter
在行后插入空行,Ctrl+Shift+Enter
和下面一行交换对调,Alt+Shift+T
选中行,然后 alt + 上下箭头可以上下移动选中的行
语句补完 : Alt+右方向键来补完单词
跳转定义: F12跳转到定义之后,可以使用Ctrl+Shift+8跳回,再摁下Ctrl+Shift+7会再次跳转到定义
断点
断点窗口:Ctrl+Alt+B
修改断点的命中次数,可以在指定值的次数遇到断点时中断,在循环执行到指定次数时中断
命令指定函数时中断:新建在函数处中断的断点
设置断点条件:(1)为true时,表示该表达式为真时中断
Ctrl+alt+O输出窗口
添加c/c++工程中外部头文件及库
1、添加工程的头文件目录:工程—属性—配置属性—c/c++—常规—附加包含目录:加上头文件存放目录。
2、添加文件引用的lib静态库路径:工程—属性—配置属性—链接器—常规—附加库目录:加上lib文件存放目录。
- 然后添加工程引用的lib文件名:工程—属性—配置属性—链接器—输入—附加依赖项:加上lib文件名。
- 在代码中添加应用的lib文件名:#pragma comment(lib,”wpcap.lib”)
3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。
Visual Studio调试小技巧
在运行过程中改变变量值
调试器不仅仅是分析程序崩溃和诡异行为的工具,还可以通过逐步调试检查数据和行为是否符合程序预期的方法解决许多bug。有时,你会想是否设置某些条件为真,程序就能正确运行了。其实你只要把鼠标移动到变量上,双击值,然后输入你需要的值。这样就不需要修改代码,重启程序了。
设置下一个运行位置
一个典型的调试案例是我们经常会用逐步调试的方法去分析为什么函数出错了。这时你遇到这个函数调用其他函数返回错误,而这个错误不是你想要的,你该怎么办?重启调试器?这里有个更好的方法,直接把黄色的运行位置箭头拖到你想要的运行位置。其实就是跳过中间运行代码,直接到想要的位置。很简单吧。
编辑然后继续运行
在运行一个很复杂的程序和插件时,发现一个错误,但是不想浪费时间去重编译重启动程序。很简单,只要在这个位置修改这个bug,然后继续调试。Visual studio会修改这个程序,使得你可以继续调试而不需要重启程序。
值得注意的是“编辑然后继续运行”这个功能有几个限制。一,它不能在64位代码上使用。如果想使用这个功能,到项目设置里的编译选项,选择”x86”作为目标平台。不要担心,这目标平台在reslease配置是和”debug是分离的,也就是说依然是”Any CPU”的设置。二,“编辑然后继续运行”这个功能仅适用于一个函数内部改变。如果你想要改变这个函数的声明或者增加新的方法,你只能选择重启程序,或者不做任何改变继续。如果修改的方法中包含lambda表达式,则意味着修改了编译器自动生成的委托类型,这样会导致编译器停止运行。