Visual Basic 14には多くの新機能が搭載される。本稿では、その中で注目したいものを、IDEと言語に分類して紹介する。
2015年の夏に正式リリースされるというVisual Studio 2015(以降、VS 2015)。それに含まれるVisual Basic(VB.NETと呼ばれる場合もある。以降、VB)にも、数々の新機能が投入される。その中から筆者が重要だと感じたものを、IDE(=統合開発環境)で5項目/言語機能で5項目、合わせて10項目を紹介しよう。
VS 2015では、VBのバージョンは14となる(以降、VB 14)。VB 14は、初めてVBのコードで全面的に書き直され(これが最大のニュースかもしれない)、併せて多くの新機能も盛り込まれた。
VS 2015は、2014年11月にプレビュー版が公開された。その後も頻繁にCTP版がリリースされ、本稿執筆時点では2015年2月に公開されたCTP 6が最新となっている。本稿では、CTP 6に基づいて新機能を紹介する。CTP 6は日本語化されておらず、紹介する画面の表示が英語となってしまうがご容赦願いたい。また、正式リリースまでにさらなる変更がある可能性をご承知おきいただきたい。
何といっても、これが一番の改良点だろう。VBにも、ようやくリファクタリングの本格的なサポート機能が備わったのだ(従来は[名前の変更]しかできなかった)。
例えば、「変数抽出」(Extract Variable)のリファクタリング*1を行う手順を次の画像に示す。
*1 「変数抽出」(Extract Variable)のリファクタリング:書籍「リファクタリング」(Martin Fowler著)では「説明用変数の導入」(Introduce Explaining Variable)と呼ばれている。出版後、筆者自身により改名。
変数抽出のリファクタリングを行う(VS 2015 CTP6)
上: 変数に抜き出したい処理を選択状態にし(ここでは「n Mod 3 = 0」の部分)、それから[Quick Actions]を起動する。この画像では、右クリックメニューから[Quick Actions]を選んでいる。右クリックせずに[Ctrl]+[.](ピリオド)キーを押してもよい。
中: 選択範囲に対して実行可能なリファクタリングがあれば、[Quick Actions]でリファクタリングの候補が表示される。ここでは3通りの候補が表示されている。候補上にマウスをホバーするか、カーソルキーを上下することで、その右側に表示されているプレビューが切り替わる。プレビューで赤くなっている行が変更前のコード、その下、緑がかった灰色の行が変更後のコードである。ここでは処理を変数に抜き出すだけでなく、メソッド内で同じ処理をしている部分もその変数に置き換えたいので、3番目の候補を選ぶ。なお、プレビューの下端にある[Preview Changes]のリンクをクリックするとダイアログでのプレビューに切り替わり、落ち着いて検討できる。
下: 変数抽出のリファクタリングが完了した。変数「v」の定義が追加され(3行目)、変更前はIf文中にあった「n Mod 3 = 0」の部分が2箇所とも変数「v」に置き換えられている(4行目、6行目)。このままの状態で続けてキー入力をすれば、変数名が書き換わる。その際に、もしも変数名を置換する範囲をコメントの中にまで拡張したいといったときには、右上に出ているポップアップにチェックを付ける。[Enter]キーで変数名の変更を確定させる。
VB 14で、ようやく共有プロジェクトがサポートされる。C#ではVisual Studio 2013 Update 2で導入済みであり、ユニバーサルWindowsアプリの開発には必須といえるほどの機能であるが*2、VBではこれまでサポートされていなかった。
*2 Windows 8.1/Windows Phone 8.1向けのユニバーサルWindowsアプリと、それを開発するための共有プロジェクトについては、「特集:Windowsストアアプリ開発最新情報(Build 2014より):ユニバーサルWindowsアプリ開発の勧め」を参照。なお、Windows 10では共有プロジェクトを使わずにユニバーサルWindowsアプリの開発ができるようになる(本稿執筆時点では英語のみだがMSDN「Build a universal Windows app〜Build a Windows universal app that targets Windows 10 devices」を参照)。
VB 14で新しくプロジェクトを作るときのダイアログに、[Shared Project](共有プロジェクト)が追加されている(次の画像)。
ただし、共有プロジェクトを用いたユニバーサルWindowsアプリ用のソリューションを作成する機能は、VS 2015 CTP 6には搭載されていないようだ。手動で作成することは可能である(次の画像)。
Copyright© Digital Advantage Corp. All Rights Reserved.