surround-with コードスニペット

VisualStudioの機能はどこまでもどこまでも豊富なんですが、今日はじめて「surround-withコードスニペット」に気付いた!
こういう機能って知ってる人は当然と思っているから話題にならないけど、人の作業を見てて「あれ?今何やったの?」ってきっかけで知ることって、ありますね。surround-withコードスニペットは、たぶんそういう機能。
cwみたいなショートカットで打ち込むスニペットと違って、もう書いてしまったコードを選択して、それを#regionで囲う、みたいなことができます。
操作は、コードを選択してCtrl-k, sの順で打ち込むと選択肢が出てきて選べばOK。forみたいなショートカットのスニペットより操作感がいまいちだけど、なかなか便利!

ほかにもいくつか操作方法があるので、お好きなものをどうぞ。
http://msdn2.microsoft.com/ja-jp/library/6hf704tz(VS.80).aspx

ついでに、はじめて作った自作コードスニペットを一つ。ショートカット「dw」で「System.Diagnostics.Debug.WriteLine( );」を挿入します。
以下のファイルを「dw.snippet」の名前で My Documents の下の「Visual Studio 2005\Code Snippets\Visual C#\My Code Snippets」フォルダに置くだけ。VisualStudioの再起動も要りません。このフォルダはデフォルト位置ですが、変更してなければすでにフォルダはあります。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>DebugWrite</Title>
      <Shortcut>dw</Shortcut>
      <Description>Debug.WriteLine コードスニペット</Description>
      <Author>SioKoshou</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="CSharp" Kind="method body">
        <![CDATA[System.Diagnostics.Debug.WriteLine( $selected$$end$ );]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Ctrl-k,Ctrl-s でも Ctrl-k, s でもどちらでもいけるあたりがんばってるね。でも、すぐ忘れそう(・ω・) 忘れたら右クリックで…