方法 : 新規スニペットを置換で作成する
更新 : 2007 年 11 月
コード スニペットを挿入したユーザーごとに、そのコード スニペットの一部を置換することもできます。これは、特定の変数やオブジェクトを参照し、ユーザーには自分のプロジェクトで使用している変数やオブジェクトを置換できるようにする場合に便利です。IntelliSense コード スニペットでは、Literal 要素および Object 要素によって、この機能を実現しています。
コード スニペットを挿入したら、置換するオブジェクトをクリックし、次に Ctrl キーを押しながら Space キーを押すと、コード内で置換可能なすべてのオブジェクトにアクセスできます。
リテラル置換の作成
Literal 要素は、コード スニペットの中で置き換えて使用できる部分を識別する目的で使用されます。たとえば、リテラルな文字列、数値、一部の変数名などが、リテラルとして宣言されます。
この手順では、「方法 : 基本的なコード スニペットの作成」で説明される手順に従っていることが前提です。
リテラル置換を作成するには
コード スニペットの Snippet 要素を見つけます。
Snippet 要素の子として Declarations 要素を追加します。Declarations 要素は、置換宣言をグループ化するために使用されます。
Declarations 要素の子として Literal 要素を追加します。Literal 要素は、個別のリテラルを指定します。コード スニペットでは、複数のリテラル置換を使用できます。
Literal 要素の子として ID 要素を追加します。この要素のテキスト値は、Code 要素内のリテラルを参照するための名前を指定します。
Literal 要素の子として Default 要素を追加します。Default 要素のテキスト値は、コード スニペットを挿入するときのリテラルの既定値を指定します。
オブジェクト置換の作成
Object 要素は、コード スニペット自体には定義されておらず、外部で定義する必要のある項目を指定するときに使用します。たとえば、Windows フォーム コントロール、ASP.NET コントロール、オブジェクトのインスタンス、型のインスタンスなどをオブジェクトとして宣言します。オブジェクト宣言では、型を指定する必要があります。
この手順では、「方法 : 基本的なコード スニペットの作成」で説明される手順に従っていることが前提です。
オブジェクト置換を作成するには
コード スニペットの Snippet 要素を見つけます。
Snippet 要素の子として Declarations 要素を追加します。Declarations 要素は、置換宣言をグループ化するために使用されます。
Declarations 要素の子として Object 要素を追加します。Object 要素は、個別のオブジェクトを指定します。コード スニペットでは、複数のオブジェクト置換を使用できます。
Object 要素の子として ID 要素を追加します。この要素のテキスト値は、Code 要素内のオブジェクトを参照するための名前を指定します。
Object 要素の子として Type 要素を追加します。Default 要素のテキスト値は、オブジェクトの型を指定します。
Object 要素の子として Default 要素を追加します。Default 要素のテキスト値は、コード スニペットを挿入するときのオブジェクトの既定値を指定します。
置換の参照
リテラルおよびオブジェクトを作成したら、コード スニペットで挿入されるコードでそれらを使用するための方法が必要です。Declarations 要素で宣言したリテラルやオブジェクトを参照するには、リテラルやオブジェクトの ID 要素の値の前後に $ 記号を付けます。
Code 要素でリテラルやオブジェクトを参照するには
- リテラルやオブジェクトの ID 要素値の前後に $ 記号を付けます。たとえば、ID 要素の値が MyID のリテラルの場合、Code 要素でそのリテラルを参照するには $MyID$ を使用します。
使用例
Literal 要素と Object 要素の両方を使用するコード スニペットを次のコード例に示します。SqlConnString リテラルは、Code 要素で $SqlConnString$ を使用して参照され、SqlConnection オブジェクトは $SqlConnection$ を使用して参照されます。
<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/CodeSnippet">
<CodeSnippet>
<Header>
<!-- Add Header information here -->
</Header>
<Snippet>
<!-- Add additional Snippet information here -->
<Declarations>
<Literal>
<ID>SqlConnString</ID>
<ToolTip>Replace with a SQL connection string.</ToolTip>
<Default>"SQL connection string"</Default>
</Literal>
<Object>
<ID>SqlConnection</ID>
<Type>System.Data.SqlClient.SqlConnection</Type>
<ToolTip>Replace with a connection object in your application.</ToolTip>
<Default>dcConnection</Default>
</Object>
</Declarations>
<Code Language="CSharp">
<![CDATA[
daCustomers = new SqlClient.SqlDataAdapter();
selectCommand = new SqlClient.SqlCommand($SqlConnString$);
daCustomers.SelectCommand = selectCommand;
daCustomers.SelectCommand.Connection = $SqlConnection$;
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
参照
処理手順
参照
Declarations 要素 (IntelliSense コード スニペット)
Object 要素 (IntelliSense コード スニペット)
Literal 要素 (IntelliSense コード スニペット)
ID 要素 (IntelliSense コード スニペット)
Type 要素 (IntelliSense コード スニペット)
ToolTip 要素 (IntelliSense コード スニペット)