次の方法で共有


Visual Studio 拡張機能に関する有用なリソース

以下のリソースは、Visual Studio 機能拡張を理解するのに役立ちます。

次のビデオでは、Visual Studio 拡張機能の作成者に役立つリソースを紹介しています。

リソース

拡張機能の開発に役立つ有用なリソースを次に示します。

ヘルプの検索方法を理解する

拡張機能の記述は少し特殊なアクティビティであるため、オンラインでヘルプを検索しても、常に関連する結果が返されるとは限りません。 ただし、目的に合った結果を得るために、検索語句を最適化する方法があります。

  • 検索語句の一部として、正確なインターフェイスとクラス名を使用します。
  • 検索語句に VSIXVSSDK、または Visual Studio という単語を追加してみます。
  • 可能な場合は、Google/Bing の代わりに GitHub で直接検索します。
  • Gitter.im チャットルームで他の拡張機能作成者に質問します。

オープンソースを学習ツールとして使用する

拡張機能の実行内容とその仕組みについて、アイデアをお持ちかもしれません。 しかし、どの API を使用し、それらをどのように組み合わせたらよいでしょうか。 これは難しい質問であり、答えが得られない場合、多くのユーザーは諦めてしまいます。

適切な方法として、同様の処理を実行する拡張機能を Marketplace で見つける、または目的のものと同様の要素を使用するというものがあります。 次に、これらの拡張機能のソース コードを見つけて、拡張機能の実行内容と使用されている API を確認し、それを基に開発を行います。

書籍

Visual Studio 拡張機能モデルに関する学習をすぐに開始するには、書籍「Visual Studio Extensibility Development」(Rishabh Verma 著) を参照してください。

Visual Studio Extensibility Development book cover.

これは、学習に最適な本です。

用語集

このコミュニティ ツールキットを理解し、オンラインでヘルプを適切に検索するためには、拡張機能に関する用語の共有ボキャブラリを理解することが重要です。 次に、拡張機能作成者が知っておくべき重要な概念と単語をアルファベット順に示します。

Dte

EnvDTE は、Visual Studio コア オートメーション用のオブジェクトとメンバーを含むアセンブリ ラップされた COM ライブラリです。 つまり、Visual Studio と対話するための使いやすいインターフェイスです。

Marketplace

Visual Studio Marketplace は、拡張機能作成者が自身の拡張機能を他者と共有する際に使用する公開拡張機能ストアです。 これは、Microsoft によって所有および管理されており、唯一の公式拡張機能マーケットプレースです。

MEF

Managed Extensibility Framework は、Visual Studio 内のいくつかのコンポーネント (主にエディター) で使用されます。 "パッケージ" 以外に、この方法でも拡張ポイントを登録できます。

Package

"Package クラス" と呼ばれることもあります。 その InitializeAsync(...) メソッドは、拡張機能を初期化するために Visual Studio によって呼び出されます。 ここから、イベント リスナーを追加し、コマンド、ツール ウィンドウ、設定などを登録します。 コンパイル時には、"Package クラス" の属性を使用して .pkgdef ファイルが生成されます。これは、拡張機能に自動的に追加されます。

.pkgdef

これは、Visual Studio のプライベート レジストリに追加されるキーと値を含むパッケージです。 パッケージ クラスからこのファイルを自動的に生成したり、.pkgdef ファイルを手動で作成し、それを .vsixmanifest ファイルに <Asset> として含めたりすることができます。

VSCT

Visual Studio コマンド テーブル ファイルです。 ここで、メニュー、コマンド、キー バインドなどが宣言されます。

VSIX

Visual Studio 拡張機能のファイル拡張子 (.vsix) です。また、すべての Visual Studio 拡張機能を表す仮名として使用されます。

VSSDK

Visual Studio SDK の略です。これは、Visual Studio の拡張性 API のパブリック サーフェスを構成するクラス、サービス、コンポーネントです。 通常は、Microsoft.VisualStudio.SDK NuGet パッケージを参照する際に使用されます。

詳細については、「Visual Studio SDK の用語集」を参照してください。