前言
在談談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文件導入
From:http://tw.wingwit.com/Article/program/ASP/201311/21849.html