前言 在谈谈VS中的模板中我介绍了如何创建项目/项模板这种方式可以在创建项目时省却不少重复性的工作从而提高开发效率在创建好了项目和文件后就得开始具体的编码了这时又有了新的重复性工作就是需要经常编写一些类似或者说雷同的代码我们需要一种方法将这些代码管理起来减少重复输入 一个常见的例子在使用for语句结构时可能会有这样的代码 Code int[] array = { }; for (int i = ; i < arrayLength; i++) { ConsoleWriteLine(array[i]); } 或者 Code List<string> names = new List<string> { Anders Bill Clark David}; for (int i = ; i < namesCount; i++) { if (names[i]StartsWith(A)) { ConsoleWriteLine(names[i]); } } 显然这两个for循环的代码很相似输入for选择一个变量用作索引该变量有个上限值还有几个括号和分号而且绝大多数的for循环都是如此那么该如何减少重复输入呢? 可以想到的一种方法是把一段for循环的代码保存在某个地方比如一个文件内在需要for的地方拷贝进来把变量名初始值上限修改一下就可以用了 VS的开发者想的很周全提供了Code Snippet功能从而实现了上面的想法它保存了for循环代码的模板然后给它一个快捷键for现在在编辑器中(需要是C#文件)输入for连续按两下Tab键就会出现下面的代码 不仅有了for的基本代码还定位到了变量的名字处如果需要可以修改变量名假设改为index后面的两个i会自动改为index然后按Tab光标会跳至下一个深色显示的地方即length这里可以修改index的上限然后回车光标会跳至for循环的代码体 是不是很方便呢?还有很多其它Snippet比如输入cw按两下Tab就出来ConsoleWriteLine() 很多时候同样的功能在不同语言内的表现是不同的所以Code Snippet(以下简称Snippet)是特定于语言的也就是说C#的Snippet不能用于VBNETVS中的Snippet支持C#VBNETXML Snippet的管理 首先VS提供了很多内置的Snippet另外我们也可以将自己编写的或者他人编写的导入VS中 通过菜单Tools > Code Snippets Manager(或按Ctrl+K Ctrl+B)打开Code Snippets Manager窗口 可以看到上面的Language列表现在选中的是C#可以通过Import方式来导入新的Snippet在使用NUnit时由于测试代码的特点会有很多重复输入所以Scott Bellware提供了NUnit的Snippet我把它放在自己的博客来了BellwareNUnitSnippet现在把包里的snippet文件导入 |