Visual Studio で拡張機能の開発を開始する
Visual Studio 拡張機能を作成したことがない場合は、おそらくいくつかの質問があります。 ここでは、最も一般的なものを一覧表示しました。 探している情報が表示されない場合は、このページの右上にあるフィードバック ボタンを使用して、必要なものを確認してください。
手記
この記事は、Windows 上の Visual Studio に適用されます。 Visual Studio Code については、Visual Studio Code 拡張機能 API を参照してください。
Visual Studio 拡張機能を開発するには、どのようなソフトウェアが必要ですか?
Visual Studio 拡張機能を開発するには、Visual Studio に加えて Visual Studio SDK をインストールする必要があります。 Visual Studio SDK は、通常のセットアップの一部としてインストールすることも、後でインストールすることもできます。 Visual Studio SDK のインストールの詳細については、「Visual Studio SDKをインストールする」を参照してください。
Visual Studio 拡張機能でできること
異なる Visual Studio 拡張機能を想像する場合の上限は空です。 もちろん、ほとんどの拡張機能はコードの記述と関係がありますが、そうである必要はありません。 ビルドできる拡張機能の種類の例をいくつか次に示します。
構文の色分け、IntelliSense、コンパイラとデバッグのサポートを使用して、Visual Studio に含まれていない言語のサポート。
より多くのテンプレート、コード リファクタリング、新しいダイアログまたはツール ウィンドウを使用して、コア IDE エクスペリエンスを拡張する生産性ツール。
データ設計やクラウド サポートなどのシナリオのドメイン固有のデザイナー。
拡張機能の例については、Visual Studio Marketplace を参照してください。 多くの拡張機能はオープンソースであり、Marketplace には GitHub リポジトリへのリンクが含まれています。
どの Visual Studio 機能を拡張できますか?
理論的には、Visual Studio の任意の部分 (メニュー、ツール バー、コマンド、ウィンドウ、ソリューション、プロジェクト、エディターなど) を拡張できます。
実際には、ほとんどのユーザーが拡張する機能は、コマンド、メニューとツール バー、ウィンドウ、IntelliSense、およびプロジェクトであることがわかりました。 関連するセクションへのリンクを次に示します。
メニューとコマンドの拡張: Visual Studio のメニューとツール バーに独自の項目を追加します。 これらを使用して、新しい Visual Studio 機能または独自の外部ヘルパー アプリケーションを起動できます。 メニュー項目のカスタム ショートカットを指定することもできます。
ツール ウィンドウの拡張とカスタマイズ: 既存のツール ウィンドウを拡張するか、独自のツール ウィンドウを作成します。 たとえば、プロパティに新しいプロパティを追加したり、新しいツール ウィンドウを作成して機能を追加したりできます。
エディターと言語サービス拡張機能の: Visual Studio 言語用に提供される IntelliSense に独自のカスタマイズを追加するか、新しいプログラミング言語のサポートを作成します。 新しいステートメント入力候補、推奨事項、および新しい QuickInfo ツールヒントを作成できます。 電球を使用すると、リファクタリングの提案とコード修正を追加して、新しいプログラミング言語をサポートできます。
Visual Studio の他の部分の拡張
VSSDK によって提供されるプロジェクト テンプレートは何ですか?
拡張機能の主な 2 つの種類は、VSPackage と MEF 拡張機能です。 一般に、VSPackage 拡張機能は、コマンド、ツール ウィンドウ、およびプロジェクトを使用または拡張する拡張機能に使用されます。 MEF 拡張機能は、Visual Studio エディターを拡張またはカスタマイズするために使用されます。
Visual C# および Visual Basic 拡張機能の場合、VSSDK には、メニュー コマンド、ツール ウィンドウ、エディター拡張機能を作成する新しい項目テンプレートと共に使用できる空の VSIX プロジェクト テンプレートが用意されています。 このテンプレートを使用して、プロジェクト テンプレート、コード スニペット、およびその他の成果物をパッケージ化して、他のユーザーに配布することもできます。
C++ の場合、VSPackage ウィザードには、メニュー コマンド、ツール ウィンドウ、およびカスタム エディターを追加するコードが用意されています。
次の記事では、各種類の拡張機能の使用を開始する方法について説明します。
メニュー コマンド: メニュー コマンドを使用した拡張機能の作成
ツール ウィンドウ: ツール ウィンドウを使用した拡張機能の作成
エディター拡張機能: エディター項目テンプレートを使用した拡張機能の作成
基本的な VSPackage: VSPackage を使用した拡張機能の作成
VSIX プロジェクト テンプレート: VSIX プロジェクト テンプレートを始める
拡張機能を Visual Studio のように表示するにはどうすればよいですか?
Visual Studio ユーザー エクスペリエンス ガイドラインで拡張機能の UI を設計するための優れたヒントを紹介します。
VSSDK コードの例はどこにありますか?
前のセクションに記載されている各リンクには、特定の機能を実装する方法を示す詳細なチュートリアルがあります。 オープン ソースの VSSDK サンプルは、GitHub Visual Studio サンプルにあります。
拡張機能を配布するにはどうすればよいですか?
拡張機能を別のコンピューターにインストールするか、それをダブルクリックしてインストール .vsix ファイルとして友人に送信できます。 VSIX パッケージの詳細については、「Shipping Visual Studio Extensions」を参照してください。
Visual Studio Marketplace で拡張機能を発行することもできます。これにより、多数の Visual Studio ユーザーに表示されます。 拡張機能を Marketplace にパッケージ化する例については、「チュートリアル: Visual Studio 拡張機能の発行」を参照してください。 Marketplace に公開するために必要な操作の詳細については、「Visual Studio の製品と拡張機能」を参照してください。