ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

CodeSnippetsを使ってみよう

いつもの決まり文句をいちいち打つのは面倒、そこで決まっているコードを既に設定されている様式で作ってくれる道具がVisual Studioには存在する。

確かにVS2005から存在していたと思っている。

デフォールトのCodeSnippetsが下記のフォルダーに設定されている。

C:\{プログラムフォルダ}\Microsoft Visual Studio {ヴァージョン}\{言語}#\Snippets\{ローケル}

{プログラムフォルダ}=Program Filesフォルダー
{ヴァージョン}=8.0や9.0など
{言語}=VB,VC#等
{ローケル}=1033,1041等

各ユーザー別のCodeSnippetsは下記のフォルダーから優先で参照される

C:\Documents and Settings\{ユーザー名}\My Documents\Visual Studio 2008\Code Snippets\Visual C#\My Code Snippets

※ユーザー別に各VSのバージョン名の下、Code Snippetsの言語別に設定されている。
  1. 基本My Code Snippetsフォルダーにはファイルがない故にデフォールトのCodeSnippetsしか表示されない
  2. My Code Snippetsフォルダーに拡張子「.snippet」のファイルを追加する事によって、使うことが可能になる。

Snippetの新規追加・編集

基本My Code Snippetsフォルダーの下に拡張子「snippet」でファイルを追加する事で使用可能になる。
my.snippet

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>my snippet</Title>
            <Shortcut>using</Shortcut>
            <Description>Code snippet for using statement</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>resource</ID>
                    <ToolTip>Resource to use</ToolTip>
                    <Default>DataTable dt = new DataTable()</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[
            using($resource$)
    {
        if (dt.Rows.Count > 0)
        {
        }
    }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
  1. ソースは[CDATA[]の中の内容が設定される。
  2. CDATA[]の中に$resource$を設定した部分はresourceで置換される。内容は

ショートカット

Snippetsのに設定された文字で素早く選択できるようになっている。
下記のショートカットの後、の文字列を打つことで選択される。
Ctrl+K,X (Ctrlを押したままKとXを順に選択) :全Snippet挿入メニューを表示
Ctrl+K,S (Ctrlを押したままKとSを順に選択) :句文Snippet挿入メニューを表示