Visual Studio 14 CTP (Visual Basic の新機能)
今月4日、Microsoft が Visual Studio 次期バージョンのコミュニティ向けプレビュー版 「Visual Studio 14 CTP」を公開しました。以下のリンク先からダウンロード可能です。
情報によると Visual Studio 2013との同居はできないらしいので、仮想環境にインストールして早速動かしてみました。現時点まで Visual Basic に以下の機能が追加されたのを確認しています。
Roslyn
14 CTP には「Roslyn」というオープンソースコンパイラが搭載されています。これはオープンソースによる全く新しい C#・VB コンパイラーだそうです。これにより C# と VB のコードエディタ上の機能統一が図られています。特に VB 側には多くの機能が追加されました。関連記事 : .NET コンパイラ プラットフォーム ("Roslyn")
Imports の整理
試しに Visual Basic のコンソールプロジェクトを新規作成。まず目についたのが 「Imports の整理」。C# には「using の整理」という便利な機能があって、なんでこれが VB にないのかと Connect で要望挙げたことがあったのですが、今回遂に搭載される運びになったようです。これは嬉しいですね。リファクタリング
さらにリファクタリングも追加されました。こちらも C# と同等の機能です。私のように VB と C# を並行稼動している人間には嬉しい機能ですね。リネーム
さらにリネーム、少し判りにくいですが、競合を解決しやすいインターフェイスに変わってます。C# も同様のUIに変更されました。既定のリネーム対象は変数やメンバー名ですが、「Search in comments」や「Search in strings」にチェックを入れると、コメントや文字列もリネーム対象になるようです。
「Rename Overload(s)」にチェックすると、リネーム対象がオーバーロードされたメソッドに広がるようです。
ちなみに「Preview Changes」で変更後のプレビューを見ようとすると真っ黒に・・・仮想環境のせいかは不明です。
メタデータから
ソース コードを使用できない項目を選択し右クリックして「Go To Definition」(定義へ移動)を選択すると、メタデータを表示するようになりました。以下は String を選択して定義へ移動した画像です。ここもC#と同じ挙動になりましたが、オブジェクトブラウザーも便利なだけに賛否両論分かれそうです。読み取り専用・自動実装プロパティの初期化
あと構文仕様ですが、「読み取り専用・自動実装プロパティの初期化」も可能になりました。Public ReadOnly Property Name As String = "hilapon" Public ReadOnly Property Person As Person = New Person() With { .Name = "平本", .Address = "東京都板橋区", .Telephone = "090-xxxx-xxxx", .Year = 17 }
LINQ のデバッグ
次期バージョンの新機能で最も大きいは LINQ のデバッグが可能になったことですね。以下の図のとおりクエリ式の中にブレークポイントを設けることができ、ステップ実行やウオッチが可能になってます。リテラル文字列の改行
vbCrLf や vbNewLine を使わなくても文字列リテラルの改行ができるようになりました。以下のコードをご覧ください。実行結果です。
C#の逐語的文字列リテラルと同じような機能です。さらに詳しい調査をしてみたいと思います。
また新しい情報がわかったら、記事に追加したいと思います。
関連記事 : Microsoft、「Visual Studio "14" CTP」を公開