Visual Studio 2010中的代碼片段支持
Scott Gu的Visual Studio 2010和.NET 4教程系列仍在繼續,本文是第六篇。51CTO編輯推薦《Visual Studio 2010應用與開發詳解》前面幾篇可參考:
今天的貼子討論Visual Studio 2010中另一個非常有用的改進,即對HTML/ASP.NET/JavaScript snippet(代碼片段)的支持。代碼片段允許你創建一段代碼和標識,然后只需最少量的字符鍵入就可很快地在你的應用中將其施用,從而使你在源碼視圖內更有效率。
Visual Studio在以前的版本中只在VB 和 C#中支持“代碼片段”的概念,對HTML, ASP.NET標識和JavaScript則不支持。在VS 2010中,我們現在對這些內容也支持代碼片段了。
使用ASP.NET 代碼片段(Snippets)
讓我們來做一個示范,看如何使用代碼片段來很快地實現一個常見的涉及安全的場景。具體地來說,我們將實現在網站的右上方顯示“[ Login ]” 鏈接或“[ Welcome UserName ]”消息(取決于用戶是否已經登錄)所需之功能:
上面的功能是在你使用VS 2010中新的ASP.NET 項目起始模板創建項目時自動為你添加的。但為了這個示范的緣故,假定我們將從空白的母版頁出發,完全從頭建造起來。
一開始,在母版頁中加一個標準的< div>元素,然后將光標放于其中間:
我們將使用內置的< asp:loginview>控件來幫助實現我們的場景。< asp:loginview>控件是個模板化的控件(是在ASP.NET 2.0中***引入的),允許我們輕松地在“Anonymous(匿名)” 和 “LoggedIn(已登錄)”模板(取決于用戶是否已被認證)自動顯示之間轉換。但我們不是將手工鍵入< asp:loginview>標識,而是將使用VS 2010中新的代碼片段支持。
在編輯器中鍵入“< log”,將調出intellisense,顯示以這些字符起始的元素,控件和代碼片段。
我們將從上面的列表中選擇內置的“loginview”代碼片段,按“tab”鍵來完成之:
至此,我們選擇了要使用的代碼片段,我們可以再次按“tab”鍵來執行該代碼片段,導致它立刻將代碼片段名稱替換成下面的標識。注意下面,該代碼片段為我們加了新的< asp:loginview>控件,在其中自動地定義了2個最常用的模板。我們能夠只用6次鍵擊(鍵入“< log”擊鍵4次,加2個tab鍵)就實現了上面的全部功能。
現在我們來實現“AnonymousTemplate”。
在編輯器中鍵入“< a”,將調出intellisense,顯示可為我們所用的元素和代碼片段:
我們將從上面的列表中選擇內置的 “a” 代碼片段,按“tab”鍵來完成。再按一次tab鍵,會執行該代碼片段,導致它將代碼片段名稱替換成下面的標識:
上面的“href”屬性值和 < a> 元素中的內容被綠色背景高亮顯示了。這表明這些值是可替換的參數,我們可以在填充它們的值時自動在它們之間來回tab,而避免使用光標鍵或按鼠標(從而提高了速度)。
不用移動光標或鼠標,我們就可以開始鍵入我們想要送用戶去的登錄網頁的URL,假如他們在網站上還沒被認證的話:
完成之后,我們可以按“tab”鍵,VS會自動地在編輯器中為我們高亮顯示第二個內容參數(不需手工移動光標或鼠標):
然后我們可以鍵入我們想要顯示的文字(再一次地,不用移動鼠標或按光標鍵):
完成“< AnonymousTemplate>”之后,我們可以移到"< LoggedInTemplate>”。我們將在編輯器中鍵入“< log”,調出intellisense,選擇內置的“loginname”代碼片段:
再按一次tab鍵會執行該代碼片段,導致它替換成下面的標識:
上面的“FormatString”屬性值已經自動地為我們填充了默認的歡迎文字消息。其值還被自動地高亮顯示了,萬一我們想要做改動的話(而不必移動鼠標或光標鍵)。在這個例子中,我們將保留默認的文字。
***的標識看上去象下面這樣:
當運行應用時,上面的標識在我們還沒被認證時,會顯示“[Login]”鏈接:
在我們登錄之后,我們將看到象下面這樣的歡迎字符串:
實現這個完整場景所用的總鍵擊次數比我們以前手工鍵入所用的總鍵擊次數的15%還要少。擊鍵快的話,我發現我能在少于15秒鐘內實現這個完整的場景, :-)。
ASP.NET MVC 代碼片段(Snippets)
VS 2010為所有的ASP.NET控件和HTML標識元素提供了內置代碼片段。
VS 2010也為常見的ASP.NET MVC視圖場景,內置的ASP.NET MVC HTML輔助方法提供了內置的代碼片段。
例如,我們可以在ASP.NET MVC視圖中鍵入“< act” ,選擇“actionlink” 代碼片段:
完成之后,按“tab”鍵,該代碼片段會執行,導致它將片段名稱換成下面的標識:
注意,“linktext” 和 “actionname” 值被標記為代碼片段參數,這意味著,我們可以不用使用光標鍵或按鼠標就可以輕松地將它們的值換掉。***個參數linktext值是默認選擇的,這意味著我們只要鍵入字符就可以馬上替換其值,然后按tab鍵就可以馬上選擇和替換第二個參數actionname:
自定義代碼片段
Visual Studio 2010包含了超過200個內置的代碼片段,這些片段在你安裝它之后即可為你所用。
更棒的是,你不局限于僅使用內置的代碼片段。你還可以輕松地創建你自己的代碼片段(連帶可置換的參數),可將它們導入2010,以及輕松地與其他開發人員分享。這方便你很快地自動化你自己的常做任務。
這篇文章描述了VS 2008中現有的代碼片段支持,對如何創建和管理自定義代碼片段提供了一些背景。
結束語
代碼片段,是個非常有用的特性,能使你在編輯器內減少擊鍵次數,允許你更快地完成場景和任務。現在代碼片段不光在VB 和 C#啟用了,也在HTML, ASP.NET 和 JavaScript文件中啟用了,使得該功能更加有用, 使你工作起來更有效率。
希望本文對你有所幫助,
Scott
【編輯推薦】