Visual Studio SDK に含まれる項目テンプレートを使用して、分類子、装飾、余白をエディターに追加する基本的なエディター拡張機能を作成できます。 エディター項目テンプレートは、Visual C# または Visual Basic VSIX プロジェクトで使用できます。
[前提条件]
- Visual Studio 拡張機能開発ワークロードがインストールされている Visual Studio 。
分類子拡張機能を作成する
エディター分類子項目テンプレートは、任意のテキスト ファイル内の適切なテキスト (この場合はすべて) を色付けするエディター分類子を作成します。
VSIX プロジェクト テンプレートを使用して新しいプロジェクトを作成します。
TestClassifierと名付けてください。ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[追加>新しい項目] を選択します。 コンパクト ウィンドウが表示されたら、[ すべてのテンプレートを表示] をクリックします。 Visual C# 拡張機能 ノードに移動し、[ エディター分類子] を選択します。 既定のファイル名 (EditorClassifier1.cs) のままにします。
次の 4 つのコード ファイルがあります。
EditorClassifier1.cs には、
EditorClassifier1クラスが含まれています。EditorClassifier1ClassificationDefinition.cs には、
EditorClassifier1ClassificationDefinitionクラスが含まれています。EditorClassifier1Format.cs には、
EditorClassifier1Formatクラスが含まれています。EditorClassifier1Provider.cs には、
EditorClassifier1Providerクラスが含まれています。
プロジェクトをビルドし、デバッグを開始します。 Visual Studio の実験用インスタンスが表示されます。
テキストファイルを開くと、すべてのテキストに背景が紫色になり、下線が引かれます。
テキスト相対表示要素拡張機能を作成する
エディターテキスト装飾テンプレートは、赤い輪郭と青い背景を持つボックスを使用して、テキスト文字 'a' のすべてのインスタンスを装飾するテキスト相対装飾を作成します。 移動または再フォーマットされた場合でも、ボックスは常に 'a' 文字をオーバーレイするため、テキスト相対です。
VSIX プロジェクト テンプレートを使用して新しいプロジェクトを作成します。
TestAdornmentと名付けてください。ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[追加>新しい項目] を選択します。 Visual C# 機能拡張 ノードに移動し、[ エディター テキスト装飾] を選択します。 既定のファイル名 (TextAdornment1.cs/vb) のままにします。
次の 2 つのコード ファイルがあります。
TextAdornment1.cs には、
TextAdornment1クラスが含まれています。TextAdornment1TextViewCreationListener.cs には、
TextAdornment1TextViewCreationListenerクラスが含まれています。
プロジェクトをビルドし、デバッグを開始します。 実験用インスタンスが表示されます。 テキスト ファイルを開くと、テキスト内のすべての "a" 文字が青色の背景に対して赤で囲まれます。
ビューポート相対の装飾拡張機能を作成する
エディター ビューポート装飾テンプレートは、ビューポートの右上隅に赤いアウトラインを持つ紫色のボックスを追加するビューポート相対装飾を作成します。
注
ビューポートは、現在表示されているテキスト ビューの領域です。
エディター ビューポート装飾テンプレートを使用してビューポート表示要素拡張機能を作成するには
VSIX プロジェクト テンプレートを使用して新しいプロジェクトを作成します。
ViewportAdornmentと名付けてください。ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[追加>新しい項目] を選択します。 Visual C# 機能拡張 ノードに移動し、[ エディター ビューポート装飾] を選択します。 既定のファイル名 (ViewportAdornment1.cs/vb) のままにします。
次の 2 つのコード ファイルがあります。
ViewportAdornment1.cs には、
ViewportAdornment1クラスが含まれています。ViewportAdornment1TextViewCreationListener.cs ファイルには
ViewportAdornment1TextViewCreationListenerクラスが含まれています。
プロジェクトをビルドし、デバッグを開始します。 実験用インスタンスが表示されます。 新しいテキスト ファイルを作成すると、ビューポートの右上隅に赤いアウトラインのバイオレット ボックスが表示されます。
余白の拡張子を作成する
エディター余白テンプレートは、水平スクロール バーの下に *Hello world! という単語と共に表示される緑色の余白を作成します。
エディター余白テンプレートを使用して余白拡張機能を作成するには
VSIX プロジェクト テンプレートを使用して新しいプロジェクトを作成します。
MarginExtensionと名付けてください。ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[追加>新しい項目] を選択します。 Visual C# 拡張機能 ノードに移動し、[ エディターの余白] を選択します。 既定のファイル名 (EditorMargin1.cs/vb) のままにします。
次の 2 つのコード ファイルがあります。
EditorMargin1.cs には、
EditorMargin1クラスが含まれています。EditorMargin1Factory.cs には、
EditorMargin1Factoryクラスが含まれています。
このプロジェクトをビルドし、デバッグを開始します。 実験用インスタンスが表示されます。 テキスト ファイルを開くと、水平スクロール バーの下に 、Hello EditorMargin1 という単語を含む緑色の余白が表示されます。