第一次自製VS2008 Code Snippet

Visual Studio 2008裡Code Snippet是可提升Coding速度的好幫手,懂得善用的人能省下一大堆沒營養的打字動作! (保哥的這篇switch+enum密技就是很經典的例子)

最近在重翻舊程式,要將大量的資料庫存取程式改成不參與Transaction的LINQ to SQL資料存取,所以我就得把程式由原本的:

void SomeJob(string userId) {
    AfaUser user = DataHelper.QueryUserInfo(userId);
    ...囉哩叭嗦...
    ...胡搞瞎搞...
}

改成:

void SomeJob(string userId) {
    using (TransactionScope tx = 
           new TransactionScope(TransactionScopeOption.Suppress))
    {
        using (AfaDataContext db = DataHelper.GetAfaDataContext())
        {
            User user = db.Users.Where(u => u.UserId == userId);
            ...囉哩叭嗦...
            ...胡搞瞎搞...
         }
     }
}

手工修改時,步驟是:

  1. 先Copy & Paste using TransactionScope及using AfaDataContext的上半段在AfaUser那一列上方
  2. 找到胡搞瞎搞的最下方,補上兩個"}"
  3. 修改資料存取程式

其中 1) 跟 2) 用屁眼看都知道是不需用腦的機械化動作(謎之聲: 你的菊花會看東西哦? 我剛才偷放了本Objective-C教材在你屁股下,等下向我報告讀書心得。黑暗: 哇靠! 難怪肛肛一陣反胃... XD),懶惰如我,千方百計求偷雞是一定要的。

方法很簡單,我們可以自訂一個SurroundsWith Code Snippet,撰寫一個如下的AfaDataContextWoTrans.snippet檔案:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Using AfaDataContext without transaction</Title>
      <Shortcut>
      </Shortcut>
      <Description>Wrap with using supressed TransactionScope and and using AfaDataContext</Description>
      <Author>Jeffrey Lee</Author>
      <SnippetTypes>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp"><![CDATA[            using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Suppress))
            {
                using (AfaDataContext db = DataHelper.GetAfaDataContext())
                {
                    $selected$
                }
            }]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

開啟VS2008的【Tools選單/Code Snippets Manager】(或按Ctrl-K, Ctrl-B),加入該檔案所屬路徑,接著就可以輕輕鬆鬆寫Code囉~~~

且慢,那個複雜的XML要自己用Notepad慢慢敲會不會太累了? 懶當然就要懶到最高點,介紹好工具一枚---Snippy!

在輸入方格填入相關資訊,就可以得到.snippet檔案,很方便吧!

[2010-04-08補充]網友星寂提供了另一套Code Snippet編輯工具--SnippetEditor,並附有圖文並茂的解說,一併提供大家參考!

【延伸閱讀】

歡迎推文分享:
Published 08 April 2010 08:04 AM 由 Jeffrey
Filed under: ,
Views: 16,093



意見

# 星寂 said on 08 April, 2010 03:32 AM

我都用另外一套0.0

www.dotblogs.com.tw/.../12837.aspx

# Jeffrey said on 08 April, 2010 05:23 AM

to 星寂,謝謝分享,我將SnippetEditor的資訊補充在文後了。

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<April 2010>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication