エディターと言語サービスを拡張する

言語サービス機能 (IntelliSense) などを独自のエディターに追加し、Visual Studio コード エディターのほとんどの機能を拡張することができます。 拡張できるものの完全な一覧については、「言語サービスとエディターの拡張ポイント」を参照してください。

ほとんどのエディター機能は、Managed Extensibility Framework (MEF) を使用して拡張します。 たとえば、拡張するエディター機能が構文の色分け表示である場合は、異なる色分け表示を必要とする分類とその処理方法を定義する MEF コンポーネント パーツを記述できます。 エディターでは、同じ機能の複数の拡張機能もサポートされています。

エディターのプレゼンテーション レイヤーは、Windows Presentation Framework (WPF) に基づいています。 WPF には柔軟なテキスト書式設定用のグラフィックス ライブラリが用意されています。また、グラフィックスやアニメーションなどの視覚エフェクトも用意されています。

Visual Studio SDK には、以前のバージョン用に記述された VSPackage をサポートするために shim と呼ばれるアダプターが用意されています。 ただし、既存の VSPackage がある場合は、パフォーマンスと信頼性を向上させるために、新しいテクノロジに更新することをお勧めします。

Title 説明
言語サービスとエディターの拡張機能の概要 エディターの拡張機能を作成する方法について説明します。
エディターの内部 エディターの一般的な構造について説明し、その機能の一部を示します。
エディター内の Managed Extensibility Framework エディターで Managed Extensibility Framework (MEF) を使用する方法について説明します。
言語サービスとエディターの拡張ポイント エディターの拡張ポイントを一覧表示します。 拡張ポイントは、拡張可能なエディター機能のことです。
チュートリアル: ビューの表示要素、コマンド、設定の作成 (垂直グリッド ガイド) コードを特定の表示幅に維持できるように、垂直グリッド ガイド線を描画するビューの表示要素の構築についてのチュートリアルと説明です。 また、設定の読み取りと書き込みに加え、コマンド ウィンドウから呼び出すことができるコマンドの宣言と実装についても説明します。
エディターのインポート 拡張機能がインポートできるサービスを一覧表示します。
レガシ コードをエディターに適合させる エディターを拡張するためにレガシ コード (Visual Studio 2010 より前) を適合させるためのさまざまな方法について説明します。
従来の言語サービスの移行 VSPackage ベースの言語サービスを移行する方法について説明します。
チュートリアル: コンテンツ タイプとファイル名拡張子とをリンクさせる コンテンツ タイプとファイル名拡張子とをリンクさせる方法について説明します。
チュートリアル: 余白のグリフを作成する 余白にアイコンを追加する方法について説明します。
チュートリアル: テキストの強調表示 タグを使用してテキストを強調表示する方法について説明します。
チュートリアル: アウトラインの追加 特定の種類のかっこにアウトラインを追加する方法について説明します。
チュートリアル: 対応するかっこを表示する 対応する中かっこを強調表示する方法について説明します。
チュートリアル: QuickInfo ツールヒントの表示 プロパティ、メソッド、イベントなどのコード要素を記述する QuickInfo ポップアップを表示する方法について説明します。
チュートリアル: シグネチャ ヘルプの表示 シグネチャのパラメーターの数と型に関する情報を提供するポップアップを表示する方法について説明します。
チュートリアル: 入力候補の表示 ステートメント入力候補を実装する方法について説明します。
チュートリアル: コード スニペットの実装 コード スニペットの拡張を実装する方法について説明します。
チュートリアル: 電球アイコンによる提案の表示 コード候補に電球アイコンを表示する方法について説明します。
チュートリアル: エディター拡張機能でシェル コマンドを使用する VSPackage のメニュー コマンドを MEF コンポーネントに関連付ける方法について説明します。
チュートリアル: エディター拡張機能でショートカット キーを使用する VSPackage のメニュー ショートカットを MEF コンポーネントに関連付ける方法について説明します。
MEF (Managed Extensibility Framework) Managed Extensibility Framework (MEF) に関する情報を提供します。
Windows Presentation Foundation Windows Presentation Foundation (WPF) に関する情報を提供します。

リファレンス

Visual Studio エディターには、次の名前空間が含まれています。

Microsoft.VisualStudio.Language.Intellisense

Microsoft.VisualStudio.Language.StandardClassification

Microsoft.VisualStudio.Editor

Microsoft.VisualStudio.Text

Microsoft.VisualStudio.Text.Adornments

Microsoft.VisualStudio.Text.Classification

Microsoft.VisualStudio.Text.Differencing

Microsoft.VisualStudio.Text.Document

Microsoft.VisualStudio.Text.Editor

Microsoft.VisualStudio.Text.Editor.OptionsExtensionMethods

Microsoft.VisualStudio.Text.Formatting

Microsoft.VisualStudio.Text.IncrementalSearch

Microsoft.VisualStudio.Text.Operations

Microsoft.VisualStudio.Text.Outlining

Microsoft.VisualStudio.Text.Projection

Microsoft.VisualStudio.Text.Tagging

Microsoft.VisualStudio.Utilities