7

this stackoverflow questionとの関係で、自分のVisual Studio 2008プラグインを作成する方法を教えてください。Visual Studio 2008プラグイン/アドイン開発 - 入門

私はMSDNのVisual Studioデベロッパーセンターをチェックしましたが、情報量は圧倒しています。プロジェクトの種類がたくさんあり、どこから始めたらいいのか分かりません。

私は、次の要件を満たしている何かを書きたい場合、私はを探して起動する必要があり

  1. プラグインでは、Visual Studioの「サービス」のように実行し、ビジュアルポーリングすることができますStudioを使用してVisual Studioイベントを処理します。
  2. VSからアクセスしたい情報は、現在開いているプロジェクト、開いている人、その他のソリューション/プロジェクトファイルベースの情報などです。
  3. 私が処理できるようにしたいイベントは、ソリューション/プロジェクト/個別ファイルの開閉/編集/作成/削除などです。
  4. 私はまた、ソリューションごとにVSとのあらゆる対話を処理できるようにしたいと思います。だから、私はファイルとのやりとり、コードの編集などをやりとりしたいだけでなく、メニューやIDE自体のような他のやりとりを扱いたい。

これらと同様に、私はどこかでデータを保存できるようにしたいと思います。これは通常どこで行われますか?ソリューションファイルにメタデータを追加できますか?または、この情報をデータベースの小さなローカルインスタンスに保存することは理にかなっています。これは何らかの形でソリューションにアタッチされています。

私はちょうど正しい方向にプッシュする必要があります、これは可能ですか? Visual Studioデベロッパーセンターのどの部分に焦点を当てるべきですか?どのAPIをチェックアウトする必要がありますか?

乾杯!

+0

どのように皮肉なことか...私は、VS内の特定のソリューション/ファイルの作業に費やす時間を正確に把握していることに取り組んでいます。どうやって来るの? –

+0

@dave:クール、私は実際に始まったことはありません...私は本当にあなたがこれをやっていることに興味があります。それはオープンソースプロジェクトですか?もしそうでなければ、あなたが取っているより高いレベルのアプローチを知りたいでしょう。乾杯! – andy

+0

@andy:まだオープンソースにするかどうかを決めるだけで、プロトタイプを完成させました。いずれにせよ、私はすぐにベータテスターを探しています... :) –

答えて

6

アドインでそのほとんどを行うことができます。基本アドインを作成するためのテンプレートがVS2008にあります。

私は、ソリューション/プロジェクトのロードイベントなどにフックをダウンロードできるアドインを用意しています。無料でソースコード(http://www.huagati.com/projectloader/download/huagatiprojectloader.zip)が付属しています。この特定のアドインは、VS2008をクラッシュさせる可能性のあるCLRバグを回避するために、プロジェクト/ソリューションがロードされ、参照アセンブリをあらかじめロードすると検出します。とにかく、それのソースコードはあなたが探しているイベントのいくつかを検出する方法を示しています。

それ以外のアドイン開発に関する明確なリソースと、関連する小さな変わったやりかたは、Carlos Quinteroのブログ(http://msmvps.com/blogs/carlosq/)と彼のウェブサイトの「howto」記事シリーズ(http://www.mztools.com/resources_vsnet_addins.aspx)です。

Craig Skiboのブログ(http://blogs.msdn.com/craigskibo/)にも便利なヒントがあります。

+0

@kristoferA:こんにちはクリストファー、大変、ありがとうソースコード、ありがとう – andy

2
+1

クール、ありがとうサンダース、私は本から学ぶことではあまり良くはない、ちょうど私とクリックしないで、ディスレクシア、ADDまたは..怠け者...確かにそうではありません。私はそれを試してみるか、誰かに話す必要があります。私が立ち往生するなら、私は確かにそれをチェックアウトするでしょう。 – andy

+0

あなたはこの分野で問題を起こすでしょう。それは非常に豊かですが、きれいではありません。次のステップはVS2008 SDKのサンプルですが、構造がなくてもこの領域を学習することができます。ところで、私はこの怠け者と呼べる地球上の最後の人です。 –