Visual Basic 14の新機能ベスト10〜もう「VBだから」とは言わせない!特集:次期Visual Studioの全貌を探る(2/3 ページ)

» 2015年04月14日 05時00分 公開
[山本康彦BluewaterSoft/Microsoft MVP for Windows Platform Development]

3. デバッグ中のラムダ式とLINQ式

 デバッグ中にブレークして変数の内容を調べるときに、これまではラムダ式とLINQ式は使えなかった。それがVB 14では可能になった(次の画像)。

デバッグ中にラムダ式とLINQ式を使う(VS 2015 CTP 6) デバッグ中にラムダ式とLINQ式を使う(VS 2015 CTP 6)
デバッグ実行中にブレークさせ、ウォッチウィンドウに「Enumerable.Range(1,10).Where(Function(n) n Mod 2 = 0)」という式を追加した(赤枠内)。[Results View](赤丸内)を展開すると、式の結果が表示される。この式では「Enumerable.Range(1,10)」で1から10までの整数を生成し、ラムダ式を引数に取るWhereメソッドで偶数だけを取り出している(その結果、[Value]欄に2から10までの偶数が見える)。

 CTP 6では、この機能はウォッチウィンドウだけでサポートされている。イミディエイトウィンドウで上の画像と同じ式を評価してみると、「Expression has been evaluated and has no value」(式は評価されましたが値はありません)というメッセージが返ってきた(これまでは「ラムダ式の評価は、デバッガ内では有効ではありません」というエラーになっていた)。恐らく製品版までにはイミディエイトウィンドウでもサポートされるようになるだろう。

4. エラー一覧の改良

 ビルドエラーが大量に発生してしまったとき、その全てが表示されなくて悔しい思いをしたことはないだろうか? 数多くのエラーが出ていても、原因となるミスは1カ所だけということもよくある。そして、そのようなミスが判明するエラーメッセージは、経験上はエラー一覧の一番下の方にあるものなのだ。ところが、これまではエラー一覧に101件までしか表示されなかったので、肝心のエラーを見られず残念な思いをすることがあった。

 VB 14では、全てのエラーが一覧に表示されるようになった(次の画像)。また、エラーメッセージは、なるべく名前空間を省略して表示されるようになり、読みやすくなっている。

改良されたエラー一覧(VS 2015 CTP 6) 改良されたエラー一覧(VS 2015 CTP 6)
この例では282件のエラーが全て表示されている。これまでは101件で打ち切られていた。
また、最後のエラーメッセージを見ると「Value of type 'Color' cannot be converted to 'FontFamily'.」(型'Color'の値を'FontFamily'に変換できません)となっており、型名の前の名前空間が省略されて読みやすくなっている。ちなみに、Visual Studio 2013では「型 'Windows.UI.Color' の値を 'Windows.UI.Xaml.Media.FontFamily' に変換できません」と名前空間を付けて表示されていた。

5. カーソルを行から動かさなくても文法チェック

 VB 14では、コードを打った後で、キャレット(キーボードで動かすカーソル)を動かさなくても、数秒待てば自動的にエラーチェックが走るようになった。

 これまでは、キャレットを上か下へ(別の行に)動かしたタイミングで、エラーチェックが走っていた。エラーを確認するために、また、修正後にエラーが消えるのを確認するために、キャレットを上下に動かすのが習慣になってしまった人もいるだろう。

 VB 14では、しばらくすると自動的にエラーチェックが走る。どんどんコードを打ち続けていても、ちゃんとチェックしてくれるのだ。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。