操作性の改善,デバッグ機能など開発環境も強化
 今回の強化では,言語以上に開発環境が洗練されたと感じるかもしれない。開発環境については,(1)操作性の改善,(2)デバッグ機能の充実,(3)アプリケーションの配布——の3点で大きな強化が見られた。

 操作性の改善という点では,これまでキーボードを使っていた操作がマウスだけで操作できるようになったり,マウス操作にしてもより快適に行えるようになった。例えば従来のVisual Studioの「フローティング・ウインドウ」は,マウスで自由に操作できるとは言っても,画面の上端や右端,しかも既に複数のウインドウがドッキングしているところに,後からドッキングさせる場合は,思い通りに操作できないことがあった。新バージョンでは,「ガイド・ダイヤモンド」と呼ばれる大きな矢印により,目的の場所にウインドウを簡単にドッキングできる。

 そのほか,「スマート・タグ」や「コード・スニペット」と呼ばれる追加機能により,コーディング量を大幅に削減できる。スマート・タグは,現在作成中のアプリケーションに対して,あらかじめ用意された一般的な処理を,リストから選択するだけで行える。コード・スニペットは,やはりあらかじめ用意された一般的なコードを,記述中のコードに簡単に埋め込めるというもの。

 また,ある程度大きな規模のプロジェクトで大きな威力を発揮するのが「リファクタリング」機能だ。今回の強化の目玉と感じるほどである。リファクタリングとは,コードの保守性を高めるため,そしてほかのプロジェクトから利用しやすくするために,処理内容を変えずにコードを書き換えること。

 例えば,コード内にハード・コーディングしてある数値を,意味の分かる変数に代入して使うように書き換えたり,正しくカプセル化していないメソッドをカプセル化したり,といったことをほとんど自動的に処理させられる。これまでは,人手で,こうした創造的でない仕事を延々と行って,全体をチェックしなくてはならなかったが,それを半自動的に行えるようになった。この機能は,単なる文字列置換ではなく,コードの意味を考慮して処理される。これまで修正ポイントの検索,キーボードを使ってコード修正,といった人手に頼っていた機械的な繰り返し操作を,わずかなマウス操作だけで済ませられる。

 デバッグの機能も強化されている。例えば例外アシスタントと呼ぶ機能は,デバッグ実行中に予期していない例外が発生した場合,実行を中断して,例外が発生したコードの場所を示すとともに,例外の種類と,修正するための具体的なヒントを表示する。

VBのエディット・コンティニュが復活  .NET以前からVisual Basicを使っているユーザーにとって,なくなってしまって最も不便を感じた機能ともいえる「エディット・コンティニュ」が利用できるようになった。これは,アプリケーションのデバッグ中に一時停止させたとき,コードを書き換えてもそのままデバッグを継続実行できるという機能。実行させながら,コードの変更による結果を確認できる。コードの変更後に,アプリケーションを再起動して,該当するコードの部分に実行が進むのを待つ必要がなくなる。

 Visual Basicでは特にコードの修正に関する機能も大幅に強化された。プログラマが無効なコードを入力した際,間違いと考えられる部分に下線が引かれるオートコレクトと呼ぶ機能である。その部分をマウスでポイントすると,修正候補が表示される。単純なスペルミスや名前空間の省略などだけでなく,読み取り専用の属性のプロパティに値を代入しようとした場合などでも,この機能が誤りを検出して,修正方法を表示する。

 Windowsアプリケーションの配布という点でも,大きな強化点がある。これまでも,Webサーバーから実行ファイルをダウンロードして実行させる「ノータッチ・デプロイメント」と呼ばれる機能があったが,いくつかの点で不便があった。例えば,.NET Frameworkをインストールしていないパソコンでは実行できず,しかも.NET Frameworkのインストールを促すメッセージやリンクも表示されない。また,アプリケーションの実行に必要な関連ファイルを逐次ダウンロードしていたが,ダウンロードしたファイルをローカルにインストールするわけではなかったので,オフラインでは利用できなかった。

 Visual Studio 2005では,新たに「ClickOnce」と呼ぶ機能に対応し,こうした問題を解決した。ClickOnceを利用すると,Windowsアプリケーションの配布やバージョン管理をWebアプリケーション並に簡単にできる。すなわち,配布するときはサーバーに実行ファイルを置き,そのリンクをWebページなどに作っておく。ユーザーがそのリンクをクリックすると,サーバーからダウンロードし,ローカルにインストールする。そのため,Webアプリケーションと異なり,オフラインでも実行可能だ。

 バージョンアップの際には,サーバーに新バージョンを置くだけで済む。ローカルでプログラムを実行するときに,自動的に新バージョンがあるかどうかを調べ,新バージョンがあれば自動的にインストールするからだ。しかも新バージョンに更新して万が一不具合が発生したときは,前のバージョンに戻せる。

 画面デザイン時に利用できるコントロールやコンポーネントも,多く追加された。画面のレイアウトを変更できるアプリケーションや,コントロールを整列させるための機能など,これまで以上に操作性が高く,見た目のよいWindowsアプリケーションを作れるようになる。

*        *        *

 Visual Studioは今回,非常に便利にバージョンアップしている。機能や,変更点をすべてリスト・アップするだけでも,膨大になってしまう。またリスト・アップしただけでは,理解が難しいだろう。次回は,この中から,言語仕様に関する部分の一部を取り上げて,実際のコーディングのサンプルを使いながら紹介する。