特集:新IDE「VS 2012」レビュー

Visual Studio 2012の新機能

デジタルアドバンテージ 一色 政彦
2012/09/04
Page1 Page2 Page3 Page4

検索関連の新機能

[クイック起動]によるメニュー項目などの検索

 VS 2012を起動してすぐに気付くのが、IDEのタイトルバーの右側に配置されている[クイック起動]である。[クイック起動]は、メニューバーの中にあるコマンド(=メニュー項目)を検索する機能を提供する。

 例えば[新しいプロジェクト]ダイアログを表示したい場合には、ショートカット・キー[Ctrl]+[Q]を押してクイック起動に入力フォーカスを移し、そこで「プロ」と入力して[Enter]キーを押せば、その先頭に[ファイル → 新規作成 → プロジェクト]という項目が表示されるので、[↓]キーで選択して[Enter]キーを押せばよい。次の画面はその例である。

[クイック起動]

[ツールボックス]/[プロパティ]/[ソリューション エクスプローラー]ウィンドウ内の項目の検索

 VS 2012では、メニューバーの項目だけでなく、[ツールボックス]や[プロパティ]ウィンドウ、[ソリューション エクスプローラー]などさまざまなウィンドウで、項目の検索機能が提供されている。

 例えば[ソリューション エクスプローラー]で「Window」を含む項目だけを表示したい場合には、ショートカット・キー[Ctrl]+[:]を押して[ソリューション エクスプローラー の検索]欄に入力フォーカスを移し、そこで「Window」と入力すれば、次の画面のようにキーワードに合致する項目のみが表示される。

[ソリューション エクスプローラー]内の項目検索

 そのほか、次の画面(「ab」というキーワードで項目検索している)に示すように[ツールボックス]/[プロパティ]/[オブジェクト ブラウザー]など、いろんな場所で項目が検索できるようになっている。

[ツールボックス]/[プロパティ]/[オブジェクト ブラウザー]内の項目検索

[クイック検索]/[クイック置換]

 VS 2010でドキュメント内の素早く検索したい場合、検索ならショートカット・キー[Ctrl]+[F]、置換なら[Ctrl]+[H]キーを押して、検索/置換用のダイアログを表示していた。VS 2012では、同じショートカット・キーを押すと、現在アクティブなコード・エディタ上の右上端に[クイック検索]/[クイック置換]の領域が表示される(次の画面を参照)。

[クイック置換]

検索の正規表現が充実

 VS 2012では、検索/置換時の正規表現機能がさらに充実した。

 検索/置換での正規表現を有効にするにはまず、フォルダを指定して検索するならショートカット・キー[Ctrl]+[Shift]+[F]、置換なら[Ctrl]+[Shift]+[H]キーを押して、[検索と置換]ダイアログを表示する(VS 2010と同じ手順)。次に、そのダイアログで[検索オプション]グループ内の[正規表現を使用する]チェックボックスにチェックを入れる。これにより、[検索する文字列]欄に正規表現を入力できるようになる。

 「どのような正規表現機能が追加されたのか」についての詳細な説明は割愛するが、以下にVS 2010とVS 2012の正規表現の入力補助メニューを示しておくので、参考にしてほしい。

VS 2010の正規表現の入力補助メニュー

VS 2012の正規表現の入力補助メニュー

[ソリューション エクスプローラー]関連の新機能

 [ソリューション エクスプローラー]は特にいろんな機能が追加されているので、特別に取り上げて各新機能について紹介する。

選択項目のプレビュー表示

 .cs/.vbファイルなどのソース・ファイルの項目を選択すると、それをコード・エディタ上でプレビュー表示できるようになった。例えば次の画面は、[ソリューション エクスプローラー]内の「AssemblyInfo.cs」ファイル項目を選択している例である。プレビュー表示の場合、中央のドキュメント表示部分の上部右側にタブが追加された状態になる(通常の表示では、上部左側にタブが追加される)。

選択項目のプレビュー表示

 ファイルを編集したり、上部右側のタブ上にある[開いたままにする]ボタンをクリックしたりすると、(プレビュー表示から)コード・エディタでの通常表示(つまり編集可能状態)になる。次の画面はその例である。

プレビュー表示から通常表示への切り替え

 この機能はデフォルトで有効になっているが、[ソリューション エクスプローラー]上部の[選択された項目のプレビュー]ボタンをクリックしてオフ状態にすることで、無効にすることもできる(次の画面を参照)。

プレビュー表示の無効化

ソース・ファイル内の型&メンバの表示

 VS 2012では、[ソリューション エクスプローラー]内のソース・ファイル項目の配下で、そのソース・ファイルに含まれる型とメンバを表示してくれる。これは、従来からある(VS 2012にも搭載されている)[クラス ビュー]ウィンドウに近い機能である。

 メンバの1つを選択すると、そのコード箇所が(前述の機能により)プレビュー表示される。この機能は、特定のメソッドを編集したい場合など、素早くクラスやメソッド、プロパティのコード箇所を見付けたい場合に便利だろう。

ソース・ファイル内の型&メンバの表示と、選択しているメンバのプレビュー表示

