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