Visual Studio2008プラグイン/アドイン開発-はじめに
-
21-08-2019 - |
質問
やあみんな、
MSDNでVisualStudio Developer Centerを確認しましたが、情報量が圧倒的です。プロジェクトの種類はたくさんあり、どこから始めればよいのかさえわかりません。
次の要件を満たすものを書きたい場合は、どこから探し始めればよいですか:
- Visual Studioの「サービス」のように実行され、Visual Studioをポーリングして情報を取得し、VisualStudioイベントを処理できるプラグイン。
- VSからアクセスしたい情報は、現在開いているプロジェクト、開いているプロジェクト、その他のソリューション/プロジェクトファイルベースの情報などです。
- 処理できるようにしたいイベントは、ソリューション/プロジェクト/個々のファイルの開始/終了/編集/作成/削除などです。
- ソリューションごとにVSとのやり取りを処理できるようにしたいと思います。そのため、ファイルとのやり取り、コードの編集だけでなく、メニューやIDE自体などの他のやり取りも処理したいと思います。
これらに加えて、どこかにデータを保存できるようにしたいと思います。これは通常どこで行われますか?ソリューションファイルにメタデータを追加できますか?または、この情報をデータベースの小さなローカルインスタンスに保存することは意味がありますか?それは何らかの形でソリューションに添付されています。
正しい方向に押す必要があります。これは可能ですか? Visual Studio Developer Centerのどの部分に焦点を当てるべきですか?どのAPIをチェックアウトする必要がありますか?
乾杯!
解決
アドインはそのほとんどを実行できます。 VS2008には、基本アドインを作成するためのテンプレートがあります。
ソリューション/プロジェクトのロードイベントなどにフックするダウンロード可能なアドインがあります。これは無料で、ソースコードが付属しています( http://www.huagati.com/projectloader/download/huagatiprojectloader.zip )。この特定のアドインは、プロジェクト/ソリューションが読み込まれるタイミングを検出し、参照されるアセンブリをプリロードして、VS2008のクラッシュを引き起こす可能性のあるCLRバグを回避します。とにかく、そのソースコードは、探しているイベントのいくつかを検出する方法を示しています。
それ以外に、アドイン開発とそれに関連するすべての小さな癖やトリックに関する最も信頼のおけるリソースは、Carlos Quinteroのブログ( http://msmvps.com/blogs/carlosq/ )および彼のWebサイトの「ハウツー」記事シリーズ( http://www.mztools.com/resources_vsnet_addins.aspx )。
Craig Skiboのブログ( http://blogs.msdn.com/craigskibo/ )にもいくつかの役立つヒント。