Visual Studioでコード スニペットを使用する

コード スニペットは、コード ファイルに追加できる再利用可能なコードの小さなブロックです。 スニペットには、通常、 Try...Finally ブロックや If...Else ブロックなど、よく使用されるコンストラクトが含まれています。 スニペットを使用して、クラスまたはメソッド全体を追加することもできます。

コード スニペットには、選択に使用するタイトルがあり、挿入するショートカットを入力できます。 スニペットには、プレースホルダーとして機能する置換パラメーターを含めることもできます。 Visual Studioは、C#、C++、Visual Basicなど、多くの言語のスニペットを提供します。

前提条件

  • 使用するプログラミング言語のサポートがインストールされた Visual Studio 使用可能なスニペットは、インストールされているワークロードと言語コンポーネントによって異なります。
  • エディターで開き、適切な言語サービスによって認識されるコード ファイル。 C++ の例では、 .cpp または .h ファイルを開きます。

スニペットの種類について

Visual Studioでは、次の 2 種類のコード スニペットがサポートされています。

  • 展開スニペットは、指定した挿入位置にコードを追加します。
  • surround-with スニペットは、選択したコードの周囲にコードを追加します。 Surround-with スニペットは、C# と C++ でのみ使用できます。

使用可能なスニペットを見つける

インストールされている言語のスニペットを表示するには、[ツール]>[コード スニペット マネージャー] を選択するか、Ctrl + K、Ctrl + B キーを押します。 コード スニペット マネージャーで、[言語] ボックスの一覧から言語を選択します。

スニペットの一覧に表示されるように独自のスニペットを作成してインポートするには、「 チュートリアル: Visual Studio でコード スニペットを作成する」を参照してください。

キーボード ショートカットは、設定プロファイル、コンテキスト、キーボード レイアウト、カスタム キー バインドによって異なる場合があります。 コマンドのバインドを見つけるには、「 キーボード ショートカットの識別とカスタマイズ」を参照してください。

拡張スニペットを挿入する

拡張スニペットは、挿入ポイントにコードを挿入します。 たとえば、C# tryf スニペットでは、 try/finally ブロックが追加されます。

try
{

}
finally
{

}

メソッド、インデクサー、プロパティ アクセサー、イベント アクセサー内など、ステートメントが有効な tryf スニペットを挿入する必要があります。

  1. コード エディターで、スニペットを追加する場所にカーソルを置きます。

  2. 以下のいずれかのアクションを実行します:

    • メニュー バーで、 編集>IntelliSense>Insert スニペットを選択します。
    • 右クリックして[スニペット]>Insert スニペットを選択します。
    • Ctrl + K キー、Ctrl + X キーを押します。
  3. スニペット ピッカーで 、Visual C# フォルダーを開き、 tryf をダブルクリックします。 tryf を選択し、Tab キーまたは Enter キーを押すこともできます。

try / finally ブロックが挿入ポイントに表示され、カスタマイズする準備が整います。

ヒント

有効な挿入ポイントで、「 tryf」と入力し、 Tab キーを 2 回押してスニペット ピッカーを開かずにスニペットを展開します。

選択したコードをスニペットで囲む

囲みスニペットは、選択したコードを囲みます。 たとえば、C++ if スニペットは、選択した行 return FALSE;if ブロックでラップします。

if (true)
{
    return FALSE;
}

選択した C++ コードを囲むには:

  1. .cppまたは.h ファイルで、ラップするコードを選択します。

  2. 以下のいずれかのアクションを実行します:

    • メニュー バーで、 編集>IntelliSense>Surround With を選択します。
    • 右クリックして、[囲んで指定] を選択します。
  3. スニペット ピッカーで、if をダブルクリックするか、if を選択して Tab キーまたは Enter キーを押します。

if ブロックは、選択したコードの周囲に表示されます。 trueプレースホルダーを評価する条件に置き換えます。

その他の C++ スニペットの例については、 Visual C++ コード スニペットを参照してください。

置換フィールドを編集する

スニペットには、挿入後にカスタマイズする置換フィールドを含めることができます。 同じフィールドが複数回表示されると、1 回の出現を変更すると、リンクされたすべての出現箇所が変更されます。 Tab キーを押して、次の置換フィールドに移動します。

たとえば、Visual Basicプロパティの定義スニペットには、バッキング変数、プロパティ名、およびプロパティ型のリンクされたフィールドが含まれています。 挿入するには:

  1. Visual Basicコード ファイルで、プロパティを挿入する場所を右クリックし、[スニペット>Insert スニペット] を選択します。
  2. コード パターン>プロパティ、プロシージャ、イベント>プロパティの定義を選択します。

Visual Basic スニペット ピッカーのスクリーンショット。[プロパティ]、[プロシージャ]、[イベント] で [プロパティの定義] が選択されています。

次のコードが挿入されます。

Private newPropertyValue As String
Public Property NewProperty() As String
    Get
        Return newPropertyValue
    End Get
    Set(ByVal value As String)
        newPropertyValue = value
    End Set
End Property

newPropertyValuem_property に変更すると、newPropertyValueのすべてのリンクされたインスタンスが変更されます。 プロパティの種類を String から Integer に変更すると、 String のすべてのリンクされたインスタンスが Integerに変更されます。

コード スニペットのトラブルシューティング

スニペットまたはコマンドを使用できない場合:

  • Visual Studioがファイルを想定したプログラミング言語として認識していることを確認します。
  • 必要なワークロードまたは言語コンポーネントがインストールされていることを確認します。
  • Tools>Code Snippets Manager で、選択した言語に対してスニペットがインストールされていることを確認します。
  • キーボード ショートカットが期待どおりに動作しない場合は、[ 識別] を使用してキーボード ショートカットをカスタマイズ し、コマンドの現在のバインドを検索します。
  • 選択したスニペットに対して挿入ポイントが有効であることを確認します。 たとえば、一部の C# スニペットは、メソッドまたは型宣言内でのみ有効です。 有効な C# の挿入場所については、 C# コード スニペットを参照してください。

スニペットによって挿入されたコードを確認する

スニペット コードは、タスクを実行する基本的な方法を示しています。 アプリケーションで使用する前に、生成されたコードを確認して調整します。 コードが例外を処理し、リソースにアクセスし、入力を検証し、シークレットを保護する方法を検討します。

インターネットからダウンロードしたスニペットは、他のダウンロードしたコードと同様に扱います。 信頼できるソースからのみスニペットをダウンロードし、スニペット コードとメタデータをインポートまたは実行する前に検査します。

.NET Framework プロジェクトでは、スニペットで References 要素を使用してプロジェクト参照を追加できます。 Imports要素とReferences要素を確認し、参照されるアセンブリが信頼されていることを確認します。 詳細については、「 名前空間のインポート 」および 「コード スニペットスキーマリファレンス」を参照してください

こちらも参照ください