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の言語別に設定されている。
- 基本My Code Snippetsフォルダーにはファイルがない故にデフォールトのCodeSnippetsしか表示されない
- 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>
- ソースは[CDATA[]の中の内容が設定される。
- CDATA[]の中に$resource$を設定した部分は
の resource で置換される。内容は
ショートカット
Snippetsの
下記のショートカットの後、
Ctrl+K,X (Ctrlを押したままKとXを順に選択) :全Snippet挿入メニューを表示
Ctrl+K,S (Ctrlを押したままKとSを順に選択) :句文Snippet挿入メニューを表示