特集:新IDE「VS 2012」レビュー Visual Studio 2012の新機能 デジタルアドバンテージ 一色 政彦2012/09/04 |
|
8月16日(日本時間)にMSDNサブスクリプション会員向けにVisual Studio 2012日本語正式版(以降、VS 2012)がリリースされた。本稿では、このVS 2012の新機能を、キャプチャ画像を多用して短くまとめて紹介する。リリースから2週間以上が経過しているので、すでにいろいろと試している開発者も少なくないだろうが、ぜひ新機能情報の整理に役立ててほしい。
なお本稿では、Windows 8上にインストールしたVS 2012「Ultimate」エディションを用いる。また、VS 2012のIDE(統合開発環境)の初回起動時に設定する[既定の開発環境の選択]ダイアログでは「Visual C# 開発設定」を選択した状態である。これらの条件と異なる場合、必ずしも本稿と同じ状態にならないこともあるのでご注意いただきたい。
まずは、新規に追加されたプロジェクト・テンプレートと項目テンプレートから見ていこう。その後、次ページ以降で、IDEや、各技術(WPFやASP.NETなど)、C#/VB(Visual Basic)言語、.NET Framework 4.5などの新機能を紹介する。
■新しいプロジェクト・テンプレート
以下では、筆者が注目した新しいプロジェクト・テンプレートを取り上げる(全ての新テンプレートを網羅しているわけではないので注意してほしい)。
●「Windowsストア」カテゴリ
VS 2012の中で最も大きな新機能が、「Windowsストア・アプリ」(旧称: Metroスタイル・アプリ)である。C#/VB言語向けには、次の画面に示す6つのプロジェクト・テンプレートが用意されている。
C++(Visual C++)には、次の9つのプロジェクト・テンプレートが用意されている。
Windowsストア・アプリ開発に関しては、(Insider.NETでは)「WinRT/Metro TIPS」などですでに情報発信を始めているので参考にしてほしい。
●「Windows」カテゴリ
Windowsデスクトップ関連(C#&VB&F#)で新しく追加されたのは、「ポータブル クラス ライブラリ」テンプレートである(次の画面を参照)。Windowsデスクトップ、Silverlight、Windows Phone、Xbox 360間で共有可能なライブラリ(=.DLLファイル)を作成できる。詳しくは、「XAMLファミリ共通開発のすゝめ」を参照してほしい。
Windowsアプリ関連のプロジェクト・テンプレート(C#とVBとF#) |
・「ポータブル クラス ライブラリ」テンプレート |
ちなみにC++のWindowsアプリ関連では、「CLR」カテゴリから「Windows フォーム アプリケーション」と「Windows フォーム コントロール ライブラリ」のテンプレートが消されたようだ。
●「Web」カテゴリ
ASP.NET MVCの新版に対応した「ASP.NET MVC 4 Web アプリケーション」テンプレートが追加された(C#とVB。C++には存在しない)。このテンプレートを使ってプロジェクトを作成しようとすると、さらに細かいプロジェクト・テンプレートを選択できる。そこには次の画面のように、「モバイル アプリケーション」や「Web API」(詳細後述)などのテンプレートが追加されている。
Webアプリ関連のプロジェクト・テンプレート(C#とVB) |
・「モバイル アプリケーション」テンプレート ・「Web API」テンプレート |
●「Windows Phone」カテゴリ
Windows Phone関連のプロジェクト・テンプレートは、手動で追加インストールする形式として、プロジェクト・テンプレート項目に表示される(次の画面を参照)。
Windows Phone関連のプロジェクト・テンプレート(C#とVBとC++) |
・「Windows Phone SDK 8.0 のインストール」テンプレート |
●「テスト」カテゴリ
C++では、次の画面のように「ネイティブ単体テスト プロジェクト」テンプレートが追加された。
テスト関連のプロジェクト・テンプレート(C++) |
・「マネージ テスト プロジェクト」テンプレート ・「ネイティブ単体テスト プロジェクト」テンプレート |
●「SQL Server」カテゴリ
データベース関連のプロジェクト・テンプレートは、「SQL Server データベース プロジェクト」という1つのテンプレートに統合されたようだ。データベース関連機能を実装するには、項目テンプレートからひな型コードを生成できる。例えばSQL CLRなどは、プロジェクト作成後の[新しい項目の追加]ダイアログを使って追加できる。
SQL Server関連の項目テンプレート(C#とVB) |
●「セットアップと配置」カテゴリ
Visual Studioインストーラ関連のプロジェクト・テンプレートが削除され、「InstallShield Limited Editionの有効化」テンプレートだけになった。「WiX」が搭載されることが期待されていたが、実現しなかったようだ。WiXを含む各種インストーラについては、「あなたのアプリにはどのインストーラが最適?」を参考にしてほしい。
「セットアップと配置」関連のプロジェクト・テンプレート |
●「LightSwitch」カテゴリ
LightSwitch関連のプロジェクト・テンプレート(C#&VB)が追加された(次の画面を参照)。LightSwitchについては、「アプリ作成が簡単って本当? LightSwitch手探り検証」を参考にしてほしい。
LightSwitch関連の項目テンプレート(C#とVB) |
●「レポート」カテゴリ
「Crystal Reports アプリケーション」テンプレートが削除された([Web サイト]の「ASP.NET Crystal Reports Web サイト」も同様に削除された)。VS 2012では、「レポート アプリケーション」テンプレートのみが提供されている。
■新しい項目テンプレート
続いて項目テンプレートを見てみよう。
●「グラフィックス」カテゴリ
グラフィックス関連の項目テンプレートは、VS 2010では「ビットマップ ファイル」ぐらいしかなかったが、VS 2012では次の画面のように大量の項目テンプレートが追加された(筆者が試した限りでは、「グラフィックス」カテゴリは、Windowsフォーム/コンソールなどのアプリケーションや、C++のWindowsストア・アプリでは表示されるが、WPF/Silverlight/ASP.NET MVCなどのアプリケーションでは表示されなかったので、注意してほしい)。
.bmp/.gif/.jpg/.png/.tif/.dds/.tgaファイルなどは、次の画面に示す「イメージ・エディタ(Image Editor)」により編集できる(ちなみに、「全般」カテゴリから作成できる「アイコン ファイル」や「カーソル ファイル」は従来どおりのアイコン・エディタで編集できる)。
イメージ・エディタ(Image Editor) |
また、.fbxファイルは、次の画面に示す「モデル・エディタ(Model Editor)」により編集できる。
モデル・エディタ(Model Editor) |
さらに、.dgslファイルは、次の画面に示す「シェーダ・デザイナ(Shader Designer)」により編集できる。
シェーダ・デザイナ(Shader Designer) |
●「データ」カテゴリ
「EF 5.x DbContext ジェネレーター」テンプレートが追加されている。Entity Framework 5.xで使えるテンプレートで、説明には「厳密に型指定された DbContext クラスおよび永続性の無視エンティティ クラスを生成するためのプロジェクト項目です。」と記載されている。
続いて次のページでは、IDEに追加された新機能を見ていく。
INDEX | ||
特集:新IDE「VS 2012」レビュー | ||
Visual Studio 2012の新機能 | ||
1.新しいプロジェクト・テンプレート/新しい項目テンプレート | ||
2.検索関連の新機能/[ソリューション エクスプローラー]関連の新機能/そのほかのIDEの新機能 | ||
3.ASP.NET関連の新機能/WPF関連の新機能/Windowsストア・アプリ関連の新機能 | ||
4.C#&VB言語の新機能/.NET Framework 4.5の新機能 | ||
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|