エディター項目テンプレートを使用して拡張機能を作成する

Visual Studio SDK に含まれている項目テンプレートを使用すると、分類子、表示要素、余白をエディターに追加する基本的なエディター拡張機能を作成できます。 エディター項目テンプレートは、Visual C# または Visual Basic の VSIX プロジェクトで使用できます。

分類子の拡張機能を作成する

エディター分類子項目テンプレートでは、任意のテキスト ファイル内の適切なテキスト (この場合はすべて) に色付けするエディター分類子が作成されます。

  1. [新しいプロジェクト] ダイアログ ボックスで、[Visual C#] または [Visual Basic] を展開し、[拡張性] をクリックします。 [テンプレート] ペインで、[VSIX プロジェクト] を選択します。 [名前] ボックスに「TestClassifier」と入力します。 OK をクリックします。

  2. ソリューション エクスプローラーで、プロジェクト ノードを右クリックして、[追加]>[新しい項目] の順に選択します。 Visual C# の [拡張性] ノードに移動して、[エディター分類子] を選択します。 既定のファイル名 (EditorClassifier1.cs) をそのまま使用します。

  3. 次の 4 つのコード ファイルがあります。

    • EditorClassifier1.cs には EditorClassifier1 クラスが含まれています。

    • EditorClassifier1ClassificationDefinition.cs には EditorClassifier1ClassificationDefinition クラスが含まれています。

    • EditorClassifier1Format.cs には EditorClassifier1Format クラスが含まれています。

    • EditorClassifier1Provider.cs には EditorClassifier1Provider クラスが含まれています。

  4. プロジェクトをビルドし、デバッグを開始します。 Visual Studio の実験用インスタンスが表示されます。

    テキスト ファイルを開くと、すべてのテキストが下線付きになり、背景が紫色で表示されます。

テキスト相対表示要素の拡張機能を作成する

エディター テキスト表示要素テンプレートでは、赤色の枠線と青色の背景を持つボックスを使用して、テキスト文字 "a" のすべてのインスタンスを装飾するテキスト相対表示要素が作成されます。 テキスト相対と呼ぶのは、ボックスが移動または再度書式設定されても常に ' a ' という文字がオーバーレイされるためです。

  1. [新しいプロジェクト] ダイアログ ボックスで、[Visual C#] または [Visual Basic] を展開し、[拡張性] をクリックします。 [テンプレート] ペインで、[VSIX プロジェクト] を選択します。 [名前] ボックスに「TestAdornment」と入力します。 OK をクリックします。

  2. ソリューション エクスプローラーで、プロジェクト ノードを右クリックして、[追加]>[新しい項目] の順に選択します。 Visual C# の [拡張性] ノードに移動して、[エディター テキスト表示要素] を選択します。 既定のファイル名 (TextAdornment1.cs/vb) をそのまま使用します。

  3. 次の 2 つのコード ファイルがあります。

    • TextAdornment1.cs には TextAdornment1 クラスが含まれています。

    • TextAdornment1TextViewCreationListener.cs には TextAdornment1TextViewCreationListener クラスが含まれています。

  4. プロジェクトをビルドし、デバッグを開始します。 実験用インスタンスが表示されます。 テキスト ファイルを開くと、テキスト内のすべての ' a ' という文字が赤色の枠線で囲まれ、背景が青色で表示されます。

ビューポート相対表示要素の拡張機能を作成する

エディター ビューポート表示要素テンプレートでは、ビューポート相対表示要素が作成されます。これにより、ビューポートの右上隅に赤色の枠線を持つ紫色のボックスが追加されます。

Note

ビューポートは、現在表示されているテキスト ビューの領域です。

エディター ビューポート表示要素テンプレートを使用して、ビューポート表示要素の拡張機能を作成するには

  1. [新しいプロジェクト] ダイアログ ボックスで、[Visual C#] または [Visual Basic] を展開し、[拡張性] をクリックします。 [テンプレート] ペインで、[VSIX プロジェクト] を選択します。 [名前] ボックスに「ViewportAdornment」と入力します。 OK をクリックします。

  2. ソリューション エクスプローラーで、プロジェクト ノードを右クリックして、[追加]>[新しい項目] の順に選択します。 Visual C# の [拡張性] ノードに移動して、[エディター ビューポート表示要素] を選択します。 既定のファイル名 (ViewportAdornment1.cs/vb) をそのまま使用します。

  3. 次の 2 つのコード ファイルがあります。

    • ViewportAdornment1.cs には ViewportAdornment1 クラスが含まれています。

    • ViewportAdornment1TextViewCreationListener.cs には ViewportAdornment1TextViewCreationListener クラスが含まれています

  4. プロジェクトをビルドし、デバッグを開始します。 実験用インスタンスが表示されます。 新しいテキスト ファイルを作成すると、ビューポートの右上隅に、赤色の枠線を持つ紫色のボックスが表示されます。

余白の拡張機能を作成する

エディター余白テンプレートでは、「*Hello world!」という単語と共に表示される緑の余白が水平スクロール バーの下に作成されます。

エディター余白テンプレートを使用して、余白の拡張機能を作成するには

  1. [新しいプロジェクト] ダイアログ ボックスで、[Visual C#] または [Visual Basic] を展開し、[拡張性] をクリックします。 [テンプレート] ペインで、[VSIX プロジェクト] を選択します。 [名前] ボックスに「MarginExtension」と入力します。 OK をクリックします。

  2. ソリューション エクスプローラーで、プロジェクト ノードを右クリックして、[追加]>[新しい項目] の順に選択します。 Visual C# の [拡張性] ノードに移動して、[エディター余白] を選択します。 既定のファイル名 (EditorMargin1.cs/vb) をそのまま使用します。

  3. 次の 2 つのコード ファイルがあります。

    • EditorMargin1.cs には EditorMargin1 クラスが含まれています。

    • EditorMargin1Factory.cs には EditorMargin1Factory クラスが含まれています。

  4. このプロジェクトをビルドし、デバッグを開始します。 実験用インスタンスが表示されます。 テキスト ファイルを開くと、水平スクロール バーの下に「Hello EditorMargin1」という単語がある緑の余白が表示されます。