特集:Visual Studio 2010(ベータ2)で効率的な開発を!

現場開発者から見たVisual Studio 2010

WINGSプロジェクト りばてぃ(著) 山田 祥寛(監修)
2010/01/19
Page1 Page2 Page3

なければ作ろう、拡張機能

 ここではVS自身を拡張するためのいくつかの方法について軽く紹介しておきたい。

マクロやアドインによる拡張

 1つは以前からも用意されている方法で、マクロやアドインによる拡張だ。

 マクロはExcelなどOffice系アプリケーションにあるVBAと似たようなもので、操作を記録したり、VBのコードでVSを操作する処理をメソッドとして作成したりしておけば、後から繰り返し利用することができる。マクロは[マクロ エクスプローラー]で管理、実行、編集することができ、非常に手軽に利用できるのが特徴だ。

図13 [マクロ エクスプローラー]によるマクロの管理

 メソッドを作成するだけで再利用可能なVSの拡張機能が作成できるため、非常に便利な半面、マクロそのものはユーザーごとの管理になるため、チーム開発の場合には配布の手間がかかる、VSの奥深くにまで入り込むような高度な機能は作成できない、などのデメリットが存在している。

 一方、アドインは本格的に拡張機能を作り込む際に利用する。VSにあらかじめ用意されている機能拡張のためのライブラリを駆使し、C#やVBなどで本格的に開発をしていくことになる。VSの内部に用意されているさまざまなイベントに反応させたり、コード・エディタやタスク・ウィンドウなどとも密に連携させたりすることができ、より高度な処理を行えるのが特徴だ。

 アドインで有名なものとしては、Oracle社から提供されているODT.NET(Oracle Developer Tools for Visual Studio)などが挙げられる。ODT.NETはVS上で利用可能なさまざまなウィンドウや機能を持ち、VSに統合した形でOracleデータベースの利用を強力に支援するためのツールで、これもアドインの形式を利用して作成されている。

MEFによる拡張

 マクロやアドインに加え、VS 2010で新たに加わったのが、もう1つの方法でMEF(Managed Extensibility Framework)による拡張だ。MEFそのものは.NET 4で提供されることになっている機能で、アプリケーションに後から機能追加を行うアドイン・モデルの開発を簡易にするためのフレームワークである。

 MEFについては「次期Visual Studio 2010と.NET Framework 4.0の新機能」で紹介されているので、そちらをご覧いただきたい。VS 2010自身もMEFによる機能拡張モデルをサポートし、アドインによる拡張に準ずるようなポイントやコード・エディタ上の見栄えの変更など、実にさまざまなポイントが拡張できるようになっている。

 すでにマクロやアドインで作成されている拡張機能をMEFによる方法に乗り換える必要はいまのところないと考えているが、新規に作成する場合には選択肢の1つとして覚えておくといいだろう。

拡張機能ライブラリ

 先ほどまでに紹介した機能拡張の方法により実際に作成された機能は、商用、非商用を含め、さまざまな形で公開されている。ことmicrosoft.comドメインに限った話をすると、これらは「Visual Studio Gallery」というサイトにまとまった形で紹介されている。ここでは、VSのバージョンやツールの形態、費用がかかるか否かなどで分類されているため、自分に必要なフィルタをかけて閲覧してみるといいだろう。

 なお、VS 2010の場合には、IDE内からもVisual Studio Galleryにアクセスすることができる。メニューバーから[ツール]−[機能拡張マネージャー]を起動し、左側のメニューから[オンライン ギャラリー]を選択しよう。すると、Visual Studio Galleryで紹介されているツールの一覧を検索することができ、見付けたものをそのままダウンロードしてインストールすることもできる(もちろん同様にアンインストールすることもできる)。

図14 [機能拡張マネージャー]と拡張機能のインストール

 例えば、図14にある「VSIX Explorer」という拡張機能をインストールすると[ツール]メニューに[VSIX Explorer]というメニューが追加される。

 このVSIXは、VS 2008までのVSI(Visual Studio Installer)の拡張版という位置付けの機能で、VSIはもともとVSに対してプロジェクト・テンプレートなどをインストールするために利用される拡張子のことだ(以前はASP.NET AJAXも、この形式で提供されていたことがある)。「VSIXパッケージ」と呼ばれるVSに対してのインストーラーを作成することで、独自に作成したMEF拡張機能を配布することもできるため、VSの機能拡張を考えている場合には重宝するツールになるだろう。

 ほかに、実用性はさておきインパクトの強かったものとして「IntelliSense Presenter」という拡張機能も紹介しておこうと思う。先ほどと同様の手順で探すと見付け出すことができるので、ぜひ探し出してみてほしい。このツールをインストールするとIntelliSenseが図15のように変更される。

図15 IntelliSense Presenter

 VS 2010がWPFベースで出来ていることを示す格好の拡張機能であること、見た目が派手になったこと以外には特に何てことはないツールではある。このツールを紹介したのは、単に見た目のインパクトが大きいというだけだ。しかし、コード・エディタ上で動作するさまざまなウィンドウを好き勝手に変更できるという例は、インスピレーションを生み出す材料になるだろうと思う。

 Visual Studio Galleryには日本からも登録されているものがあり、今後ますます活気付いていくことが予想されるが、これをきっかけに、その一員になってみるのも面白いだろう。

【コラム】VSIX Explorerのメニュー

筆者の一部の環境ではVSの[ツール]メニューに[VSIX Explorer]というメニューが追加されない場合があった。この場合でも「%userprofile%\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\Gearard Boland and Mariano Blanco\VSIX Explorer」フォルダ(Windows Vistaの場合)に、起動可能なアプリケーションが配置されており、ここから起動すれば問題なく利用することができた。


まとめ

 今回は、目前にリリースが迫ってきているVS 2010について、.NET Frameworkのバージョン(1.xは除く)にかかわらず実はすぐにでも乗り換えが可能なこと、せっかく乗り換えるのであれば便利な機能を使って楽をしない手はないだろう、という点を中心に紹介してみた。

 中には、VS 2005や2008でもいますぐ使えるものも何点か織り交ぜてあるので、それらについてはすぐにでも活用してもらえばいいと思う。しかし、やはり最新のツールには多くの新機能や、いままでの問題点の克服などが見られ、.NET Frameworkを利用した開発に携わる技術者であれば、そろそろVS 2010の動向には気を配り始めるべきだろう。

 「Visual Studio 2010および.NET 4の更新情報」によれば、2010年2月には出荷候補(RC:Release Candidate)版の提供が予定されている。これを機に、ぜひ新しいVS 2010の魅力に触れてみてはいかがだろうか。End of Article

 

 INDEX
  特集:Visual Studio 2010(ベータ2)で効率的な開発を! 
  現場開発者から見たVisual Studio 2010
    1..NET 2.0/3.0./3.5/4とVisual Studio 2010の関係
    2.開発者へお勧めのVisual Studio 2010の機能
  3.なければ作ろう、Visual Studio 2010の拡張機能


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH