下面我們來具體看一個(gè)例子,假設(shè)你要為一個(gè)類添加屬性,一般來說你要輸入一大段代碼,比如還要添加getter/setter方法。假如用snippets的話,將會(huì)十分方便。首先,我們在要增加屬性的代碼中,假如使用的是c#,按上文說的方法,右鍵彈出菜單中選擇"insert snippets",然后再選擇"visual c#",再在彈出的菜單中選擇" private int myVar; public int MyProperty { get { return myVar; } set { myVar = value; } } 要注重的是,在上面的代碼中,比如要修改myVar為另外的參數(shù)名,只需要點(diǎn)選myVar這個(gè)參數(shù),此時(shí)參數(shù)會(huì)被一個(gè)綠色的小方框包住,當(dāng)你修改為自己的參數(shù)后,只需要按回車鍵,則下文中所有的相關(guān)參數(shù)都會(huì)被同時(shí)修改。
假如使用的是vb.net,則也有兩種方法實(shí)現(xiàn)。可以在要插入的位置選insert snippets,再選擇"common code patterns",在彈出的菜單中繼續(xù)選擇" Properties and Procedures",最后選擇"Define a Property",則會(huì)自動(dòng)生成添加屬性的普通代碼;假如要簡單快捷的話,則可以輸入property,并按TAB鍵,則同樣可以實(shí)現(xiàn),生成的代碼如下所示:
Private newPropertyValue As Integer Public Property NewProperty() As Integer Get Return newPropertyValue End Get Set(ByVal value As Integer) newPropertyValue = value End Set End Property 值得一題的是,c#和xml snippets都有一個(gè)額外的功能叫"Surround with",就是說可以將已經(jīng)存在的一段代碼放到snippets助手中去,比如有下面的代碼:
假如要?jiǎng)?chuàng)建自己的snippets時(shí),可以首先在左則已有的目錄下增加一個(gè)snippets,比如現(xiàn)在要?jiǎng)?chuàng)建一個(gè)叫InstanceProperty的snippets,可在common code patterns分類下的proerties and procedures子類添加,將其命名為InstanceProperty。
接著,在右邊的編輯窗口中,可以按照snippets的規(guī)則寫入如下的代碼:
Private $PrivateVariable$ As $PropertyType$ Public Property $PropertyName$() As $PropertyType$ Get If $PrivateVariable$ Is Nothing Then $PrivateVariable$ = New $PropertyType$ End If Return $PrivateVariable$ End Get Set(ByVal value As $PropertyType$) $PrivateVariable$ = value End Set End Property 寫完后,可以點(diǎn)選priview選項(xiàng)卡,來進(jìn)行效果的預(yù)覽。而在下方的replacement選項(xiàng)卡中,是用來進(jìn)行參數(shù)默認(rèn)的設(shè)置的,當(dāng)設(shè)置默認(rèn)值后,只要用戶一調(diào)用該codesnippet,則對應(yīng)的參數(shù)轉(zhuǎn)換為該默認(rèn)值,比如要將PrivateVariable的默認(rèn)值設(shè)置為abc, PropertyType的值可以默認(rèn)設(shè)置為User自定義類型,PropertyName設(shè)置為setUser,則將上述snipeet保存后,下次調(diào)用snippet時(shí),會(huì)轉(zhuǎn)換為以下代碼:
Private abc As User Public Property setUser() As User Get If abc Is Nothing Then abc = New User End If Return abc End Get Set(ByVal value As String) abc = value End Set End Property 小結(jié)