環境
- Visual Studio 2019
ソースコードを編集していると、何度も同じことを書くのは面倒くさいので、別のソースコードからコピペするという事が時々発生する。 Visual Studio では、 Code Snippet (コードスニペット)が用意されていて、コードスニペットを使えば面倒くさい作業を簡略化出来る。
例えば、下記のようなパブリックコンストラクターを用意する時、
public コンストラクター()
{
}
- 「public」を書く。
- コンストラクターはクラス名と同じなので、クラス名を手書き(またはクラス名をコピペ)。
- 残りのカッコを書く。
の順番で手書きするところを、コンストラクター用のコードスニペット ctor
を使えば、
ctor
と入力する。- Tab キーを2回押す。
という、手書きの時の「クラス名を手書き(またはクラス名をコピペ)」を含めて自動的にやってくれる。
コードスニペットマネージャーで ctor
の定義を確認すると、ショートカットは ctor
、 Visual Studio のインストール先に ctor.snippet
というファイル名で存在する事が分かる。他のスニペットもファイルを開いてみれば、参考になると思う。
自分で作ってみる
作成する時は、 チュートリアル: コード スニペットを作成する を確認しながら作成し、 https://github.com/nakamurakko/MyCodeSnippets にいくつか登録した。
WPF デザイン時に使用する xmlns を追加するコードスニペット
試しに作ったのは、WPF で Window クラスの XAML に、下記の xmlns を一式追加するコードスニペット。下記スニペットは GitHub (https://github.com/nakamurakko/MyCodeSnippets/blob/master/WpfDesignTimeXmlns.snippet) に登録している。
<?xml version="1.0" encoding="utf-8"?> <CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <Header> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> <Title>WPFデザイン時用xmlns</Title> <Description>WPFのViewデザイン時に使用する、Windowのxmlnsを追加する。</Description> <Shortcut>dxmlns</Shortcut> </Header> <Snippet> <Declarations> <Literal Editable="true"> <ID>ViewModelNamespace</ID> <ToolTip>ViewModel Namespace</ToolTip> <Default>App1.ViewModels</Default> <Function> </Function> </Literal> <Literal Editable="true"> <ID>ViewModel</ID> <ToolTip>ViewModel</ToolTip> <Default>MainWindowViewModel</Default> <Function> </Function> </Literal> </Declarations> <Code Language="XAML"><![CDATA[xmlns:viewModels="clr-namespace:$ViewModelNamespace$" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DataContext="{d:DesignInstance viewModels:$ViewModel$}"]]></Code> </Snippet> </CodeSnippet>
Windows クラスを新規作成後、下記の4つをまとめて追加するために使用する。
- 使用する ViewModel クラスの名前空間
- 設計時に使用する名前空間 (その他の XAML 名前空間)
- mc XML 名前空間プレフィックス
- mc:Ignorable="d" (mc:Ignorable 属性)
- デザイン時用 DataContext
作成したコードスニペットを Visual Studio に登録したら、XAML を開き dxmlns
と入力する。
Tab キーを2回押すと、5行追加される。
1つ目の入力項目、 ViewModel の名前空間を入力する。
2つ目の入力項目、 デバッグ用 DataContext の ViewModel のクラス名を入力する。
ビルドしてエラーが無ければ完了。
うまく利用して楽しましょう。