手戻りをできるだけ発生させないさまざまな新機能

コースター氏がイベント冒頭で紹介した「シフトレフト」とは、なるべく手戻りを発生させないよう、コーディングや実装段階で問題点を見つけようとする考え方。これをIDEとして実現するため、Visual Studio 2017ではいくつかの新機能が追加された。

「シフトレフト(Shift Left)の考え方

例えば、コードナビゲーション機能に「すべてにジャンプ」や「すべての参照を検索」といったメニューが追加されたことにより、検索性が改善。また「Run To Click」という機能では、デバッグ時にコード行の隣にあるアイコンをクリックするだけで、その行が実行される。目的の行でコードの実行や停止が行われることで、一時的なブレークポイントを設定したり、複数の手順を実行したりする必要がなくなったため、デバッグの実行がしやすくなるというメリットがある。

また武田氏が「目玉機能の1つ」と紹介したのが、「ライブユニットテスティング」だ。これは、C#またはVisual Basicでコーディングを行う場合、バックグラウンドで自動的にユニットテストを実行してくれるという機能で、IDE上で単体テストの結果やコードカバレッジをリアルタイムに把握することができる。同機能について武田氏は、「シフトレフトの概念を忠実に適応しているもの」と説明する。ただし、これはVisual Studio 2017 Enterprise Editionのみの機能であるということに注意いただきたい。またテストフレームワークとして、MSTestV2を使う必要がある。

緑のチェックは、単体テストが適用されて通過した箇所。青のマイナスは適用されていない箇所。赤のバツ印がエラー箇所

さらにリアルタイムで問題を検知する機能として、Enterprise Editionでは、「依存関係検証ダイアグラム」が用意されている。アーキテクチャ依存関係ルールをドラッグ&ドロップで依存関係検証ダイアグラムとしてあらかじめ作成しておくことで、同ルールに違反すると、コードエディターでコードを入力する時にリアルタイムでアラートが表示されるようになっている。

依存関係検証ダイアグラムを設定することでアーキテクチャの依存関係の検証をリアルタイムで行える

以上、Visual Studio 2017の目玉となる機能を中心に紹介してきたが、このほかにもモバイルアプリ開発やクラウドアプリ開発に向けた機能などが追加されている。無償版のVisual Studio 2017 Community、小規模開発チーム向けの同Professional、大規模開発まで対応する同Enterpriseの無償試用版はこちらからダウンロード可能。興味のある読者はぜひ試してみてほしい。