特定項目をルートにした表示

 VS 2012では、[ソリューション エクスプローラー]内の特定の項目をルートにした表示ができるようなった(つまり、特定の項目に絞った表示ができる)。

 これには、[ソリューション エクスプローラー]内の項目の上で右クリックして、表示されるコンテキスト・メニューから[ここまで検索]を選択すればよい。元の表示に戻すには、上部にある[戻る]ボタンをクリックすればよい。以下の画面はその例である。

[ここまで検索]をクリックして、特定項目をルートにする
[戻る]ボタンをクリックすると、以前の表示に戻る
特定項目をルートにした表示

複数の[ソリューション エクスプローラー]

 VS 2012では、[ソリューション エクスプローラー]を複数表示できるようになった(この機能は、マルチ・モニタ環境で、それぞれのモニタに[ソリューション エクスプローラー]を表示したい場合などを想定している)。

 これには、[ソリューション エクスプローラー]ウィンドウ内の空白部分を右クリックして、表示されるコンテキスト・メニューから[新しい ソリューション エクスプローラー のビュー]を選択すればよい。[ソリューション エクスプローラー]内の項目の上で右クリックした場合は、その項目をルートとした新しい[ソリューション エクスプローラー]が表示される(その内容は、前述の「特定項目をルートにした表示」と同じような表示状態になる)。次の画面はその例だ。

「Assets」フォルダの右クリック・メニューで[新しい ソリューション エクスプローラー のビュー]をクリック
「Assets」フォルダをルートにした[ソリューション エクスプローラー]が別ウィンドウで表示される
複数の[ソリューション エクスプローラー]

そのほかのIDEの新機能

マクロ機能の削除

 VS 2012で新機能が追加される一方で、削除された機能もある。マクロ機能がその1つだ。

 VS 2010までは、メニューバーの[ツール]−[マクロ]配下のメニュー項目で、IDEでの操作を記録して再実行したりできるマクロ機能が搭載されていた。このようなマクロ機能は、主にテキスト・エディタなどでの定型的な編集作業の自動化のために使われることが多い。VS 2012では、そのマクロ機能が削除されてしまった。「開発者からあまり使われていないので、メンテナンス・コスト削減のため」というのが、その理由とのことである。

 なお、マクロ機能の削除に伴い、それに付随する[マクロ エクスプローラー]などの機能も全て削除されている。

[SQL Server オブジェクト エクスプローラー]

 VS 2012では、SQL Server 2012やSQL Server 2008、SQL Azureなどのデータベース・サーバに配置されているデータベース・オブジェクトを取り扱うための[SQL Server オブジェクト エクスプローラー]ウィンドウが追加された。このウィンドウを表示するには、メニューバーから[表示]−[SQL Server オブジェクト エクスプローラー]を選択すればよい。

 なお、VS 2010以前から利用できる[サーバー エクスプローラー]の[データ接続]機能は、VS 2012でも同じように利用できるので、従来どおりの作業手順を継続することもできる。

[SQL Server オブジェクト エクスプローラー]

 上の画面の左側が[SQL Server オブジェクト エクスプローラー]である。右側は、テーブル・デザイナとT-SQLスクリプト・エディタ、[データの表示]ビュー、[データ ツール操作]ウィンドウを表示している。

NuGetによる「必要に応じた機能追加」

 最近の.NET関連の新機能では、「NuGet(発音は「ニューゲット(New Get)」もしくは「ヌゲット」)を使ってアドオン的に各プロジェクトに組み込む」というのが、主流になってきている(NuGetについては「.NET開発の新標準「NuGet」入門」を参照されたい)。これはVS 2012&.NET 4.5に搭載される新機能についても言えて、例えば「SignalR」(=リアルタイムでマルチユーザー・インタラクティブなWebアプリケーションを開発できる.NET向けの非同期ライブラリ)や「ASP.NETシングル・ページ・アプリケーション(Single Page Application)」(=JavaScriptとASP.NET Web APIをベースとしたクライアントサイド・インタラクション中心のWebアプリケーションを開発できるライブラリ)などのマイクロソフト製の新機能は、NuGet経由で提供されている。つまり、多くの開発者に共通する部分以外の新機能は、開発者それぞれが取捨選択して各自のプロジェクトに取り込む必要があるわけだ。

 このように、今や開発者にとって必須機能となった「NuGet」は、VS 2012では標準搭載されている。具体的には、[ソリューション エクスプローラー]のプロジェクト項目を右クリックして、表示されるコンテキスト・メニューから[NuGet パッケージの管理]を選択すると、次の画面のようなダイアログが表示される。このダイアログから必要なライブラリなどを、プロジェクト内に導入できる。

[NuGet パッケージの管理]ダイアログ

 続いて次のページでは、ASP.NETやWPFなどの技術別の新機能や機能強化点について簡単に紹介していく。


 INDEX
  特集:新IDE「VS 2012」レビュー
  Visual Studio 2012の新機能
    1.新しいプロジェクト・テンプレート/新しい項目テンプレート
  2.検索関連の新機能/[ソリューション エクスプローラー]関連の新機能/そのほかのIDEの新機能
    3.ASP.NET関連の新機能/WPF関連の新機能/Windowsストア・アプリ関連の新機能
    4.C#&VB言語の新機能/.NET Framework 4.5の新機能


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間