C# Prism Template Pack コードスニペット(Visual Studio Code)

C# Prism Template Pack向けのVisual Studio Codeスニペットです。

技術公開日 読了目安 1 分

Visual Studio Codeでカスタムコードスニペットを登録する

以下の手順で、コードスニペットファイルを作成できます。

  1. コードエディタの上部メニューからファイル > ユーザー設定 > ユーザースニペットを選択します。

  2. スニペットはJSON形式で記述します。

コードスニペット

propp

更新通知が必要なプロパティを定義します。

  "Create Bindable Property": {
    "scope": "csharp",
    "prefix": "propp",
    "body": [
      "private ${1:Type} _${3:${2/(.*)/${1:/camelcase}/}};",
      "public ${1:Type} ${2:Name}",
      "{",
      "   get { return _$3; }",
      "   set { SetProperty(ref _$3, value); }",
      ,
      "}"
    ],
    "description": "Create a property, with a backing field, that depends on BindableBase."
  }

${3:...}について

  • ${2/(.*)/${1:/camelcase}/}:正規表現と置換パターンを組み合わせた部分です。${2:Name}の値をもとにバッキングフィールドの名前を生成します。
  • (.*):正規表現のキャプチャグループです。ユーザーが入力したプロパティ名(Name)をキャプチャします。
  • ${1:/camelcase}:キャプチャした文字列をキャメルケースに変換するための置換パターンです。${1:...}はキャプチャした値を参照し、:camelcaseでキャメルケース変換を指示します。

cmd

デリゲートコマンドです。

  "Create DelegateCommand Property": {
    "scope": "csharp",
    "prefix": "cmd",
    "body": [
      "public DelegateCommand ${1:Command} => new DelegateCommand(() =>", 
      "{", 
      "", 
      "});"
    ],
    "description": "Create a DelegateCommand property with a private setter."
  }

cmdg

パラメータ付きのデリゲートコマンドです。

  "Create Generic DelegateCommand Property": {
    "scope": "csharp",
    "prefix": "cmdg",
    "body": [
      "public DelegateCommand<${2:Param}> ${1:Command} => new DelegateCommand<${2:Param}>((p) =>",
      "{",
      "",
      "});"
    ],
    "description": "Create a generic DelegateCommand property."
  }