Visual Studio で拡張機能の開発を始める
以前に Visual Studio 拡張機能を作成したことがないユーザーからは、よく質問が寄せられます。 ここでは、最も一般的なものをいくつか紹介します。 探している情報が表示されない場合は、このページの右上にあるフィードバック ボタンを使用して、必要なものを確認してください。
Note
この記事は、Windows 上の Visual Studio に適用されます。 Visual Studio for Mac については、Visual Studio for Mac の拡張に関するページを参照してください。 Visual Studio のコードについては、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 ツールヒントを作成できます。 電球アイコンを使用すると、リファクタリング候補とコード修正を追加して、新しいプログラミング言語をサポートすることができます。
VSSDK によって提供されるプロジェクト テンプレートは何ですか?
拡張機能には、Vspackage と MEF という 2 つの主な種類があります。 一般に、VSPackage の拡張機能は、コマンド、ツール ウィンドウ、およびプロジェクトを使用したり、拡張したりする拡張機能として使用されます。 MEF 拡張機能は、Visual Studio エディターの拡張またはカスタマイズのために使用されます。
Visual C# および Visual Basic の拡張機能の場合は、空の VSIX プロジェクト テンプレートが VSSDK に用意されており、メニュー コマンド、ツール ウィンドウ、およびエディターの拡張機能を作成する新しい項目テンプレートと共に使用できます。 このテンプレートを使用して、プロジェクト テンプレート、コード スニペット、および他のユーザーに配布するためのその他の成果物をパッケージ化することもできます。
C++ の場合は、メニュー コマンド、ツール ウィンドウ、およびカスタム エディターを追加するためのコードが VSPackage ウィザードに用意されています。
分離シェル テンプレートを使用すると、Visual Studio シェルのバージョンに拡張機能をパッケージ化し、独自にブランド化して配布することができます。 次の記事では、各種類の拡張機能の使用を開始する方法について説明します。
メニュー コマンド: メニュー コマンドによる拡張機能の作成
ツール ウィンドウ: ツール ウィンドウによる拡張機能の作成
エディター拡張機能: エディター項目テンプレートによる拡張機能の作成
基本的な VSPackage: VSPackage による拡張機能の作成
VSIX プロジェクト テンプレート: VSIX プロジェクト テンプレートの概要
どうすれば、Visual Studio と同様に拡張機能が表示されますか?
「Visual Studio のユーザー エクスペリエンス ガイドライン」で、拡張機能の UI を設計するために役立つヒントをご覧ください。
VSSDK コードの例は、どこで入手できますか?
前のセクションに記載されている各リンクには、特定の機能を実装する方法を示す詳細なチュートリアルがあります。 オープン ソースの VSSDK サンプルは、Visual Studio サンプルの GitHub でも見つけることができます。
どうすれば、拡張機能を配布できますか?
拡張機能を別のコンピューターにインストールすることも、.vsix ファイルとして友人に送信することもできます。このファイルは、ダブルクリックしてインストールします。 VSIX パッケージの詳細については、「Visual Studio 拡張機能の配布」を参照してください。
Visual Studio Marketplace で拡張機能を発行することもできます。これにより、多数の Visual Studio ユーザーに表示されます。 Marketplace 向けの拡張機能のパッケージ化の例については、「チュートリアル: Visual Studio の拡張機能を公開する」を参照してください。 Marketplace で公開するために必要な作業の詳細については、Visual Studio の製品と拡張機能に関するページを参照してください。