こんにちは、こだかです。
このブログは、TechEdセッション終了後に書いています。今回は人気のあるセッションの裏セッションにもかかわらず、多くの方に参加して頂いて本当に感謝しています。
そのセッションの出来ですが、前日ホテルの自分の部屋で行ったエアセッション(つまり練習ですね・・・)では、10分オーバーだった事もあり、前半かなりのハイペースで話を行いました。そして気がつくと、予定よりなぜか10分ほど速いペースになっています。(目前にカウントダウンされるタイマーが置いてあります)何故??と半ばパニックになりつつも、逆にチャンスとばかり、予定になかったLINQやExtentionMethodなども話をしてしまいました。なかなか練習通りには行かない物ですね。
さて今回のデモンストレーションは時間の都合もあり、すべてコードスニペットを事前に作成しておき、それをコーディングでは使用いたしました。セッション終了後に質問がでましたので、参考までに、私が今回作成したスニペットの一部をご覧下さい。
<?xml version="1.0" encoding="utf-8"?><CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Demo2_WordContent1</Title> <Shortcut>D2_W1_P</Shortcut> </Header> <Snippet> <Code Language="CSharp"> <![CDATA[ Globals.ThisDocument.categoriesBindingSource.MovePrevious(); ]]> </Code> </Snippet> </CodeSnippet> <CodeSnippet Format="1.0.0"> <Header> <Title>Demo2_WordContent2</Title> <Shortcut>D2_W2_N</Shortcut> </Header> <Snippet> <Code Language="CSharp"> <![CDATA[ Globals.ThisDocument.categoriesBindingSource.MoveNext(); ]]> </Code> </Snippet> </CodeSnippet> <CodeSnippet Format="1.0.0"> <Header> <Title>Demo2_WordContent3</Title> <Shortcut>D2_W3_doc</Shortcut> </Header> <Snippet> <Code Language="CSharp"> <![CDATA[ UserControl1 myControl = new UserControl1(); this.ActionsPane.Controls.Add(myControl); ]]> </Code> </Snippet> </CodeSnippet></CodeSnippets>
これは、Wordコンテンツコントロールを作成したときに用いたスニペットです。これをファイル名としてDemo2Snippets.snippetとしました。(拡張子以外は適当で構いません)そして、適当なフォルダをコードスニペット置き場として、Visual Studio のスニペットマネージャーに登録します。後は、Shortcutの一部をコードに記述すると、スニペットが追加されます。
XMLファイルの作成は面倒と感じる方にはツールもあるようです。http://www.gotdotnet.com/codegallery/codegallery.aspx?id=b0813ae7-466a-43c2-b2ad-f87e4ee6bc39(ちなみに私は特にツールは使わない人です。)
スニペットは以前からある機能ですが、なかなか通常使用できない事もあると思います。良く使う構文や、私と同じくプレゼンテーション用の記述など、工夫次第で使用の幅が広がって行くタイプの機能です。ぜひご使用頂ければと思います。
こだかたろう