Visual Studio 2010 ウォークスルー(前置き)

タイトルにあまり深い意味はありません。気にしないでください。

Visual Studio 2010 がリリースされてから、もう半年以上経っているのですが、多くの皆さんが
何等かのカスタマイズをして使用していることと思います。その中でも、Visual Studio Gallery から
好みのものを探して使うという方が多いようです。

海外ではかなり盛り上がっているようです。インストール済みの拡張機能は、拡張機能マネージャーと
いうところから確認することができます。

    VS2010拡張機能マネージャー

    Visual Studio 2010 の IDE は、.NET Framework で書き直され、MEF(Managed Extensibility Framework) と
    いうフレームワークが存在します(エディタが WPF というのは有名です)。
    この MEF を使うことで、独自に Visual Studio 2010 に機能拡張を追加することが
    できるというわけです。(ただし、MEF を使った機能拡張には下位互換性はありませんが…)
    話しは変わって、デバッガー視点で Visual Studio 2010 を解剖してみると、ざっくりですが、こんな構成になっています。

VS2010構成図

上記を少しだけ紹介しておくと、Visual Studio 2010 IDE の下には、SDM(Session Debug Manager)という
デバッグセッションを管理する層があります。例えば、独自にデバッガーを作って、Visual Studio 2010 と連携したいと
いうことであれば、この SDM に独自に用意したデバッガーを登録する必要があります。
そして、AD7(Active Debugging 7) というインターフェースとのやり取りを行うことで、独自に用意したデバッガーが
使えるようになります。インテルコンパイラの Visual Studio 連携は、この辺を実装しているのだと思います。

MEF は、名前の通りマネージドコードの拡張フレームワークということで、これを利用すると、様々な機能拡張が
できるというわけです。やはり、.NET 系言語は作りやすいです。
こんな背景から、海外では、拡張機能が盛り上がっているのだと思います。

MEF をはじめとして、この辺りを作成するためには、Visual Studio 2010 SDK という SDK が必要になります。

なお、上記で触れた独自にデバッガーを使えるようにしたいという場合には、VSIP(Visual Studio Industry Partner)という
プログラムにエントリーして、SDM に登録する GUID を Microsoft より発行してもらうことになります。

また、デバッガーのサンプルもあったりするので、参考にもなります。

ただし、このサンプルは最低限の機能しか実装していないので、実際にはもっと多くのことを実装する必要があります。

次に言語サービスの紹介ですが、ここは名前の通りで、プログラミング言語を提供するサービス部分です。
ここに独自の言語サービスを登録することで、Visual Studio 2010 内からプログラミング言語を使用することができます。
もちろん、IntelliSense を追加することもできちゃいます。IntelliSense は、言語用のデータベースを作成するので、
かなり大変な作業になりますが…。

こんな具合で、Visual Studio 2010 は、MEF を中心に、内部をがらりと作り直したために、非常にカスタマイズ性に
優れていると思います。(ヘルプシステムを除けば、Visual Studio 2010 は非常に良いと思います)
多くの拡張機能サンプルは

にあります。
MEF を使った拡張機能の紹介は、別の機会にします。拡張機能(vsix)の作り方も紹介できたらなと思います。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。