2009-06-13 11 views
2

私は検索しようとしましたが、これが重複していると雑音によって隠されています。質問への代替タイトル:VS 2008 IDEとは何ですか?

Visual Studio IDEとの統合が必要なときに探すスキルは何ですか?

答えて

10

Visual Studio 2008は、ネイティブコードとマネージコードの両方で書かれていますが、大部分はC++で書かれています。管理されたコードでは、常にVisual Studioのいくつかが記述されています(プロパティブラウザ、WinFormsデザイナなど)。もちろん、Visual Studio 2008はCOMと一緒にステッチされます。

Visual Studio 2010では、より多くのIDEをマネージコードに移行しようとしています。テキストエディタとシェル(メニュー、ツールバー、ドキュメントとツールのウィンドウ枠など)はC#で記述されています。さらに、C#およびVB IDEの一部がそれぞれC#およびVBに書き込まれています。新しい言語であるF#は完全にマネージドコードで書かれています。コンパイラ、言語サービス、プロジェクトシステムなどはすべてF#で書かれています。

Visual Studio 2008と統合するには、C#、VB、またはC++を使用できます。ただし、Visual StudioはCOM上に構築されているため、COM/ATLをよく理解しておくと便利です。さらに、管理対象言語を使用することを選択した場合、COM interopと混合モードのデバッグの既知の問題が非常に役立ちます。 VS統合にはいくつかのレベルがあります。

  1. マクロ - IDEでカスタムコードを実行する最も簡単な方法です。
  2. アドイン - IDEにカスタム機能を組み込む単純で強力な方法です。アドインを使用すると、カスタムコマンドを作成したり、イベントを聞いたり、エディタでテキストを操作したりすることができます。ただし、アドインを使用して新しい言語やエディタをIDEに追加することはできません。多くの目的のために、アドインは正常に動作します。
  3. パッケージ - Microsoftの機能と同じレベルの統合です。パッケージを使用すると、Visual Studio IDEに新しい言語を追加するなど、何でも作成できます。

これらは、作成と展開がますます複雑になることに注意してください。

Visual Studio 2010では、新しい形式の拡張機能がIDEのいくつかの領域で導入されていますが、主に新しいWPFテキストエディタを拡張するためのものです。 Visual Studioとの統合には、COMではなくMEF(Managed Extensibility Framework)コンポーネントが必要です。したがって、VS 2010では、テキストエディタを拡張するだけで、お気に入りの管理言語でMEFコンポーネントを作成する必要があります。

0

ミックス。コアはC++/COMのものですが、新しいものの多くは管理されたコードです(C#など)。コアはC++/COM(MS Officeからコードを借りている)のため、VSの統合は面白い経験です。

+0

アドオンの作成を意味しますか?これが私がその質問をしている理由です。 – ojblass

+0

@ojblass - VS統合はマネージコードで作成できます。 –

+0

@ojblass - アドイン/アドオン/ VSIPなどはCOMインターフェイスを使用しますが、通常は管理コードで記述します。あなたが遭遇する2つの頭痛は、a)100%-managed-code-appsとは異なる方法でVSを(交換などのように)ロードする.NETアセンブリをどのようにしてb)COM interopキャスティングとクリーンアップを通常100%コードアプリ。ああ、混乱した/矛盾したインターフェースは、VSの統合に関わっている。 :) – KristoferA

4

ポッドキャストハーディングコード第48話には、Visual Studio Managed Languages GroupのプログラムマネージャであるDustin Campbellとのインタビューが掲載されています。

このインタビューでは、彼はこの正確な問題について数分間話し、2010年の変化が2008年との相違や将来の見方について詳細を知る。

これは厳しい質問ですが、他の回答は正しいです。しかし、少し深く掘り下げたいのであれば、ポッドキャストを聞くことはあなたの時間の価値があるでしょう。

+0

ジョブでVisual Studio Integrationコンポーネントを開発する必要があるときに探すスキルが設定されているのでしょうか。 – ojblass

+0

@ojblass - 言語スキルを指しているのであれば、C++とC#は始めるのに適しています。すぐに他の言語を手に入れる能力を持つことはプラスです。 –

+0

Dustinのコメントに追加するための@ojblass - C#またはC++のスキルは良いですが、COMと.net、CLRデバッグの違いを理解することは、深刻なVS統合をしたい場合に非常に関わりがあります。学習曲線を短くするために、VS IDE(任意のバージョン - 2002/2003/2005/2008のインタフェースは同じです)と統合するものを開発した人を探します。 – KristoferA

3

少なくとも以下の言語をマネージ拡張で2008

  1. C++
  2. C#
  3. VB.Net
  4. C
  5. C++/CLI
  6. C++のVisual Studioの内部で使用されています

おそらく私が忘れたいくつかのものがあります。

+0

私は上記の番号4で興味があります...それのどの部分ですか? – ojblass

+1

@ojblass、#4は個人的な意見です。 mallocとfreeを使ってクラス、デストラクタ、テンプレート、マネージメモリを使用しないときは、C++コンパイラでコンパイルされていても、Cと呼んでいます。 – JaredPar

+0

私はC++がいくつかの非OOが残っている可能性があることに同意する傾向があります。私はあなたの答えは正しいと思いますが、上記の答えは私の懸念事項をすべて解決します。 +!乾杯 – ojblass

関連する問題