Visual Studio IconVisual Studio 2015 のリリース ノート


ライセンス条項 | Visual Studio ブログ | Developer Community

Note

これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、Visual Studio 2019 の最新のリリース ノートを参照してください。


Visual Studio 2015 リリース

Visual Studio 2015 のすべてのバージョンのリリース ノートをご覧いただけます。

Visual Studio 2015 のダウンロード

Visual Studio 2015 は My.VisualStudio.com からダウンロードできます。 My.VisualStudio.com を使用するには、無料の Dev Essentials サブスクリプション、または Visual Studio サブスクリプションが必要です。


Release Notes IconVisual Studio 2015

"リリース日: 2015 年 7 月 20 日"

このリリースでの新機能の概要

その他の変更点:

このリリースでの新機能の詳細

Visual C++ for Cross-Platform Mobile Development

Visual Studio の 1 つのソリューション内だけで、ほとんどすべてのプラットフォーム固有のコードを、複数のアプリ プラットフォーム間で、簡単に共有、再利用、ビルド、配置、デバッグできるようになりました。 実行できる操作のほんの一部を次に示します。

  • Android ネイティブ アクティビティ アプリ用のテンプレート、または複数のプラットフォームや Xamarin のネイティブ Android アプリケーションで使用できる共有コード ライブラリ用のテンプレートから、プロジェクトを作成します。

  • プラットフォーム固有の IntelliSense を使用して API を調べ、Android ターゲットまたは Windows ターゲット用の正しいコードを生成します。

  • x86 または ARM ネイティブ プラットフォーム用にビルドを構成します。

  • アタッチされた Android デバイスにコードを配置するか、パフォーマンスに優れている Microsoft の Android エミュレーターをテストに使用します。

  • ブレークポイントやウォッチ変数を設定し、スタックを表示し、Visual Studio デバッガーでコードを段階的に実行します。

  • LogCat ビューアーを使用して、Android デバイスからメッセージ ログを表示します。 (Logcat は診断ツールであり、適切な編集 > ビルド > デバッグ エクスペリエンスに不可欠です。)
    次のことを行うには、Logcat を使います。

    • 検索バーを使って特定のログ メッセージを検索します。
    • 自動スクロールの切り替えを使って、今後発生するログ メッセージを簡単に表示します。
    • 前のログ出力メッセージをクリアします。
    • さまざまなログ レベルから選択します。
  • iOS プラットフォームを対象とする C++ コードを記述し、コード共有、クロスプラットフォーム IntelliSense、リファクタリング、ピーク定義などをはじめとする高度なコード作成機能を利用します。 iOS のサポートはまだ作業中であるため、近々公開される詳細に注意してください。 バグについては、Connect を使用してフィードバックを送信できます。 さらに、Visual Studio IDE の気に入った機能の報告を使って、アイデアをお送りいただくこともできます。

また、以下についても追加または更新しました。

  • Android API レベル 21 (Lollipop) のサポート。
  • Android 用のメイクファイルのサポートに基づく新しいテンプレート。これにより、外部ビルド システム (NDK- BUILD を含む) を使用できます。
  • すべてのテンプレートでのプリコンパイル済みヘッダー (動的共有ライブラリ、静的ライブラリ、クロスプラットフォーム モバイル テンプレートを含む)。

Visual Studio Tools for Apache Cordova

以前は Multi-Device Hybrid Apps for Visual Studio と呼ばれていた Visual Studio Tools for Apache Cordova を使うと、1 つの単純な Visual Studio プロジェクトから Android、iOS、Windows、Windows Phone を対象とするクロスプラットフォーム アプリを簡単にビルド、デバッグ、テストできます。

Visual Studio 2015 RC では、以前の CTP で使用可能なすべての機能を利用できるようになりました。これには、次の機能強化が含まれます。

  • Ripple に対する保存時の更新 - リビルドは必要ありません
  • iOS シミュレーターまたは Mac 上の接続されているデバイスにアプリが展開されているときは、Visual Studio から iOS バージョンのアプリをデバッグします
  • 付属のリモート iOS ビルド エージェントに関するセキュリティの強化と、構成の簡略化
  • Git またはファイルシステムからプロジェクトにカスタム プラグインを追加するためのサポートを含む、プラグイン管理エクスペリエンスの改善
  • 改善された config.xml デザイナーからプラットフォーム固有の構成オプションを選択します
  • Apache Cordova 4.0.0 のサポート。

フィードバックに対応して、デバッグできるデバイスの数を次のように増やしました。

  • Android 4.4、jsHybugger を備えた Android 4.3 以前
  • iOS 6、7、8
  • Windows ストア 8.1

その後、デバッグのサポートをさらに拡大しました。 Windows Phone 8.1 を対象とする Apache Cordova アプリをデバッグできるようになりました。

Windows Phone 8.1 エミュレーターまたはアタッチされているデバイスで、ブレークポイントの設定、変数の検査、コンソールの使用、その他のデバッグ タスクの実行を行うことができます。

Debugging with Visual Studio Tools for Apache Cordova

RC リリース向けの CLI 相互運用性を追加しました。 Visual Studio の Cordova プロジェクトが、ディスク上のプロジェクト フォルダーに対して行われた変更と同期されるようになりました。 サード パーティ製のツールや他のオペレーティング システムを使用している場合でも、Visual Studio との間で変更をやり取りできます。 (Cordova プロジェクトの既定のファイル構造は、Apache Cordova コマンド ライン ツールで想定される構造に基づいているため、Apache Cordova CLI やそのフォルダー構造を必要とするその他のツールで簡単に直接操作できます)。

Visual Studio Emulator for Android

Visual Studio Emulator for Android は、Visual Studio のクロスプラットフォーム プロジェクト (Xamarin または C++) または Visual Studio Tools for Apache Cordova で使用できます。 エミュレーターを使用すると、Hyper-V の競合なしに異なるプラットフォーム エミュレーター間で切り替えることができます。 GPS/位置情報、加速度計、画面回転、ズーム、SD カード、カメラ、マルチタッチ、ネットワーク アクセスなど、さまざまなセンサーとシミュレーションをサポートしています。 また、Android バージョン 4.4 (KitKat、API レベル 19) と 5.0 (Lollipop、API レベル 21) もサポートしています。

Visual Studio Emulator for Android では、WiFi シミュレーションと、いくつかの異なるデバイス ハードウェア構成から選択する機能の両方がサポートされています。

RTM 用に次の新機能を追加しました。

  • 新しいプラットフォーム。 Jellybean (API 17) と Lollipop 5.1 (API 22) イメージを使用できます。
  • コマンド ライン インターフェイス。 コマンド プロンプトで %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe に移動すると、UI を使わずにエミュレーター マネージャーを操作できます (リスト、インストール、プロファイルの開始など)。
  • zip ライブラリのドラッグ アンド ドロップ。 フラッシュ可能な zip をエミュレーターにドラッグ アンド ドロップすると、自動的にアンパックしてインストールされるようになりました。
  • [SD カード] タブ。[Additional Tools] (追加ツール) ウィンドウのこの新しいタブを使用すると、SD カードとの間でデータをプッシュおよびプルできます。
  • 単独で取得。 エミュレーターは、Visual Studio をインストールしなくてもコンピューターにインストールできます。 エミュレーター マネージャーへのショートカットが [スタート] メニューに表示され、任意の開発ツール チェーンから起動して使用できます。

詳細については、「Visual Studio Emulator for Android」を参照してください。

ユニバーサル Windows アプリ開発用 Visual Studio Tools

ユニバーサル Windows アプリ開発用 Visual Studio ツールが、Visual Studio のセットアップと統合されています。 これらのツールを使用すると、すべての Windows 10 デバイス (携帯電話、タブレットまたはノート PC、デスク上の PC、IoT デバイス、そして近い将来は Xbox 本体、Surface Hub など) で動作する Windows アプリを構築できます。 さらに、これらのツールを使用して、Windows 10 API を利用する Windows デスクトップ アプリケーションを構築することもできます。 詳細については、「ユニバーサル Windows アプリ用 Visual Studio Tools の新機能」を参照してください。

Windows アプリの開発の詳細については、ユニバーサル Windows アプリのガイドに関する記事および Windows デベロッパー センターを参照してください。 最新の Windows ビルドと SDK の詳細については、Windows Insider ポータルを参照してください。

Visual C++

このリリースでは、C++ コンパイラと標準ライブラリが更新されました。C++11 のサポートが強化され、一部の C++14 機能が初めてサポートされました。 また、C++17 規格に組み込まれる予定の機能の一部も予備的にサポートされています。

さらに、500 を超えるコンパイラのバグが修正されました。これには、Microsoft Developer Community を通じて多くのユーザーから報告されたバグが含まれます。ありがとうございます。

言語機能

コンパイラを標準の C++ に近づけるために、次の新機能を追加しました。

  • 再開可能な関数 (resume/await) resume および await キーワードにより、非同期プログラミングのサポートが言語レベルで提供され、再開可能な関数を使用できるようになりました。 現時点では、この機能は x64 ターゲットでのみ使用可能です。 C++17 に対する提案 [N3858]
  • ジェネリック (ポリモーフィック) ラムダ式 ラムダ関数のパラメーターの型を auto を使用して指定できるようになりました。コンパイラはこのコンテキストの auto を、クロージャの関数呼び出し演算子がメンバー関数テンプレートであることを意味し、ラムダ式で auto が使用されているそれぞれの箇所が個々のテンプレート型パラメーターに対応することを意味すると解釈します。 C++14
  • ラムダ キャプチャの式の一般化 init キャプチャとも呼ばれます。 任意の式の結果を、ラムダのキャプチャ句内の変数に割り当てることができるようになりました。 これにより、移動専用の型を値によってキャプチャできるようになり、クロージャ オブジェクトに含まれる任意のデータ メンバーをラムダ式を使用して定義できるようになりました。 C++14
  • バイナリ リテラルがサポートされるようになりました。 このリテラルは、先頭が 0B または 0b で、0 および 1 の桁のみで構成されます。 C++14
  • 戻り値の型の推論 通常の関数の戻り値の型を推論できるようになりました。これには、複数の return ステートメントのある関数や再帰関数も含まれます。 このような関数定義では、戻り値の型を後ろに置く関数定義の場合のように auto キーワードを先頭に置きますが、後ろに置く戻り値の型は省略します。 C++14
  • decltype(auto) 初期化式に auto キーワードを使用した型推論では、ref 修飾子と最上位レベルの cv 修飾子が式から取り除かれます。 decltype(auto) では、ref 修飾子と cv 修飾子が保持され、auto を使用できる任意の位置で使用できるようになりました。ただし、推論された戻り値の型を持つ関数、または戻り値の型を後ろに置いた関数の先頭は除きます。 C++14
  • 特殊メンバー関数 move の暗黙的な生成 条件が許せば、move コンストラクターと move 代入演算子が暗黙的に生成されるようになりました。これにより、コンパイラは C++11 の右辺値参照に完全に準拠しました。 C++11
  • コンストラクターの継承 派生クラスで基底クラス Base のコンストラクターを継承するように指定するために、その定義に Base::Base; を使用したステートメントを含めることができるようになりました。 派生クラスは、基底クラスのすべてのコンストラクターしか継承できません。特定の基底コンストラクターのみを継承する方法はありません。 複数の基底クラスに同じシグネチャを持つコンストラクターがある場合は、派生クラスはそれら複数の基底クラスから継承することはできません。また、継承されたコンストラクターのいずれかと同じシグネチャを持つコンストラクターを派生クラスで定義することもできません。 C++11
  • アラインメントの照会と制御 変数のアラインメントを照会するには alignof() 演算子を使用し、アラインメントを制御するには alignas() 指定子を使用します。 alignof() は、割り当てる必要がある型のインスタンスのバイト境界を返します。参照の場合は参照先の型のアラインメントを返し、配列の場合は要素型のアラインメントを返します。 alignas() は、変数のアラインメントを制御します。定数または type を引数にとります。ここで、type は alignas (alignof(type)) の短縮形です。 C++11
  • sizeof の拡張機能 クラスまたは構造体のメンバー変数のサイズを、クラスまたは構造体のインスタンスなしで sizeof() を使用して判別できるようになりました。 C++11
  • constexpr C++11 constexpr の部分的なサポート。 C++11 (部分的)
  • ユーザー定義リテラル (UDL) 特定の意味を持たせるために、数値リテラルおよび文字列リテラルにサフィックスを追加できるようになりました。 コンパイラは、サフィックスの付いたリテラルを該当する UDL 演算子への呼び出しとして解釈します。 C++11
  • スレッド セーフな "マジック" 静的変数 静的ローカル変数は、スレッド セーフな方法で初期化されるようになったため、手動による同期の必要がなくなりました。 スレッド セーフであるのは初期化のみであるため、複数のスレッドで静的ローカル変数を使用する場合には、引き続き手動で同期する必要があります。 CRT の依存関係を避けるには、/Zc:threadSafeInit-フラグを使用してスレッド セーフな静的変数の機能を無効にできます。 C++11
  • スレッド ローカル ストレージ thread_local キーワードを使用すると、スレッドごとに独立したオブジェクトを作成する必要があることを宣言できます。 C++11
  • noexcept 演算子を使用して、式が例外をスローする可能性があるかどうかを確認できるようになりました。 関数が例外をスローしないことを指定するには、noexcept 指定子を使用できます。 C++11
  • インライン名前空間 名前空間をインラインで指定し、その指定で囲まれた内容の名前空間を宣言できるようになりました。 インラインの名前空間を使用すると、既定では最新バージョンを公開しながら、明示的に指定すれば引き続き以前のバージョンの API を使用できるという、バージョン管理されたライブラリを作成できます。 C++11
  • 共用体の制限解除 共用体型に、自明でないコンストラクターを持つ型を含められるようになりました。 このような共用体では、コンストラクターを定義する必要があります。 C++11
  • 新しい文字型と Unicode リテラル UTF-8、UTF-16、および UTF-32 の文字リテラルと文字列リテラルがサポートされるようになり、新しい文字型として char16_t と char32_t が導入されました。 文字リテラルの先頭には u8 (UTF-8)、u (UTF-16)、または U (UTF-32) を、U'a' のように指定します。また、文字列リテラルには、未加工文字列に相当するプレフィックとして u8R (UTF-8 未加工文字列)、uR (UTF-16 未加工文字列)、または UR (UTF-32 未加工文字列) を追加します。 ユニバーサル文字名を Unicode リテラル内で自由に使用できます (たとえば、u'\u00EF'、u8"\u00EF is i"、u"\U000000ef is I" など)。 C++11
  • func。事前定義の識別子 func は、外側の関数の非修飾かつ非装飾の名前を含む文字列として暗黙的に定義されます。 C++11
  • __restrict__ restrict を参照に適用できるようになりました。
  • Typename キーワード。 ユーザーは、template テンプレート パラメーターでクラスの代わりに typename を記述できるようになりました。 C++14
  • グローバルな void operator delete(void *, std::size_t) noexceptvoid operator delete[](void *, std::size_t) noexcept をオーバーロードできるようになりました。 C++14
  • 桁区切り記号 数値リテラルを単一引用符で区切って読みやすくすることができます。 例: int x = 1'000'000;。 C++14
  • リテラル内のユニバーサル文字名 リテラル内のコード ポイントとして、"A" や改行文字などの基本的な文字を記述できるようになりました。 例: const char *s = "\u0041\u000A";。 C++11
  • 非静的データ メンバー初期化子 初期化子リストで正常に動作するようになりました。 C++11
  • 属性 関数を [[noreturn]] と指定して、関数が返らないことをコンパイラに通知できるようになりました (例外をスローすることはできます)。 さまざまなコンストラクトを [[deprecated]] と指定することもできるようになりました。 名前空間と列挙子で属性が許可されるようになりました。 C++11、C++14、C++17
  • ユーザー定義リテラル (UDL) 数値リテラルと文字列リテラルに、リテラル データに対してカスタマイズされた計算を実行する意味のあるサフィックスを指定できるようになりました。 C++11
  • データ依存関係の順序付け属性 関数パラメーター、ラムダ パラメーター、または関数宣言を [[carries_dependency]] と指定して、頻繁に読み取られるがほとんど変更されないコンカレント データ構造の最適化を改善できるようになりました。 C++11
  • かっこ付き初期化リストでの auto の新しい規則 コピー リスト初期化での自動演繹では、std::initializer_list と演繹されるか、そうでなければ不正な形式になります。 C++17

Visual C++ ライブラリの機能

  • 標準ライブラリ型のためのユーザー定義リテラル (UDL) 利便性を高めるため、<chrono>、<string>、<complex> ヘッダーに UDL 演算子が組み込まれました。 たとえば、123ms は std::chrono::milliseconds(123) を、"hello"s は std::string("hello") を、3.14i は std::complex(0.0, 3.14) を意味します。
  • Null 前方反復子 標準ライブラリで、コンテナー インスタンスを参照しない前方反復子を作成できるようになりました。 このような反復子は値で初期化され、特定のコンテナー型との等価性が比較されます。 値で初期化される反復子と値で初期化されない反復子との比較は未定義です。 C++14
  • quoted() 標準ライブラリで quoted() 関数がサポートされるようになり、引用符で囲まれた文字列値の処理や入出力が容易になりました。 quoted() では、引用符で囲まれた文字列全体が 1 つのエンティティとして (入出力ストリーム上で空白以外の文字の文字列として) 扱われます。また、入出力操作中にエスケープ シーケンスが保持されます。 C++14
  • 異種の連想ルックアップ 標準ライブラリで連想コンテナーの異種 Lookup 関数がサポートされるようになりました。 この関数では、key_type と比較可能な型である限り、key_type 以外の型による参照を実行できます。 C++14
  • コンパイル時の整数シーケンス 標準ライブラリで integer_sequence 型がサポートされるようになりました。これはコンパイル時に評価される整数値のシーケンスを表し、パラメーター パックの操作が簡単になり、一部のテンプレート プログラミング パターンが簡素化されます。 C++14
  • exchange() 標準ライブラリで std::exchange() ユーティリティ関数がサポートされるようになりました。この関数は、オブジェクトに新しい値を割り当て、古い値を返します。 複合型の場合、exchange() は、move コンストラクターが使用可能な場合に古い値がコピーされることを防ぎ、新しい値が一時的であるかまたは移動される場合に新しい値がコピーされることを防ぎ、任意の変換代入演算子を利用して任意の型を新しい値として受け入れることができます。 C++14
  • 2 範囲の equal()、is_permutation()、mismatch() 標準ライブラリで 2 つの範囲を受け入れる std::equal()、std::is_permutation()、および std::mismatch() のオーバーロードがサポートされるようになりました。 これらのオーバーロードは、異なる長さのシーケンスを処理します。 C++14
  • get<T>() 標準ライブラリで、get<T>() テンプレート関数がサポートされるようになり、タプル要素をその型によってアドレス指定できるようになりました。 タプルに同じ型の要素が複数含まれている場合、get<T>() はその型によってアドレス指定できませんが、その他の固有の型の要素はアドレス指定できます。 C++14
  • tuple_element_t 標準ライブラリで tuple_element_t<I, T> 型エイリアスがサポートされるようになりました。これは、型名 tuple_element<I, T>::type のエイリアスです。 これは、<type_traits> のその他のメタ関数型エイリアスと同様に、テンプレート プログラマに利便性を提供します。 C++14
  • File System "V3" Technical Specification 含まれている File System Technical Specification の実装が最終バージョンに更新されました。
  • 最小アロケーター 標準ライブラリで最小アロケーター インターフェイスが完全にサポートされるようになりました。主な修正点は、std::function、shared_ptr、allocate_shared()、および basic_string などです。 C++11
  • <chrono> 時系列型 high_resolution_clock および steady_clock が修正されました。 C++11
  • constexpr が、C++ 標準ライブラリ全体で実装されるようになりました。 C++11、C++14、C++17
  • quick_exit() quick_exit() を呼び出し、at_quick_exit() でクリーンアップ コードを実行することで、マルチスレッド プロセスをよりクリーンに終了できるようになりました。 C++11
  • void_t では、高度なテンプレート メタプログラミングがサポートされています。 C++17
  • unique_ptr<T[]> への変換が、安全であることがわかっている場合は、許可されるようになりました。 C++17
  • invoke() を使用すると、関数オブジェクト、メンバー関数へのポインター、データ メンバーへのポインターを統一構文で呼び出すことができます。 C++17
  • noexcept 標準ライブラリで、特定の関数での noexcept の使用がクリーンアップされました。 C++17
  • uncaught_exceptions() は、処理中の例外の数を報告します (1 より多い可能性があります)。 C++17
  • reference_wrapper を簡単にコピーできるようになりました。 C++17
  • map/unordered_map で、insert_or_assign()/try_emplace() がサポートされるようになりました。 C++17
  • 非メンバー関数 size()empty()data() が提供されるようになりました。 C++17
  • auto_ptrrandom_shuffle()古い <functional> メカニズムは、C++11/14 で非推奨になり、C++17 で削除されました。 それらは Visual Studio 2015 では既定で提供されますが、プロジェクト全体で _HAS_AUTO_PTR_ETC を 0 に定義すると、その定義は削除されます。
  • unique_ptr の割り当てが正確に制限されるようになりました。 C++17
  • bool_constant が、integral_constant<bool> の別名としてサポートされるようになりました。 C++17

Visual C++ の高速ビルド

  • インクリメンタルなリンク時のコード生成 (LTCG) 編集の影響を受けるプロジェクトの部分のみをリビルドするように LTCG に指示できるようになりました。 これにより、LTCG を使用するアプリケーションのリンク時間が大幅に短縮されます。 /LTCG:incremental リンカー スイッチを使用して、この機能をアクティブにします。
  • 静的ライブラリのインクリメンタル リンク 他のコード モジュールによって参照されている静的ライブラリに対する変更が、インクリメンタルにリンクされるようになりました。
  • /Debug:FastLink では、新しい PDB 作成手法を使用することによりリンク時間が実質的に短縮されます。
  • リンカーのアルゴリズムが改善されたため、リンク時間が短縮されました。
  • テンプレートを大量に使用するコードのビルドを高速化するための改善が行われました。
  • ガイド付き最適化のプロファイル (PGO) のインストルメンテーションの高速化 ゲームおよびリアルタイムのシステム用の新しい軽量のインストルメンテーション モードが PGO に導入されました。 /GENPROFILE および /FASTGETPROFILE リンカー スイッチによって使用可能になった他の新機能と組み合わせて使用することにより、PGO を使用する際にコードの品質とビルド速度のバランスを取ることができます。
  • オブジェクトのファイル サイズの縮小 コンパイラと C++ 標準ライブラリの機能強化により、オブジェクト ファイルと静的ライブラリが大幅に小さくなりました。 この機能強化は、動的リンク ライブラリ (DLL) や実行可能ファイル (EXE) のサイズには影響しません。冗長なコードはこれまでリンカーによって削除されていたためです。

Visual C++ のパフォーマンスとコードの品質

  • 自動ベクター化の機能強化。 制御フロー (if-then-else) のベクター化、/O1 でのコンパイル時のベクター化 (サイズ最小化)、およびベクター コードの全体的な品質を改善しました (並列 STL のサポート、範囲ベースの for ループのベクター化の強化、#pragma loop(ivdep) のサポートなど)。
  • スカラー最適化の機能強化。 ビット テスト演算のコード生成の改良、制御フローのマージと最適化 (loop-if スイッチ)、およびその他のスカラー最適化 (std::min および std::max のコード生成の改良など) を行いました。
  • ガイド付き最適化のプロファイル (PGO)。 参照セットの強化、データ レイアウト機能の強化、以前に作成したインライン展開を再利用できる機能、速度とサイズ、レイアウト決定など、多くの機能拡張を PGO に対して行いました。
  • 制御フロー ガード (CFG)。 新しいセキュリティ機能を追加しました。プロジェクトに新しいオプションを追加するだけで、Visual C++ コンパイラによって追加のセキュリティ チェックがバイナリに挿入され、コードのハイジャックの試行を検出するのに役立ちます。 チェックが発生すると、ハイジャック犯がデータやPCに損害を与える前に、コードの実行が停止されます。

Note

コマンド オプションが更新されました。 以前のリリースで行ったように /d2guard4 スイッチを使用する代わりに、/guard:cf を使用する必要があります。

Visual C++ の生産性、デバッグ、診断

C++ のリファクタリングのサポートに次の機能が追加されました。

  • シンボルの名前変更 シンボルのすべての出現箇所を新しい名前に変更します。
  • 関数の抽出 選択したコードを独自の関数に移動します。 このリファクタリングは、Visual Studio ギャラリーで Visual Studio の拡張機能として入手できます。
  • 純粋仮想関数の実装 クラスまたは構造体によって継承される純粋仮想関数の関数定義を生成します。 複数および再帰的な継承がサポートされます。 このリファクタリングは、継承しているクラス定義からアクティブ化して、継承されるすべての純粋仮想関数を実装するか、または基底クラスの指定子からアクティブ化して、その基底クラスからの純粋仮想関数のみを実装します。
  • 宣言または定義の作成 既存の定義から宣言を生成するか、または既存の宣言から既定の定義を生成します。 このリファクタリングへは、既存の宣言または定義から、あるいは電球のインジケーターからアクセスします。
  • 関数定義の移動 関数の本体をソース コード ファイルとヘッダー ファイルの間で移動します。 このリファクタリングは、関数のシグネチャからアクティブ化します。
  • 未加工の文字列リテラルへの変換 エスケープ シーケンスを格納している文字列を未加工の文字列リテラルに変換します。 サポートされているエスケープ シーケンスは、\n (改行)、\t (タブ)、' (単一引用符)、" (二重引用符)、? です (疑問符) に設定します。 この機能をアクティブ化するには、文字列内の任意の場所を右クリックします。

Visual C++ ではプログラム データベース (PDB) に関して次のような機能強化が行われています。

  • ソリューション (特に大規模なソリューション) のスキャンの速度が向上しました。
  • [定義へ移動] などの操作が、ソリューションのスキャン中にブロックされなくなりました。ただし、新しいソリューションを初めて開いたときの初期ソリューション スキャンの実行中は除きます。

IntelliSense の読みやすさの向上: パラメーターのヘルプとクイックヒントで、複雑なテンプレートのインスタンス化と typedef が簡素化され、読みやすくなりました。

"C++ でのデバッガーの視覚化"

Visual Studio プロジェクトに Natvis デバッガー視覚化機能が追加され、管理とソース制御の統合が容易になりました。 プロジェクトに追加された Natvis ファイルは、プロジェクトの外部の Natvis ビジュアライザーよりも、評価時に優先されます。 詳細については、デバッガーでのネイティブ オブジェクトのカスタム ビューの作成に関する記事をご覧ください。

また、RC からは、Android での C++ のデバッグ中に Natvis ファイルを使用できます。 デバッガーには、多くの一般的なテンプレートの視覚化が含まれており、C++ プロジェクトに追加されるカスタム ファイルの読み込みがサポートされています。

"ネイティブ メモリ診断"

  • メモリ診断セッション (Alt + F2) では、ネイティブ アプリケーションのメモリ使用をリアルタイムで監視できます。
  • メモリのスナップショットは、アプリケーションのヒープ内容の瞬間的なイメージをキャプチャします。 2 つのメモリ スナップショットを比較すると、ヒープの状態の違いを調べることができます。 アプリケーションを停止した後の各インスタンスのオブジェクト型、インスタンス値、および割り当て呼び出しスタックが表示されます。

デッドロックの検出と回復の強化。[ウォッチ] ウィンドウおよび [イミディエイト] ウィンドウから C++ の関数を呼び出したときのデッドロックの検出と回復が強化されました。

コンパイラの診断の強化 - 疑わしいコードについてコンパイラが提示する警告が拡張されました。 また、新しい警告が追加されました (シャドウされた変数や、printf の書式指定文字列の不一致など)。 既存の警告メッセージがより明確になりました。

/Wv フラグ - 特定のコンパイラ バージョン XX.YY.ZZZZ より後に導入された警告を無効にできるようになりました。無効にするには、/Wv:XX.YY.ZZZZ フラグを使用します。 /Wv フラグを使用して指定される警告に加えて、その他の特定の警告を無効にすることができます。

最適化コードのデバッグのサポート強化 - /Zi、/Zo、または/Z7 フラグを有効にすると、コードがデバッグされるようになりました。

"Visual C++ のグラフィックス診断"

グラフィックス診断が次の機能により強化されました。

  • 連続キャプチャ 1 つのキャプチャで最大 30 までの連続フレームをキャプチャできます。
  • プログラムによるキャプチャ フレームのキャプチャをプログラムから開始できます。 プログラムによるキャプチャが特に便利になるのは、Present を呼び出すことがないプログラムで計算シェーダーをデバッグする場合や、レンダリングの問題を手動でキャプチャすることが難しいものの、実行時にアプリの状態からプログラムによって予測できる場合などです。
  • グラフィックス イベント一覧の機能拡張 新しい [描画呼び出し] ビューが追加されました。キャプチャしたイベントとその状態が、描画呼び出しに基づいて編成された階層で表示されます。 描画呼び出しを展開すると、描画呼び出しの時点で最新のデバイスの状態が表示されます。それぞれの状態の種類を展開すると、それらの状態に値を設定したイベントが表示されます。
  • Windows Phone 8.1 のサポート グラフィックス診断で、Phone エミュレーターまたはテザリングされた Phone での Windows アプリのデバッグが完全にサポートされるようになりました。
  • グラフィックス フレーム分析 このツールは、キャプチャされたフレームに関するパフォーマンス測定値を収集します。また、さまざまなテクスチャ テクニックを適用した場合のパフォーマンスに対する影響に関する分析情報を提供する、一連の事前定義の実験を実行します。 フレーム分析では、ハードウェアからパフォーマンス カウンタも収集します。
  • グラフィックス分析の専用 UI 新しい Visual Studio Graphics Analyzer のウィンドウは、グラフィックス フレーム分析専用のワークスペースです。
  • シェーダーの編集と適用 アプリを再実行することなく、キャプチャしたログでシェーダー コードの変更の影響を表示できます。
  • [ツール] > [オプション] > [グラフィックス診断] でキャプチャ オプションを構成します。
  • フレームをキャプチャして再生するためのコマンド ライン ツール
  • DirectX12 向けのグラフィックス診断のサポート。 Visual Studio のグラフィックス診断ツールで、DirectX 12 アプリケーションのレンダリングの問題のデバッグがサポートされるようになりました。

"新しい GPU 使用率ツール"

Visual Studio 2015 の GPU Usage ツールを使用すると、DirectX アプリケーションの GPU 使用状況を把握できます。 アプリケーションの実行中にリアルタイムで、フレーム時間、フレーム レート、および GPU 使用状況のグラフを利用できます。 また、このツールは詳細な GPU 使用状況データを収集して分析することで、個々の DirectX イベントの CPU および GPU 実行時間に関する分析情報を提供します。したがって、CPU または GPU がパフォーマンスのボトルネックとなっているかどうかを判断する際に役立ちます。

"Visual C++ マネージド テスト プロジェクトのデバッグの有効化"

このリリースの新機能: Visual C++ マネージド テスト プロジェクトのデバッグを有効にするには、[ツール] > [オプション] > [デバッグ] > [全般] ペインで、[Suppress JIT optimization on module load (Managed only)] (モジュールの読み込み時に JIT 最適化を抑制する (マネージドのみ)) オプションをオンにします。

C# および Visual Basic

言語機能

このリリースでの、C# と Visual Basic 言語のいくつかの新しい機能は、日常のコードの定型句と煩雑さを軽減し、より宣言型のプログラミング スタイルを促進し、2 つの言語をさらに近づけるのに役立ちます。 たとえば、型とメンバーの宣言および null チェックの構文が改善されています。 さらに、ローカル変数を式の内部で宣言でき、await を catch と finally ブロックで使用できます。 これらの機能の多くは、以前のリリースでは 2 つの言語の一方に対してのみ実装されていますが、最終リリースでは両方の言語で使用できるようになります。

  • Nameof は、パラメーター、メンバー、型などの名前を文字列として取得するリファクタリング セーフな方法を提供します。
  • null 条件演算子を使用すると、メンバーとインデクサーにアクセスして呼び出すときに、組み込みの null チェックを使用できます。
  • 文字列補間: 文字列補間では、書式指定文字列に式を挿入する文字列テンプレートを簡潔に記述できます (プレビューでは C# のみ、RTM では VB と C# の両方)。
  • メソッドgetter のみのプロパティなど、ラムダと同様に、本体として 1 つの式を使用できるようになりました。
  • 自動プロパティは初期化子を持つことができ、セッターは必要なくなりました。
  • インデックス初期化子: オブジェクト初期化子の内部で、新しいオブジェクトの特定のインデックスを初期化できるようになりました。 C# のみです。
  • 例外フィルターを使うと、例外を調べて、特定の catch ブロックでキャッチするかどうかを決定できます。
  • 静的クラスに句を使うと、静的メンバーがスコープに直接取り込まれるので、クラス名のプレフィックスを付けずに WriteLine() や Sqrt() を呼び出すことができます。
  • await が catch ブロックと finally ブロックで動作するようになり、一部の非常に面倒な回避策が必要なくなりました。

コード エディターの UI と編集

C# と Visual Basic に関するコード エディターの UI と編集エクスペリエンスが、.NET Compiler Platform ("Roslyn") 上に構築された新しいエクスペリエンスに置き換えられました。 現在好まれている多くの機能が、強化または改善されています。

  • 電球は、一般的なコードの問題の修正やコードのリファクタリングなど、Visual Studio エディターで実行するすべてのクイック アクションの新しいホームです。 コードに問題がある場合は、それらの問題の修正候補が電球に表示されます。 すべてのリファクタリング操作が電球に移動されました。 電球には、Ctrl + <ドット> キーを押していつでもアクセスできます。

Light bulb shows suggestions

  • 新しいコア リファクタリング操作として、インライン一時変数ローカル導入の 2 つがあります。 新しいローカル導入機能の例を次に示します。

Introduce local light bulb

インライン一時変数の例:

Inline temporary light bulb

  • Visual Basic のリファクタリング サポートが初めて追加され、電球にも移動されました。
  • 名前の変更も改善されました。名前を変更する識別子のすべてのインスタンスを強調表示にして、エディターで一度にすべてのインスタンスの新しい名前を直接入力できます。

Improvements to inline renaming

  • 入力時にライブ コード分析と自動修正を行うことができます。対象となる Microsoft プラットフォームと NuGet パッケージに対する特定のコード対応ガイダンスを使用できます。 プレビューでは、他のパッケージと同様に、NuGet ギャラリーから取得した NuGet パッケージを介して、ライブ FxCop アナライザーを追加する必要があります。 特定のライブ規則をプルすると、同等のビルド後 FxCop 規則が置き換えられるため、重複するヒットは発生しません。 Azure パッケージ用の Code Analysis の例を次に示します。

An example from the Code Analysis for Azure package

  • C# と Visual Basic の式エバリュエーターが書き直されました。 機能強化には、ウォッチとイミディエイト ウィンドウでの LINQ 式とラムダ式のサポートが含まれます。

F#

言語とランタイムの機能

F# 4.0 には、ギャップを埋め、より多くのことを "機能" させ、主要な領域のパフォーマンスを向上させる、言語とランタイムに関する多くの新機能の追加が含まれています。 コンパイラとランタイムの全体で、多数のバグ修正と小さなパフォーマンス最適化も実装されています。

  • ファーストクラス関数としてのコンストラクター - クラス名を、そのクラスのコンストラクターを表す、ファーストクラス関数の値として使用できるようになりました。
  • "mutable" と "ref" の統一 - "mutable" 構文をどこでも使用できるようになりました。キャプチャされた値は、必要に応じてコンパイラにより、ヒープベースの "ref" 値に自動的に変換されます。 これが発生したときに開発者が通知を受け取りたい場合に備えて、新しいオプションの警告が追加されました。
  • 提供されるメソッドへの静的パラメーター - 型プロバイダーによって提供される個々のメソッドで、静的パラメーターを指定できるようになりました。
  • null 非許容型の提供 - 提供される型を、標準の [<AllowNullLiteral(false)>] を使って null 非許容として指定できるようになりました。
  • メソッド引数の暗黙的な引用符 - Expr<'t> 型のメソッド引数は、透過的に自動的に引用符が付けられて、引数値およびそれを生成した式の AST の両方で渡されるようになりました。
  • 拡張プリプロセッサ文法 - ブール演算子 ||、&&、! #if プリプロセッサ ディレクティブで () グループ化と共に使用できるようになりました。
  • 測定単位の有利数の指数 - 測定単位は、電気工学などの物理科学で使用されることがある有利数の指数をサポートするようになりました
  • "printf" スタイルの関数での測定値の単位の使用の簡素化 - 単位が付けられた数値は、単位を削除しなくても、数値の printf 書式指定子でシームレスに機能するようになりました。
  • 高次元 .NET 配列のサポート - ランク 5 以上の .NET 配列を F# コードで使用できるようになりました。
  • オブジェクト初期化子での拡張プロパティ - 設定可能な拡張プロパティをオブジェクト初期化子の式で割り当てることができるようになりました。
  • 複数のジェネリック インターフェイス インスタンス化からの継承 - F# で作成されたクラスで、複数のジェネリック インターフェイス インスタンス化を実装するクラスから継承できるようになりました。
  • "StructuredFormatDisplayAttribute" での複数のプロパティ - [<StructuredFormatDisplay>] で指定された %A の書式設定に、複数のプロパティを含めることができるようになりました。
  • 省略できる先頭の "Microsoft" 名前空間 - FSharp.Core からモジュールと名前空間を使用または開く場合、先頭の "Microsoft" は省略可能になりました。

F# ランタイム

  • Array、List、Seq モジュールの正規化 - 各型に対する専用の最適化された実装により、コレクション処理関数のセットが、Array、List、Seq モジュール全体で一貫するようになりました (特定の型に適用できない API がない限り)。
  • 最適化された構造型ハッシュ - プリミティブ型のジェネリック ハッシュ比較のパフォーマンスを向上させるために大幅な最適化が行われ、"distinct" や "groupBy" などの API のパフォーマンスが向上しました。
  • 最適化された非構造型比較演算子 - FSharp.Core.Operators.NonStructuralComparison モジュールを開くことができるようになり、既定の F# 構造型比較演算子をより効率的な非構造型演算子に置き換えることができます。 これにより、カスタム演算子の実装 (特に値型) で型を処理するときに、パフォーマンスが大幅に向上する可能性があります。
  • F# のリストでのスライシング構文 - F# のリストで、サブリストを取得するためのスライシング構文がサポートされるようになりました。
  • System.Net.WebClient' に対する非同期拡張機能 - WebClient の拡張機能 AsyncDownloadFile と AsyncDownloadData を使用できるようになりました。
  • 非同期スタック トレースの改善 - F# の非同期計算で発生する例外で、よりわかりやすいスタック トレースが実行されるようになり、問題の診断が容易になりました。
  • Option に対する相互運用 API - null オブジェクトおよび System.Nullable 値との間での変換のため、さまざまな新しい API が Option モジュールに追加されました。
  • System.Decimal 値に対する引用符のアクティブ パターン - 引用符内の定数リテラル System.Decimal 値を照合するため、アクティブパターンが組み込まれるようになりました。

F# IDE の機能

Visual F# ツールには、多数のバグ修正だけでなく、新しいエクスペリエンスと機能もあります。

  • スクリプトのデバッグ - F# スクリプトを、Visual Studio デバッガーで直接デバッグできるようになりました。
  • プロジェクト テンプレートでのアセンブリ メタデータ - すべての F# プロジェクト テンプレートに、アセンブリ レベルの共通メタデータ属性を含む AssemblyInfo.fs ファイルが含まれるようになりました。
  • 統合された最新のチェック - F# プロジェクトは、Visual Studio でのビルド時に、"最新" の状態を正しく報告するようになりました。
  • オブジェクト初期化子での IntelliSense 入力候補 - オブジェクト初期化子の式で、Ctrl + Space キーを使って、設定可能なプロパティの IntelliSense 入力候補がサポートされるようになりました。
  • 名前付きパラメーターの IntelliSense 入力候補 - メソッドとコンストラクターの呼び出しで、Ctrl + Space を使って、名前付きパラメーターの IntelliSense オートコンプリートがサポートされるようになりました。
  • フォルダーのサポートに関するバグ修正 - Visual F# ツールではプロジェクトのフォルダーは直接サポートされていませんが、プロジェクト システムの多くのバグが修正され、Visual F# Power Tools 拡張機能によって追加されるフォルダーのサポートが改善されました。

.NET Framework 4.6

.NET Framework の最新バージョンは 4.6 です。 ASP.NET、Windows Communication Foundation、Windows Presentation Foundation など、アプリケーション開発テクノロジで多数の機能強化が行われています。 ネットワーク、.NET Framework 基本クラス ライブラリ、共通言語ランタイムにも変更があります (新しい 64 ビット JIT コンパイラ、ユニバーサル Windows プラットフォーム アプリのネイティブ コード コンパイル、アセンブリ ローダーの機能強化など)。

以下はそのような変更のほんの一例です。

  • ASP.NET モデル バインド メソッドがタスクを返すようになりました。
  • ADO.NET で、SQL Server 2016 Community Technology Preview 2 (CTP2) で使用できる Always Encrypted 機能がサポートされるようになりました。
  • Windows Presentation Foundation (WPF) で提供されるタッチのサポートと HDPI レイアウトが改善されています。
  • Windows Communication Foundation (WCF) で、SSL 3.0 と TLS 1.0 に加えて、SSL バージョン TLS 1.1 と TLS 1.2 がサポートされるようになりました。
  • .NET Framework の基本クラス ライブラリには、ガベージ コレクション、タスク ベースの非同期パターン、暗号化の機能強化が含まれます。 また、SIMD 対応のベクター型と、互換性スイッチのサポートが追加され、開発者はライブラリの新しい機能でサポートされる機能の統一されたオプトアウト メカニズムを提供できます。

.NET Framework に追加された新機能の詳細と完全な一覧については、「.NET Framework の新機能」をご覧ください。

Entity Framework

このリリースには、Entity Framework 7 のプレビュー バージョンと、主にバグ修正とコミュニティの貢献を含む Entity Framework 6 の更新が含まれています。

Entity Framework 7

Entity Framework の新しいバージョンでは、新しいプラットフォームと新しいデータ ストアが有効になります。 Windows Phone、Windows ストア、ASP.NET 5、従来のデスクトップ アプリケーションで、Entity Framework を使用できるようになりました。 このバージョンのフレームワークでは、リレーショナル データベースだけでなく、Azure Table Storage や Redis などの非リレーショナル データ ストアもサポートされています。 これには、新しい ASP.NET 5 プロジェクトにインストールされる EF7 ランタイムの早期プレビューが含まれます。 EF7 について詳しくは、EF7 の概要に関するページをご覧ください。

Entity Framework 6.x

このリリースには、Entity Framework 6.1.3 バージョンのランタイムとツールが含まれます。 Entity Framework 6.1.3 には、バグ修正とコミュニティの貢献が含まれています。含まれる変更の一覧は、Entity Framework 6.1.3 で確認できます。

このリリースの多くの場所に、Entity Framework 6.1.1 ランタイムが含まれています。

  • EF ランタイムがまだインストールされていないプロジェクトで Entity Framework Tools を使用して新しいモデルを作成すると、ランタイムがインストールされます。
  • 選択するプロジェクト テンプレートによっては、新しい ASP.NET プロジェクトにランタイムがプレインストールされます。

Visual Studio IDE

共有アカウント

このリリースでの新機能として、Visual Studio で追加したユーザー アカウントを、他のアプリ (Blend for Visual Studio や Microsoft Test Manager など) と共有できます (逆も可能)。

共有プロジェクト

このリリースでは、Visual Basic、C#、JavaScript 用の空の共有プロジェクトの作成に、新しいテンプレートを使用できます。 これらの共有プロジェクトを、いくつかの種類のプロジェクトで参照できるようになりました。

  • フレーバーのない任意の VB/C# プロジェクト (コンソール アプリ、クラス ライブラリ、Windows フォーム アプリなど)
  • Windows Store 8.1 と Windows Phone 8.1 (VB、C#、JavaScript)
  • Windows Phone Silverlight 8.0/8.1 (VB、C#)
  • WPF と PCL

Reference Manager の [共有プロジェクト] タブで、共有プロジェクトへの参照を追加または削除できます。共有プロジェクトの参照は、ソリューション エクスプローラーの [参照] ノードに表示されますが、共有プロジェクトのコードと資産は、メイン プロジェクトにリンクされたファイルであるかのように扱われます。

コード エディター (すべての言語)

[フォルダーを指定して検索] が機能強化され、後続の検索結果を前の検索結果に追加できるようになり、累積された結果を削除できるようになりました。

タッチのサポートを、Visual Studio エディターの次のジェスチャで利用できるようになりました。

  • スクロール (エディター画面の標準および拡張スクロール バーでのタップ アンド ドラッグ)
  • ピンチ操作によるズーム
  • エディターの余白をタップすることによる行全体の選択と、単語をダブルタップすることによるその選択
  • 長押しによるエディターのコンテキスト メニューの呼び出し

タッチには、低いズーム レベルではダブルタップ ジェスチャを信頼できない場合があるという問題があることがわかっています。 新しいタッチ サポート、特に発生する可能性がある問題に関するフィードバックをお寄せください。

XAML デザイナー

Visual Studio のお客様は、外部リソース ディクショナリに格納されているテンプレートとスタイルをそれぞれの使用のコンテキスト内で編集できるようになります。 このエクスペリエンスは、クイック表示を使って XAML デザイナーで真の現場リソース編集を行えるよう、さらに改良されました。

カスタム ウィンドウ レイアウト

[ウィンドウ] メニューの [ウィンドウ レイアウトを保存] をクリックしてカスタム ウィンドウ レイアウトを保存し、[ウィンドウ] メニューの [ウィンドウ レイアウトを適用] クリックしてカスタム レイアウトを適用できるようになりました。 事前に割り当てられたキーボード ショートカットを使ってレイアウトを適用することもできます。 最初の 9 つのレイアウトにも、Ctrl + Alt + 1 から Ctrl + Alt + 9 までのキーボード ショートカットがあります。 その他に、[ウィンドウ] メニューの [ウィンドウ レイアウトの管理] をクリックして、レイアウトの削除、名前変更、並べ替えなどのタスクを実行できます。

高解像度アイコン

デバイスが 100% DPI を超えるスケーリングで実行されている場合、Visual Studio のコマンド バー、ツール ウィンドウのツール バー (標準)、メイン メニュー、エラー一覧、ステータス バー、およびソリューション エクスプローラーの一部のプロジェクトの種類で、高解像度アイコンがサポートされます。

UI の機能強化

  • メニューがすべて大文字スタイルではなく、先頭だけ大文字スタイルで表示されるようになりました。
  • Visual C++ の [プロパティ ページ] ダイアログの [構成] と [プラットフォーム] ドロップダウンの値が変更され、プロパティ ページが閉じられて再び開かれたときに、ユーザーの最後の選択が記憶されています。

Visual Studio フィードバック

速度低下、ハング、クラッシュを報告するためのツールが改善されて、[問題点、改善点の報告] エクスペリエンスが強化されました。 ファイルを添付したり、フィードバックにタグを付けたりして、問題をより適切に説明できるようになりました。 さらに、見つけやすいように、[フィードバック] アイコンとメニュー項目を更新しました。

Visual Studio の拡張性

  • Visual Studio 拡張機能で高解像度アイコンを使用できるようになりました。
  • このリリースではアドインはサポートされなくなりました。 Visual Studio アドイン プロジェクト テンプレートとアドイン マネージャーを削除しました。 アドインを VSPackage 拡張機能に変換することをお勧めします。 詳しくは、「FAQ: アドインから VSPackage 拡張機能への変換」をご覧ください。
  • Visual Studio SDK がインストールされていない場合でも、機能拡張プロジェクトを開けるようになりました。
  • さらに、Visual Studio セットアップを使って Visual Studio SDK をインストールできます。Web サイトにアクセスする必要はなくなりました。 これを行うには、[プログラムの追加と削除] メニューで [Visual Studio 2015] を右クリックして [変更] を選びます。 [Visual Studioセットアップ] ダイアログで、[共通ツール] の下にある [Visual Studio Extensibility Tools] をオンにします。
  • 拡張プロジェクトの移植性と共有の向上のため、Visual Studio SDK 参照アセンブリの NuGet バージョンを使用できます。 詳しくは、VisualStudioExtensibility で発行されているアセンブリを参照してください。

Visual Studio の拡張性の詳細を確認してください。

Blend

美しい XAML アプリを作成するためのユーザー インターフェイス開発エクスペリエンスを向上させるため、Blend for Visual Studio 2015 を再設計しました。 Blend は、Visual Studio と同じ洗練された新しい外観、ソリューションとチーム エクスプローラーのサポート、および Blend と Visual Studio の間のより良いワークフローを容易にする強化されたファイルの再読み込みエクスペリエンスを備えています。 また、生産性向上のために Blend に最も望まれた機能も提供しました。

  • ステートメント入力候補を提供する XAML IntelliSense とソースへのナビゲーションを使用して、XAML をより効率的に記述できるようになりました。
  • XAML のコントロールとリソースは、それらが XAML の定義をここに表示で使用されるコンテキスト内で、表示および編集することもできます。
  • 実行中のアプリで UI の問題を見つけて修正する作業が、XAML デバッグ用の UI ツールを使用して簡単になりました。これにより、ライブ ビジュアル ツリーと、ツリー内の任意の要素のプロパティを調べることができます。
  • NuGet のサポートが追加されたので、Blend で NuGet パッケージを管理できます。
  • また、アニメーション ワークスペースの機能を、さまざまなウィンドウ レイアウトを作成し、それをマシン間でローミングするために使用できる、より強力な同期レイアウト機能に置き換えました。
  • マウスの代わりにキーボードを使用するパワー ユーザー向けに、Blend のデザイナー ペインをキーボードで完全にアクセスできるようにしました。
  • 最後に、誰でもアクセスできるソフトウェアの作成に向けた Microsoft の継続的な取り組みの一環として、Blend を全画面表示リーダーとハイ コントラストでアクセスできるようにしました。

Blend に追加された新機能について詳しくは、プレビューに関するブログ記事をご覧ください。

デバッグと診断

アタッチ時の管理されたエディット コンティニュ

RC の時点では、.NET アプリケーションにアタッチし、環境変数

complus_forceenc をターゲット プロセスで 1 に設定すると、エディット コンティニュを行うことができます。

ブレークポイントの構成

新しい [ブレークポイント設定] ウィンドウでは、ブレークポイントの条件とアクションを指定できます。 このウィンドウには、ブレークポイントの条件とアクションのための強化された IntelliSense のサポートが含まれます。 元に戻す (Ctrl + Z) を使って、削除されたブレークポイントを復元できます。

デバッガー ウィンドウでのラムダ式

C# と Visual Basic の [ウォッチ]、[イミディエイト]、その他のデバッガー ウィンドウで、ラムダ式を使用できるようになりました。

パフォーマンスのヒント

PerfTips 機能を使うと、ユーザーがデバッガーでブレークポイントを設定してステップ操作を行ったときに、コードがエディター内で直接実行するのにかかった時間を確認できます。

GPU 使用率

GPU 使用率ツールを使って、DirectX アプリケーションの GPU 使用率を把握できます。 アプリケーションの実行中に、フレーム時間、フレーム レート、GPU 使用状況のグラフを利用できます。 また、このツールは詳細な GPU 使用率データを収集して分析することで、個々の DirectX イベントの CPU および GPU 実行時間に関する分析情報を提供します。したがって、CPU または GPU がパフォーマンスのボトルネックとなっているかどうかを判断するのに役立ちます。

C++ デバッガーの機能強化

ブレークポイントで停止した C++ デバッガーは、結果を計算するためにコードを実行できます ([ウォッチ] ウィンドウと [イミディエイト] ウィンドウへのデータの表示など)。 デバッガーは、呼び出された関数がデッドロック状態であることを検出すると、問題の解決を試みます。

C++ デバッガーがプロセスを起動すると、Windows はデバッグの通常ヒープではなく、通常のヒープを使ってメモリを割り当てるようになりました。 これにより、デバッグの起動が高速化されます。

XAML 用の UI デバッグ ツール

実行中の WPF アプリケーションのビジュアル ツリーと、ツリー内の任意の要素のプロパティを検査する、ライブ ビジュアル ツリーおよびライブ プロパティ エクスプローラーという 2 つの新しいツールが追加されました。 これらのツールを使うと、実行中のアプリ内の任意の要素を選んで、最終的なプロパティ、計算されたプロパティ、レンダリングされたプロパティを表示できます。 ツールには、次のものも含まれます。

  • ライブ ビジュアル ツリー。 デバッグ セッションの間に実行中のアプリケーションの完全なビジュアル ツリーを表示できるようになりました。 ライブ ビジュアル ツリーは、Visual Studioで F5 キーを押すか、実行中のアプリケーションにアタッチすると使用できます。 ライブ ビジュアル ツリーを使うと、実行中のアプリケーション内の要素を選択して、ライブ プロパティ エクスプローラーで検査できます。 子孫の数が表示され、ソース情報を利用できる場合は、要素の定義のファイルと場所をすぐに見つけることができます。
  • ライブ プロパティ エクスプローラー。 この新しいツールを使うと、実行中のアプリケーション内の任意の要素に設定されているプロパティを、設定されているスコープ別にグループ化して検査できます。 デバッグ セッションの間にこれらのプロパティを変更し、実行中のアプリケーションでその変更をすぐに確認できます。

プロパティが相互にどのようにオーバーライドしているかを分解し、選択される動作を明らかにすることは、設計時には困難な場合があります。 XAML 用の新しい UI デバッグ ツールを使うことで、実行時にこれらの検査を行えるようになりました。

(Windows ストア アプリのサポートは、今後の更新プログラムでリリースされる予定です)。

UI Debugging Tools for XAML, full screen

例外設定

例外設定ツールのウィンドウを使って、デバッガーの例外設定を構成できます。 新しいウィンドウは非モーダルであり、パフォーマンス、検索、フィルターの向上した機能が含まれます。

Exceptions Settings - Break when Thrown window

タイムライン ツール

新しいタイムライン ツールでは、アプリケーションが消費したリソースのシナリオ中心のビューが提供され、WPF と Windows Store 8.1 アプリケーションのパフォーマンスの検査、診断、向上に使用できます。

パフォーマンスと診断ハブにあるタイムライン ツールには、UI フレームの準備およびネットワークとディスクの要求への対応にアプリケーションが費やした時間が表示されます。 このツールは、アプリケーションの読み込みや、ページの読み込みなどのシナリオのコンテキストでそれを行います。

The new Timeline tool

診断ツール

デバッグの開始時 (F5 キーの押下) に表示される新しい [診断ツール] ウィンドウが追加されました。 [診断ツール] ウィンドウには、次の機能があります。

  • イベント (IntelliTrace を使用)
    イベント (IntelliTrace を使用) では、デバッグ セッションの間に収集されたデバッガーの中断、出力、IntelliTrace に関するすべてのイベントにアクセスできます。 データは、タイムラインと表形式ビューの両方で表示されます。 2 つのビューは同期され、相互に作用できます。
  • メモリ使用量
    メモリ使用量ツールを使用すると、デバッグ中にアプリのメモリ使用量を監視できます。 また、ネイティブ メモリとマネージド メモリの詳細なスナップショットを取得して比較し、メモリの増加とメモリ リークの原因を分析することもできます。
  • CPU 使用率
    CPU 使用率ツールを使うと、デバッグ中にアプリケーションの CPU 使用率を監視できます。
    (このツールは、Visual Studio 2015 のプレビュー リリースで利用できた CPU 時間 PerfTip に代わるものです)。

以前のリリースの [診断ツール] ウィンドウでは、次のプロジェクトの種類とデバッグ構成がサポートされていました。

  • マネージド WPF、WinForms、コンソール プロジェクト
  • ネイティブ Win32、コンソール、MFC プロジェクト
  • IIS Express のみを使用する ASP.NET 4
  • ローカル環境で実行されているマネージドまたはネイティブ Windows ストア プロジェクト
    (JavaScript を使用している、または電話で実行されている Windows ストア プロジェクトはサポートされていません)

RC リリースの [診断ツール] ウィンドウには、次の機能強化があります。

  • Visual Studio 内の任意のウィンドウの場所に移動でき、異なるデバッグ セッションの間でその場所とサイズを記憶します
  • [デバッグ] > [プロセスにアタッチ] を使ってプロセスにアタッチすると表示され、1 つのプロセスのデータを示します
  • IIS で実行されている ASP.NET プロジェクトのデバッグ時に表示されます
  • ASP.NET 5 プロジェクトのデバッグ時に表示されます
  • リモート Windows デスクトップ デバイスで実行されているアプリのデバッグ時に表示されます
  • デバッグを停止した後で、メモリ スナップショットを表示できます
  • ネイティブ プロジェクトのデバッグ時には、デバッガー イベント (中断イベントのみ) を使用できます

RC リリースには、次の新機能も追加されました。

マイ コードのみ。 F5 キーを押してデバッガーを起動すると、自分のコードのみが表示され、フレームワークや他のコードからのノイズなしで、パフォーマンスの問題や例外を把握できます。 IntelliTrace のこの新しいコード フィルター機能では、システム コードが抑制されて、ユーザー コードだけ表示されるので、"自分のコードのみ" を簡単にデバッグできます。

ネットワーク診断ツール。 この新しいネットワーク診断ツールは、Windows ストア アプリの構築時と、Windows Phone から Xbox や Windows ストアまでのすべての Windows 10 デバイスで実行されるユニバーサル アプリの構築時に、ネットワーク関連の問題を診断するのに役立ちます。

ネットワーク診断ツールは、HTTP 要求と応答ヘッダー、要求と応答のペイロード、Cookie、詳細なタイミング情報など、アプリの HTTP ネットワーク操作に関する情報を記録します。 ネットワーク診断ツールは、次のような一般的なシナリオに関する質問への回答を得るときにも役立ちます。

  • 認証関連の問題 (リソースにアクセスできない理由など)
  • キャッシュ関連の問題 (リソースの最新バージョンが取得されない理由など)
  • アプリの一般的なタスクを実行しているときにダウンロードされたバイト数
  • リソースのアクセスおよびダウンロード時にボトルネックになっている場所

ネットワーク ツールにアクセスするには、Visual Studio 2015 で [診断ツール] ウィンドウを開きます。 [デバッグ] メニューで [デバッグなしで診断ツールを開始] を選びます。 または、Alt + F2 キーを押します。

デバッグ中に表示される [診断ツール] ウィンドウについては、次の機能強化が行われました。

  • アプリのイベントが、IntelliTrace イベント トラックと出力イベント トラックに分割されるのではなく、1 つの IntelliTrace イベント トラックに表示されるようになりました。
  • プログラムの実行中にアプリからのイベントが表示されるようになりました。これで、イベントを表示するために [すべて中断する] を選ぶ必要がなくなりました。
  • コードに設定したトレースポイントのデバッグ履歴をアクティブ化し、ソース コードと呼び出し履歴を表示できるようになりました。
  • メモリ使用量グラフにガベージ コレクションとスナップショットのイベントを表示し、マネージド ガベージ コレクションが発生したときと、メモリ使用量ツールでスナップショットを作成したときを確認できるようになりました。

ASP.NET

ASP.NET 4.6

"ASP.NET モデル バインドによるタスク戻しメソッドのサポート"

以前はタスク戻しであった ASP.NET モデル バインド メソッドはサポートされておらず、構成した場合は実行時に例外がスローされました。 このようなメソッドを使用してアプリケーションをデプロした場合、これらのメソッドが正しく実行されるようになりました。 この変更は、特に .NET 4.6 以降を対象とするアプリケーションにのみ適用されます。

"ASP.NET アプリケーションでの .NET Compiler Platform ("Roslyn") の有効化"

C# と VB の新しい言語機能は、どの ASP.NET 4.6 プロジェクトでも使用できます。 VS 2015 の Web Forms テンプレートには、Microsoft.CodeDom.Providers.DotNetCompilerPlatform パッケージがプレインストールされています。

"HTTP/2 のサポートの追加"

Windows 10 と .NET Framework 4.6 では、HTTP/2 のサポートが追加されました。 HTTP/2 の主な目標は、ブラウザーから Web サイトに 1 つの接続を使うことで、パフォーマンス、待ち時間、ネットワーク使用量を向上させることです。

"Entity Framework 6 をサポートするように更新されたフレームワークとコントロール"

Entity Framework 6 で動作するように、動的データ フレームワーク、エンティティ データ ソース コントロール、ユニバーサル プロバイダーを更新しました。

"認証の更新"

ASP.NET 4.6 テンプレートでは、Azure AD での認証に OpenID Connect ミドルウェアが使われるようになりました。 これにより、プログラミング モデルによる Azure AD での認証がはるかに簡単になります。

[個々のユーザー アカウント] オプションを選んだ場合、ASP.NET 4.6 テンプレートによって、ASP.NET Identity を使って 2 要素認証とソーシャル ログインを使用する方法が示されます。

"ASP.NET MVC 5.2.3、Web ページ 3.2.3、Web API 5.2.3"

MVC 5.2、Web ページ 3.2、Web API 2.2 用の最新のランタイム パッケージを使うように、テンプレート パッケージを更新しました。 これらのパッケージの更新について詳しくは、ASP.NET MVC 5.2.3、Web ページ 3.2.3、Web API 5.2.3 のリリースに関するブログ記事をご覧ください。

ASP.NET Web API OData 5.3.1

ASP.NET Web OData 5.3.1 を使うように Web API OData スキャフォールディングを更新しました。 詳しくは、「ASP.NET Web API OData 5.3 の新機能」をご覧ください。

SignalR 2.1.2

SignalR 2.1.2 を使うようにテンプレート パッケージを更新しました。 GitHub の SignalR リリース ノートを参照してください。

"Microsoft Owin 3.0 パッケージ"

Microsoft Owin 3.0 NuGet パッケージを使うようにテンプレート パッケージを更新しました。 Katana プロジェクトに関する記事をご覧ください。

ASP.NET Identity 2.2.1

ASP.NET Identity 2.2.1 では、2.1 に対して多くのバグ修正とパフォーマンス向上が行われています。 詳しくは、こちらの ASP.NET Identity 2.2.1 に関するブログ記事をご覧ください。

"ASP.NET ツールの更新"

"JSON エディターの機能強化"

JSON スキーマの非同期読み込み、子スキーマのキャッシュ、より優れた IntelliSense のサポートといったパフォーマンスの向上など、JSON エディターでいくつかの改善が行われました。 さらに、次の新機能があります。

  • JSON スキーマの検証。 スキーマ ドロップダウン リストで定義されているスキーマに基づく JSON スキーマ検証機能が追加されています。
  • コンテキスト メニューのアンミニファイ。 JSON エディターを右クリックして [アンミニファイ] コンテキスト メニューを選ぶと、JSON ファイル内の長い配列のミニファイを解除できます。
  • [スキーマの再読み込み] コンテキスト メニュー。 Visual Studio は、インターネットからダウンロードされたスキーマをキャッシュし、Visual Studio の再起動後もキャッシュを使います。 スキーマが変更されたことがわかっている場合は、[スキーマの再読み込み] コンテキスト メニュー (Ctrl + Shift + J キー) を使って、アクティブな JSON ドキュメントで現在使われているスキーマを再ダウンロードし、現在のドキュメントですぐに使用できます。
  • package.json/bower.json 用の IntelliSense。 IntelliSense の検査および package.json と bower.json 両方のファイルに対する検証に加えて、Visual Studio では、JSON エディター内で直接 Bower と npm 両方のパッケージに対するライブ IntelliSense が提供されます。
  • 重複するプロパティの検証。 JSON エディターで、重複するプロパティの検証が提供されるようになりました。 これは、JSON ファイルの作成に関する一般的な問題を把握するのに役立ちます。
  • IntelliSense と JSON ファイルの検証の両方のサポートが、JSON スキーマ ドラフト v4 仕様を完全にサポートすることで大幅に改善されました。 必要なプロパティを簡単に識別できるようになり、エディターでは、プロパティをアルファベット順に簡単に並べ替えることができます。 ミニファイ処理された JSON ファイルの書式を設定すると、自動的にアンミニファイされます。
  • 便利な JSON スキーマ ファイルのオープンソース コレクションである SchemaStore.org のサポートを追加しました。 つまり、SchemaStore.org に関連付けられたスキーマを使用する JSON ファイルを Visual Studio で開くと、IntelliSense と検証が自動的に適用されます。
  • JSON スキーマ作成者のサポートが、スキーマのサニティ検証の向上によってさらに強化されています。

"HTML エディターの機能強化"

HTML エディターで、Web 標準用の IntelliSense が更新され、次の新機能が導入されました。

  • クライアント テンプレートの書式設定の向上。 HTML エディターでは、二重中かっこ構文 {{...}} が解析または書式設定されなくなりました。 これは、その構文の内容が HTML として扱われず、したがって無効にされるようにするためと、HTML フォーマッタを使って正しく行うことができない内容の書式設定が試みられないようにするためです。 これは、Angular、Handlebars、Mustache、その他の二重中かっこテンプレート構文に適しています。
  • カスタム要素、ポリマー要素、属性のサポート。 さまざまなフレームワークに多くのカスタム タグがあるため、HTML エディターではカスタム要素の不明な属性が検証されなくなりました。 不明な要素の下の波線は表示されなくなります。
  • Web コンポーネント用の基本的な IntelliSense。 HTML エディターには、Web コンポーネント標準の一部である <link rel="import" /> に関する IntelliSense があります。
  • HTML 要素のヒント。 エディターでは HTML 要素のヒントが提供されます。
  • #region のサポート。 HTML エディターは領域の折りたたみをサポートするようになりました。 包含スニペットを使って現在の選択範囲を囲むこともできます。
  • タスク リストでの Todo/Hack コメントのサポート。
  • Angular アイコン。 Angular のディレクティブ (例: <<ng-view>) と属性 (例: ng-controller) の両方が、Angular ロゴと共に IntelliSense に表示されるようになり、識別が容易になりました。
  • Bootstrap アイコン。 クラス名が Bootstrap CSS ファイルによって定義されている場合、HTML クラス属性で提供される IntelliSense に Bootstrap のロゴと共に表示されるようになりました。

"CSS、LESS、Sass エディターの機能強化"

  • タスク リストでの Todo/Hack コメントのサポート。
  • LESS エディターに関する @viewport の修正。 LESS エディターで、@viewport に検証の警告が表示されなくなりました。
  • 提供されるスニペットが増えました。 CSS、LESS、Sass エディターでは、開発エクスペリエンスを容易にするため、いっそう多くのスニペットが提供されるようになりました。
  • LESS、Scss、CoffeeScirpt をコンパイルするために、Visual Studio 2015 で拡張機能を使用できるようになりました。 こちらでダウンロードできます。

"JSX エディター (React.js)"

Visual Studio では、.jsx ファイル拡張子を持つファイルの JSX 構文がサポートされるようになりました。 入力時にエディターで IntelliSense、書式設定、検証を取得します。 このエディターは、React.js ライブラリを担当する Facebook チームと共同で構築されました。

ブラウザー リンク

CSS が自動的に同期されます。 CSS ファイルを保存するか、外部で (たとえば、LESS/SASS コンパイラを使って) 変更すると、CSS ファイル全体がブラウザーに再度読み込まれます。 ファイルが自動的に同期できない場合、Ctrl + S キーを押すと自動的に再度読み込まれ、リンクされたブラウザーを更新 (Ctrl + Alt + Enter キー) せずに適切な状態に戻す必要があります。 この機能は、ツール バーで無効にできます。

ASP.NET Core の詳細を確認してください。

ASP.NET 5

ASP.NET 5 は、クラウドとオンプレミス両方のサーバーに対応する最新の Web アプリケーションを構築するための、シンプルで構成可能な .NET スタックです。 このパックには、次の機能があります。

  • 新しい軽量の要求パイプライン
  • IIS で、または独自のプロセスにおいてセルフホステッドで実行します
  • 完全な .NET Framework、または真のサイド バイ サイド バージョン管理をサポートする新しいクラウド最適化ランタイムである .NET Core で実行できる、新しい .NET 実行環境 (DNX) 上で構築されています
  • Windows、Mac、Linux のクロスプラットフォームで実行します
  • ランタイム自体であっても、すべてに NuGet を使います
  • Web UI と Web API 用の統合 Web フレームワークである ASP.NET MVC 6 をサポートします
  • クラウドへのシームレスな移行のための環境ベースの構成
  • すぐに使用できる依存関係の挿入
  • 新しい Visual Studio プロジェクト システムと高生産性のツール エクスペリエンス
  • すべてが .NET Foundation を介した GitHub 上のオープンソース

Visual Studio 2015 には、ASP.NET 5 beta5 ランタイム パッケージが含まれます。 これらのパッケージはまだプレビュー段階であり、運用環境での使用はお勧めしません。 特定の追加された拡張機能と修正された問題について詳しくは、GitHub で公開されているリリース ノートをご覧ください。

Visual Studio 2015 には、ASP.NET 5 アプリケーションの構築と、DNX プロジェクトの使用のための、新しいプロジェクト システムと統合ツール エクスペリエンスが付属しています。 新しいツール機能の一部を次に示します。

  • Windows、Mac、Linux でビルドおよび実行される、クロスプラットフォーム DNX ベースのプロジェクトを作成するための、新しいプロジェクト システム。
  • MVC 6、Identity 3、Entity Framework 7 を使って、ASP.NET 5 の Web サイトと Web API を作成するためのテンプレート。
  • DNX ベースのクラス ライブラリとコンソール アプリケーションを作成するためのテンプレート
  • NuGet を通じてクロスプラットフォームのコマンド ライン ツールを作成して配布します。
  • 開発者コマンド プロンプトから .NET バージョン マネージャー (DNVM) を使って、さまざまな DNX バージョンをインストールして管理します。
  • NuGet パッケージの検索、インストール、復元を行うための統合されたエクスペリエンス。
  • Ctrl + . キーを使って、 C# コードで未解決のシンボルの NuGet パッケージを検索してインストールします。
  • パッケージ管理統合や新しいタスク ランナー エクスプローラーなど、NPM、Grunt/Gulp、Bower を使用したクライアント側 Web 開発用の統合ツール。
  • [実行] ボタンのドロップダウン メニューを使って、Visual Studio 内から直接プロジェクト レベルの DNX コマンドを実行します。
  • カスタム環境変数の設定など、IIS Express を起動するカスタム起動プロファイルを作成します。
  • 1 つのプロジェクトから、.NET Core を含む複数のフレームワークを対象とする NuGet パッケージをビルドします。
  • 1 つのプロジェクトから複数のターゲット フレームワーク用のビルドを行うときの、結合された IntelliSense。
  • タグ ヘルパーなどの ASP.NET 5 によって導入された新しい Razor 機能が、IntelliSense と構文の強調表示の両方で表示されるようになりました。

"このリリースの新機能"

  • 使用できないバージョンの DNX を必要とするプロジェクトを開くと、Visual Studio で必要な DNX バージョンのインストールを求められます。
  • [参照の追加] ダイアログを使って、足りないアセンブリへの参照を追加できるようになりました。
  • ASP.NET 5 Web アプリ テンプレートで、認証用に職場および学校アカウントのオプションがサポートされるようになりました。
  • [新しい ASP.NET プロジェクト] ダイアログの [Host in Cloud] (クラウドでホスト) オプションが、ASP.NET 5 のプロジェクトで使用できるようになりました。
  • サーバー エクスプローラーを使用して、Azure でホストされている ASP.NET 5 プロジェクトの approot の下のファイルをリモート編集します。

詳しくは、GitHub のツールのリリース ノートに関するページと、.NET Web 開発とツールに関するブログを参照してください。

Azure ツール

"アカウント ピッカーの統合"

アカウント ピッカーは、複数のアカウントにワンクリックでアクセスできるようにするため、Web 発行および Web アプリの作成と選択のダイアログ全体で使用されます。 1 回で複数のアカウントにログインでき、リソースを発行するときは個々のアカウントにすばやく簡単にアクセスして選択できます。

API Apps

API Apps プレビュー テンプレート、発行サポート、サーバー エクスプローラーの可視性はすべて、Visual Studio 2015 に移行されました。 最新バージョンの Visual Studio を使って、Azure API Apps を作成して配置できるようになりました。 さらに、API アプリの開発者が、ASP.NET Web API から動的に生成される Swagger の即時使用のサポートが向上するように、Swagger の出力機能が強化されました。

"WebJobs ツール"

次のように、Azure Web サイト内のサーバー エクスプローラーの WebJob ノードで Web ジョブを制御できるようになりました。

  • サーバー エクスプローラーの Web サイト ノードの下にある WebJobs ノード。
  • サーバー エクスプローラーから継続的に WebJob を開始および停止します。
  • サーバー エクスプローラーからオンデマンドまたはスケジュールでジョブを実行します。
  • サーバー エクスプローラーから WebJob ダッシュボードを表示します。
  • [ダッシュボードの表示] コンテキスト メニュー。これを使って、Azure Web サイトの WebJob ダッシュボードに移動します。

WebJobs SDK

Azure WebJob プロジェクト テンプレートには、WebJobs SDK がプレインストールされています。

NuGet

NuGet 2.8.3

DevExtreme プロジェクトと BizTalkProject 2.8.3 のサポートを追加しました。 詳しくは、NuGet 2.8.3 のリリース ノートを参照してください。

NuGet パッケージ マネージャー

NuGet Package Manger のユーザー インターフェイスを更新し、Visual Studio 2015 のソリューション全体でパッケージの管理を容易にしました。 プロジェクトにインストールされているパッケージ間で 1 つのビューを使用すると、NuGet ギャラリーから利用可能なパッケージ、インストールされているパッケージ、利用可能な更新プログラムがあるパッケージの一覧をフィルター処理できます。

NuGet ギャラリー

新しい Web サービスと統合クライアントにより、NuGet ギャラリーのパフォーマンスを向上させました。 NuGet の更新について詳しくは、http://docs.nuget.org をご覧ください。

JavaScript

"JavaScript エディターのサポート"

JavaScript エディターを更新して、さらに使いやすくしました。

  • AngularJS 用のツールのサポート。 AngularJS を使ってアプリを記述する場合、IntelliSense によって Angular コントローラー、サービス、ファクトリ、ディレクティブ、アニメーションに関する提案が提供されます。
  • クラス、Arrow 関数、テンプレート文字列など、(JavaScript の ES6 バージョンからの) 新しい JavaScript 言語機能がサポートされています。
  • ナビゲーション バー共有プロジェクトのサポート。 Windows ユニバーサル アプリ プロジェクトの共有プロジェクトでナビゲーション バーを使えるようになりました。
  • 新しいナビゲーション バー。 新しいナビゲーション バーを使うと、JavaScript ソース コードの主要な要素間を簡単に移動できます。
  • JSDoc コメント。 IntelliSense を使うと、JSDoc 形式で記述されたドキュメント コメントが表示されるようになりました。 (JSDoc コメントについて詳しくは、https://jsdoc.app/ をご覧ください。)
  • オブジェクト リテラル IntelliSense。 JavaScript エディターでは、JSDoc を使って文書化された関数にオブジェクト リテラルを渡すときに、IntelliSense の候補が提供されます。
  • 展開と折りたたみ。 複数行コメント、複数行配列、すべての複数行ブロックなど、JavaScript コードで展開したり折りたたんだりできるセクションが増えました。
  • タスク リストのサポート。 タスク リスト機能を使うと、JavaScript コード内のタスク コメント (// TODO など) を確認できます。

TypeScript

Visual Studio 2015 には、TypeScript ツールの 1.5 リリースが含まれています。 このリリースでは、モジュール、非構造化、for..of、スプレッド、シンボル、計算プロパティ、ES3/ES5 の let/const、ES3/ES5 のタグ付き文字列テンプレートなど、ECMAScript 6 の豊富なサポートが追加されました。 TypeScript 1.5 では、ES6 のサポートに加えて、実験的 ES7 デコレーターの提案、UMD と System.js モジュールの出力、"tsconfig.json" という新しい軽量で移植可能なプロジェクト ファイルのサポートも追加されています。

IntelliTest

Visual Studio 2015 では、.NET コードを探索してテスト データと一連の単体テストを生成する IntelliTest が追加されました。 コードにある各ステートメントについて、そのステートメントを実行するテスト入力が生成されます。 コード内の各条件付き分岐について、ケース分析が実行されます。 たとえば、 にします。

if ステートメントやアサーションなど、例外をスローする可能性があるすべての操作が分析されます。 この分析では、各メソッドのパラメーター化された単体テストでテスト データを生成するために使用され、最大のコード カバレッジを持つ単体テストが作成されます。 その後、ドメインに関する知識を適用して単体テストを改善します。

また、IntelliTest には次の機能も追加されました。

  • パラメーター化された単体テスト。 IntelliTest を使うと、テスト データ生成のガイド、テスト対象のコードの正確性プロパティの指定、テスト対象のコードの探索の指示に使用できる API をサポートできるようになります。 この API は Microsoft.Pex.Framework 名前空間で利用でき、IntelliTest によって生成されるテスト メソッド (パラメーター化された単体テスト、ファクトリ メソッド) で使用できます。 そのため、生成されたテスト メソッドからも [IntelliTest] コンテキスト メニュー コマンドを使用できるようになりました。
  • テスト スタブの作成。 [単体テストの作成] が、テスト プロジェクト、テスト クラス、テスト スタブを作成および構成する機能を提供するコマンドとして、コンテキスト メニューで使用できるようになりました。

IntelliTest (旧称 "スマート 単体テスト") について詳しくは、「IntelliTest でコード用の単体テストを生成する」をご覧ください。

Application Insights

さまざまなパフォーマンス向上とバグ修正に加えて、Application Insights には次の更新が含まれるようになりました。

  • Visual Studio の Application Insights ツールは、Visual Studio 接続済みサービスの一部になりました。 (Application Insights を追加するには、[接続済みサービス] ダイアログを開き、サービスの一覧から [Application Insights] を選びます。)
  • この更新は、Visual Studio 2013 Update 3 または Visual Studio 2013 Update 4 で Application Insights が追加されたプロジェクトと完全に互換性があります。
  • ASP.NET 5 の開発者、Windows 10 ユニバーサル アプリの開発者、Windows 8.1 ユニバーサル アプリの開発者は、Visual Studio から直接 Application Insights をプロジェクトに追加できます。
  • Windows 10 ユニバーサル アプリの開発者は、Application Insights SDK を追加するために Azure にサインインする必要はありません。代わりに、Visual Studio で Application Insights ツールを使って追加できます。
  • Application Insights では Visual Studio のグローバル アカウント ピッカーが使われるため、Visual Studio 全体で同じアカウントを使用できます。
  • プロジェクトの [サービス参照] フォルダーから Application Insights の "概要" 情報を表示できるようになりました。[作業の開始] フォルダーをクリックするだけです。

View Getting Started information for Application Insights from a Project's Service Reference folder.

リリース管理

この機能を使うと、アプリのリリースを管理するプロセスを改善し、個別のステージごとに特定の環境にアプリを配置し、各ステップの承認を得てプロセスの手順を管理できます。 Visual Studio Online 用の Release Management サービスを使うと、オンプレミスのリリース管理サーバーをインストールして保守する必要なく、チェックインから配置までのリリース パイプラインを設定できます。

Visual Studio 2015 では、Release Management の更新バージョンを利用できます。 これは、既存の Release Management for Visual Studio 2013 とよく似ていますが、次の部分のパフォーマンスが向上しています。

  • リリース プロセスと通知の概要を示すリリース管理クライアントの起動ページ。
  • 追加のキャッシュを介した、他のリリース管理クライアント ページでのレンダリングと対話機能。
  • Active Directory と TFS セキュリティ グループの同期。
  • 新しいリリースの作成。

Team Foundation Server 2015 に含まれる新しいビルド システムのビルド定義用のコンポーネントとリリース定義を定義できるようになりました。 コンポーネントを定義する間に、ビルド定義から発行される成果物の名前と同じ (またはそれを含む) コンポーネント名を使って、コンポーネントの成果物を指定することもできます。

Git バージョン管理

簡単にブランチを操作し、履歴で変化がどのように分岐したかを確認できます。

ブランチ

プレフィックスを指定することで、ブランチを階層的に整理できます。

ローカル ブランチとリモート ブランチ (ローカル環境に作成していないブランチを含む) が、ツリー ビューに個別に表示されます。

Git branches

RC の時点で、[ブランチ] ページが次のように作り直されました。

  • ローカル ブランチだけでなく、リモート ブランチからもマージできるようになりました。
  • マージ対象のブランチが、現在チェックアウトされているブランチに固定されました。
  • 現在のブランチから任意のローカル ブランチまたはリモート ブランチにリベースできるようになりました。
  • リモート ブランチをダブルクリックするか、右クリックして [チェックアウト] を選ぶことで、それをチェックアウトできます。

リモート管理

チーム エクスプローラーで Git をリモート構成できるようになりました。 [リポジトリの設定] の新しい [リモート] セクションでは、現在構成されているリモートが示され、リモートを追加、編集、または削除できます。 たとえば、元のリモートの URL を変更する必要がある場合は、[編集] をクリックしてフェッチやプッシュ URL を変更できます。

詳細な履歴

コミットがどのように分岐しているかを、履歴で確認できるようになりました。

Detailed view of history

グラフでは、マージ コミットは灰色で、マージ以外のコミットはそれより明るい色で示されます。 単純ビューと詳細ビューを切り替えることができます。 グラフが切り詰められる場合は、サイズを変更できます。

RC リリースでは、履歴グラフについていくつかの更新を行いました。

  • グラフに表示される詳細さのレベルを制御できるツール バーを追加しました。
  • 現在選択されているコミットから到達可能なコミットを示すため、履歴の線を強調表示するようにしました。
  • ローカルとリモートのブランチが異なる場合は、両方の履歴の線を表示するようにしました。 これは、ローカル ブランチをリベースした後で特に便利です。

チーム エクスプローラーでのリベース

チーム エクスプローラーでのリベースがサポートされるようになりました。 リベースを始めるには、[ブランチ] ページでリベース ポップアップをクリックするか、ブランチを右クリックして [リベース対象...] を選びます。

VSO リポジトリ

VSO リポジトリを作成するときの "作業の開始" エクスペリエンスの改善が済んでおり、新しいリポジトリの作成を効率化するためにさらに多くの変更が行われます。 RC では、既存リポジトリへの新しいコードの追加を簡単にするための小さな変更を行いました。チーム エクスプローラーを使ってリポジトリに接続し、[ファイル] > [新しいプロジェクト] を選ぶと、その接続されたリポジトリのルートからダイアログが始まります。

Visual Studio Online に発行する

[Publish to Visual Studio Online] (Visual Studio Online に発行) 機能を使うと、ローカル リポジトリを Visual Studio Online に配置するプロセスが大幅に簡素化されます。 12 ステップかかっていたものが、2 ステップになります。 チーム エクスプローラーの [同期] ページの新しい [Publish to Visual Studio Online] (Visual Studio Online に発行) セクションでは、Visual Studio アカウント マネージャーで任意のユーザー アカウントを選択できます。 Visual Studio Online アカウントは自動的に一覧で使用できるようになります。URL を覚える必要はありません。 コードを共有する準備ができたら、リポジトリをホストする新規または既存のチーム プロジェクトを選択して、[発行] をクリックするだけで完了です。

Publish to Visual Studio Online dialog box

シングル サインイン

現在、多くの開発者は、アプリケーションの開発時に複数のクラウド サービスを利用しています。 たとえば、クラウド バックエンドをアプリケーションに追加してデータを格納したり、ソース コードをクラウドに格納したり、アプリケーションをストアに発行したりしている可能性があります。

以前は、これらのサービスごとに個別にサインイン プロセスが必要であり、サインインしたユーザーの状態は各サービスで個別に管理されていました。

このリリースでは、Visual Studio で多くの統合されたクラウド サービスにアクセスするために必要な認証プロンプトを減らしています。 現在は、Visual Studio で最初のクラウド サービスに対して認証を行うと、自動的にサインインされるか、他の統合されたクラウド サービスの認証プロンプトが減ります。

CodeLens

エディターで作業に集中しながら、コードに関する詳細を調べます。 コード参照、コードの変更、関連する TFS 項目、単体テストのすべてが、コードから目を離すことなく見つかります。

このリリースでは、CodeLens の "作成者" インジケーターを、新しい "チーム アクティビティ タイムライン" および "作成者と変更" 履歴インジケーターに置き換えました。

  • チーム アクティビティ タイムライン インジケーターでは、最後の作成者と最後の変更が行われた日時が示されます。 このインジケーターを選ぶと、チーム アクティビティ ビューが開き、コードに対する変更のパターンを調べることができます。 これは、経時的な変更の影響を評価するのに役立ちます。
  • 作成者と変更インジケーターでは、ファイルを変更した作成者の数と変更の数が示されます。 このインジケーターを選ぶと、すべての変更の一覧、変更の詳細、および詳細情報と以前のバージョンを確認するためのリンクが開きます。

コードが Team Foundation バージョン管理 (Team Foundation Server と Visual Studio Online の両方) と Git リポジトリでホストされている場合は、インジケーターからすべての情報を見ることができます。 Team Foundation Server または Visual Studio Online で作業している場合は、作業項目に関する情報も取得できます。

これらのインジケーターは、以前のバージョンで使用できたインジケーターと共に、C# と Visual Basic のファイルのコード要素 (メソッド、フィールド、またはクラス) レベルで表示されます。 C# ファイルのチーム アクティビティ タイムライン インジケーターの例を次に示します。

The Team Activity Timeline indicator for a C# file

C# ファイルの作成者と変更インジケーターの例を次に示します。

The Authors and Changes indicator for a C# file

ただし、他のすべての種類のファイル (C++、SQL、JavaScript、その他の種類のファイルなど) については、インジケーターはファイル レベルで表示されるようになりました。 次に示すのは、C# または Visual Basic のコード ファイルではないファイルに対するチーム アクティビティ タイムライン インジケーターの例です。

The Team Activity Timeline indicator for a file that is not a C# or Visual Basic code file

アーキテクチャ、設計、モデリング

コード マップと依存関係グラフ

コード内の特定の依存関係を把握したい場合は、コード マップを作成することでそれを視覚化します。 その後、コードの横に表示されるマップを使って、これらの関係の間を移動できます。 コード マップは、コードの作業中またはデバッグ中にコード内で自分がいる場所を追跡するのにも役立ち、わずかなコードを読むだけで、コードの設計の詳細を把握できます。

最終的な RTM のリリースでは、コマンドが選択、編集、管理の単位でセクションにグループ化され、グループの内容のレイアウトが変更されて、コード要素とリンクのショートカット メニューがずっと使いやすくなりました。 また、テスト プロジェクトが他のプロジェクトとは異なるスタイルで表示されること、およびマップの要素のアイコンがさらに適切なバージョンに更新されたことにも注意してください。

New groupings in code maps

また、コード要素の内容の表示方法も変更され、複数のグループを選んで、必要なレイアウト スタイルをすべてのグループに適用できるようになりました。 現在は、コード マップ上でアセンブリ、名前空間、または型を展開すると、いつでも便利な依存関係図を取得できます。

Select multiple groups and apply one layout in a Code Map

Visual Studio 2015 の以前のプレビューおよびリリース候補バージョンでは、次のことをできるようにする変更が行われました。

  • 改善されたトップダウン ダイアグラムを取得します。 中規模から大規模な Visual Studio ソリューションでは、単純化された [アーキテクチャ] メニューを使用して、ソリューションのさらに便利なコード マップを取得できます。 ソリューションのアセンブリがソリューション フォルダーごとにグループ化されたため、コンテキストに応じてアセンブリを参照でき、ソリューションの構造を作成したときの作業を活用できます。 プロジェクトとアセンブリの参照がすぐに表示され、リンクの種類が表示されます。 さらに、ソリューションの外部のアセンブリが、よりコンパクトな方法でグループ化されます。
  • 反応型のコード マップを迅速に取得します。 ドラッグ アンド ドロップ操作によってすぐに結果が生成され、ノード間のリンクがよりすばやく作成されて、ノードの展開やさらに多くのノードの要求などの後続のユーザー開始操作に影響がありません。 特に、[Skip rebuilding your solution] (ソリューションのリビルドをスキップする) オプションを使うと、ダイアグラムを作成および編集するときのパフォーマンスが向上します。 ソリューションをビルドしないでコード マップを作成すると、すべての特殊なケース (ビルドされないアセンブリなど) が処理されます。
  • コード要素ノードとグループをフィルター処理します。 カテゴリに基づいてコード要素を表示または非表示したり、ソリューション フォルダー、アセンブリ、名前空間、プロジェクト フォルダー、種類ごとにコード要素をグループ化することで、マップをすばやく整理できます。
  • リレーションシップをフィルターにかけて図を見やすくします。 これにはクロス グループ リンクが含まれ、以前のリリースと比べてフィルター ウィンドウでの操作の関与レベルが低くなります。
  • 依存関係リンクへのドリルインでフィルターが考慮されます。 展開すると役に立つクリアなダイアグラムが表示され、依存関係リンクへの寄与を理解できます。 ダイアグラムはわかりやすく、選択したリンク フィルター処理オプションが考慮されます。
  • クラス ビューおよびオブジェクト ブラウザーからダイアグラムを作成します。 クラス ビューおよびオブジェクト ブラウザー ウィンドウから新規マップまたは既存マップにファイルとアセンブリをドラッグ アンド ドロップします。

全体的に、コード マップに対して行ったすべての機能強化の一覧は次のとおりです。

  • テスト プロジェクトが異なるスタイルになり、フィルター処理できます。 スタイルが異なるため、マップでテスト プロジェクトをすばやく識別できるようになります。 さらに、アプリケーションの作業中のコードに集中できるようにフィルターで除外できます。
  • コード要素が、コンテキストと共に追加されます。 ダイアグラムはコンテキストで表示されるので (必要に応じて除外できるアセンブリおよびソリューション フォルダーまで)、ソリューション エクスプローラー、クラス ビュー、オブジェクト ブラウザーからコード要素をドラッグ アンド ドロップすると、またはソリューション エクスプローラーで要素を選択して [コード マップに表示] を選ぶと、役に立つダイアグラムが表示されます。
  • 簡略化された外部依存関係リンク。 依存関係リンクで System.Object、System.ValueType、System.Enum、System.Delegate からの継承が表示されなくなり、コード マップで外部依存関係を確認しやすくなりました。

このリリースでの設計とモデリングに関する他の変更:

  • レイヤー図。 クラス ビューとオブジェクト ブラウザーを使ってこれらのダイアグラムを更新します。 ソフトウェア設計要件を満たすには、レイヤー図を使用してソフトウェアの必要な依存関係を記述します。 これらの制約を満たしていないコードを探し、このベースラインで将来のコードを検証することにより、コードとこの設計の整合性を維持します。
  • UML 図。 コードから UML クラス図やシーケンス図を作成できなくなりました。 ただし、これらのダイアグラムは新しい UML 要素を使って作成することもできます。
  • アーキテクチャ エクスプローラー。 アーキテクチャ エクスプローラーを使ってダイアグラムを作成できなくなりました。 ただし、ソリューション エクスプローラーを使って引き続き作成できます。

XAML 言語サービス

IntelliSense を含む高速で信頼性が高く最新の XAML 編集エクスペリエンスを提供できるように、.NET Compiler Platform ("Roslyn") を基にして XAML 言語サービスを再構築しました。

これにより、XAML 作成エクスペリエンスは、Visual Studio の他のファーストクラス言語と等しくなります。 また今後は、言語間リファクタリングに関する強力な機能セットを、さらに短い間隔で提供します。

その他

Visual Studio 2015 のエージェントでテスト コントローラーが不要になった

Visual Studio 2015 用のエージェントでは、エージェントが TFS 2015 または Visual Studio Online と通信することによってオーケストレーションを処理できるため、個別のテスト コントローラーは必要ありません。

Visual Studio 2015 と TFS 2015 のすべての新しいシナリオでは、Visual Studio 2015 用エージェントを使うことをお勧めします。

一方、TFS 2013 を使うためにテスト エージェントまたはテスト コントローラーが必要な場合は、Visual Studio 2013 Update 5 用のエージェントを使い、テスト コントローラーを構成することをお勧めします。

テスト コントローラーは、TFS 2015 および TFS 2013 と互換性があります。 ただし、Visual Studio 2015 でのロード テストのサポートはエージェントの一部ではないため、Visual Studio 2013 Update 5 用のエージェントをインストールして、コントローラーを構成することをお勧めします。

接続済みサービス

Visual Studio 2015 で新しい [接続済みサービスの追加] ダイアログを使うと、アプリケーションを Azure Application InsightsAzure StorageAzure Mobile Services、Office 365、Salesforce に簡単に接続できます。 接続済みサービスを追加するには、[参照] ノードを右クリックして、[接続済みサービスの追加...] を選びます。

Add a Connected Service

[接続済みサービスの追加] ダイアログには、現在インストールされているすべての接続済みサービス プロバイダーが含まれており、プロバイダー、それで使われているテクノロジ、および現在のプロジェクトでサポートされているかどうかに関する詳細情報を取得する方法が提供されます。 他のプロバイダーは、[他のサービスを検索...] リンクを使って、拡張機能と更新プログラム ギャラリーで検出できます。 [接続済みサービスの追加] ダイアログも拡張できます。 サービス開発者は、Connected Services SDK を使って、検出可能性を向上させてサービスの使用を促進できるプロバイダーを構築できます。

Enterprise Single Sign-On

ビジネス アプリケーションでは、Azure Active Directory を使用した企業向けのシングル サインオンを構成することが一般的です。 アプリケーションの構築中のいつでも、アプリケーションを右クリックして [Azure AD 認証を構成する...] を選ぶことで、簡単にこれを行えるようになりました。これにより、[接続済みサービスの追加] エクスペリエンスに似たウィザードが表示され、Active Directory で動作するようにアプリケーションを構成するプロセスが案内されます。 ウィザードで Active Directory ドメインを指定すると、その Active Directory にアプリケーションが登録されて、サインインを要求するようにアプリケーションが構成されます。

Specify an Active Directory Domain in the wizard

Visual Studio 2015 RC 用の IIS 10 Express

RC リリースには IIS 10 Express の新しいバージョンが含まれており、その新機能には、HTTP 2.0 のサポートと、Windows 10 とのビットの同期が含まれます。

その他の変更点: バグの修正と既知の問題

このリリースでのテクノロジの改善、バグ修正、既知の問題についての詳細な説明は、次のサポート技術情報 (KB) の記事をご覧ください。

Azure SDK 2.7 for .NET

Azure SDK 2.7 は、Visual Studio 2015 の最終リリースで初めてサポートされる Azure SDK です。 Azure の開発エクスペリエンスの向上に役立つ新機能と更新の一部を次に示します。

  • Visual Studio 2015 のサインインの機能強化: Azure SDK 2.7 for Visual Studio 2015 には、ロールベースのアクセス制御、クラウド ソリューション プロバイダー、DreamSpark、その他のアカウントとサブスクリプションの種類を介して Azure にアクセスするアカウントのサポートが含まれるようになりました。
  • Cloud Explorer for Visual Studio 2015: Azure SDK 2.7 には、Azure リソースの検索と表示、プロパティの検査、Visual Studio 内からの主要な開発者および診断アクションの実行のための、高パフォーマンスでスケーラブルなツールを提供する、Cloud Explorer for Visual Studio 2015 が含まれています。
  • Visual Studio 2015 での仮想マシンのリモート デバッグ: Azure Resource Manager スタックを使って作成され、仮想マシンで実行されるリモート デバッグ プロセス。
  • Azure Resource Manager ツール: Visual Studio Online の新しいビルド タスクを簡単に操作できるように、Azure Resource Manager ツールを更新しました。 さらに、ロールベースのアクセス制御 (RBAC) と新しいサブスクリプションの種類を操作するための機能強化が追加されました。
  • Azure App Service ツール: Visual Studio 2015 では、App Service ツールも使用できるようになりました。 この更新により、Web Apps のリモート プロファイルのサポート、API Apps 用の Swagger 生成の機能強化、複数アカウントのサインインのサポートが提供されます。 App Service ツールでは、すべての機能に Azure Resource Management API が使われるようになり、DreamSpark とクラウド サービス プロバイダーのサポートが有効になりました。 また、この更新では、Visual Studio 2015 開発者向けの Azure API Apps プレビュー リリースのサポートも追加されました。
  • HDInsight Tools: このリリースでは、Tez で実行されている Hive ジョブの実行グラフのビューの追加、Hive DML IntelliSense のサポートの拡張、SCP.Net 用の NuGet の追加、Storm テンプレートのアップグレード、Pig 用の新しいテンプレートの追加が行われました。
  • Azure Data Factory ツール: Azure SDK に Azure Data Factory ツールが含まれるようになりました。 目標は、Azure Data Factory の作成エクスペリエンスを簡素化し、オンボードと配置の課題を取り除くことです。 Azure Data Factory ツールの調整されたエクスペリエンスと豊富なツールにより、新規ユーザーと上級ユーザー両方の生産性と効率が向上します。 このリリースでは、Visual Studio のインターフェイスを使ってデータ パイプラインを対話的に作成して配置できます。 これらのツールについて詳しくは、Azure Data Factory のブログ記事をご覧ください。

Windows 10 SDK

このツールのリリースでは、ユニバーサル Windows プラットフォームを実行する Windows デバイス用のアプリをビルド、デバッグ、送信するために必要なすべてのものを提供するように Visual Studio 2015 が更新されます。 次のような特徴があります:

  • 選んだ言語 (C#、VB、C++、JS) でユニバーサル Windows アプリを作成して、Windows 10 デバイスに配置します。
  • XAML アプリとネットワーク プロファイラー用の UI デバッグ ツールを含む、新しいデバッグ ツールと診断ツール。
  • 統合ストアに送信するためのアプリ パッケージを作成します。
  • Windows 10 Mobile Emulator は、PC のグラフィックス ハードウェア (GPU) を利用して画面のレンダリングを高速化するようになりました。 Microsoft RemoteFx を使って、より高速で応答性の高いデバッグ環境を提供します。
  • Windows 10 Mobile Emulator の NFC シミュレーション機能を使って、NFC および近接対応ユニバーサル アプリをビルドしてテストできるようになりました。
  • デバイス用に調整されたユーザー エクスペリエンスを作成するための豊富な XAML デザイナー サポート。
  • クラウドでの .NET アプリの .NET ネイティブ コンパイル。

Windows 10 開発者ツールについて詳しくは、「ご自分の世界とアプリをアップグレードするときです」をご覧ください。

Python Tools for Visual Studio 2.2

Visual Studio に含まれる完全に無料の Python サポート。

  • CPython、PyPy、IronPython など
  • 詳細な IntelliSense
  • 対話型デバッグ
  • Visual Studio の機能との統合
  • 無料でオープンソース

詳しくは、Python Tools for Visual Studio に関する記事をご覧ください。

Visual Studio Tools for Unity 2.0

Visual Studio を強力な Unity 開発環境にします。

  • マルチプラットフォーム ゲームを構築する
  • Visual Studio からデバッグする
  • Visual Studio で Unity スクリプトを作成する
  • Visual Studio を使用して生産性を向上させる

Visual Studio Tools for Unity について詳しくは、「Visual Studio によるゲーム開発」をご覧ください。

Node.js Tools for Visual Studio 1.1 (RC)

2021 年 10 月更新:

Node.js を安全に更新する (Visual Studio Tools for Apache Cordova)

Visual Studio を強力な Node.js 開発環境にします。

  • 無料かつオープン ソース。
  • インテリジェントなコード補完
  • 高度なデバッグとプロファイリング
  • 他の Visual Studio 機能やサード パーティ製ツールとの統合
  • Node.js、io.js、JavaScript、TypeScript、HTML、CSS、JSON のサポート

Node.js Tools for Visual Studio の詳細を確認してください。

Office Developer Tools for Visual Studio 2015

"Office 365 API を使用した開発"

  • Office 365 API Tools は、Visual Studio 2015 の新しい接続済みサービスを使って、開発者が Office 365 API をプロジェクトに統合するためのガイド付きエクスペリエンスを提供します。
  • 接続済みサービス ウィザードで [Azure AD を使用してシングル サインオンを構成します] を選ぶだけで、Office 365 API Tools で ASP.NET MVC Web アプリケーションにシングル サインオンを自動構成できるようになりました。
  • Office 365 API をプロジェクトに統合すると、Office 365 API Tools によって NuGet.org から Office 365 API クライアント ライブラリ NuGet パッケージの最新バージョンがダウンロードされてインストールされます。

"SharePoint アドインの開発"

  • SharePoint アドインを作成するとき、ターゲットの SharePoint バージョンは、ツールによって、ユーザーがプロジェクト作成ウィザードで指定したデバッグ SharePoint Web サイトのバージョンに設定されます。 ウィザードには選ばれた SharePoint のバージョンが表示され、ユーザーはその既定値をオーバーライドできます。 プロジェクトを作成した後、プロジェクト デザイナーの [SharePoint] タブを使って、ターゲット バージョンを変更できます。
  • ツールでは、ターゲット バージョンが SharePoint Online のときは、SharePoint Online クライアント側オブジェクト モデル (SPO-CSOM) を含む NuGet パッケージがプロジェクトにインストールされるようになりました。 このツールは、SharePoint Online CSOM アセンブリへの参照をプロジェクトに追加します。 このツールは、Microsoft ダウンロード センターでリリースされる SharePoint Online Client Component SDK に依存しなくなりました。 これにより、将来、Visual Studio の NuGet パッケージ マネージャーを使って、CSOM アセンブリを簡単にアップグレードできるようになります。
  • Microsoft Azure Service Bus に対する SAS または ACS 接続文字列を使って、SharePoint アドインのリモート イベント レシーバーをデバッグおよびトラブルシューティングできるようになりました。

"Office アドインの開発"

  • このリリースのツールでは、アプリが Office Web アプリと Office 2013 クライアントの新機能をサポートできるように、v1.0 ではなく常に v1.1 マニフェストを使って Office 用の新しいアプリが作成されます。 v1.0 マニフェストを使う既存の Office 用アプリの場合、v1.1 マニフェストを必要とする新機能が使われると、ツールによってマニフェストが v1.1 にアップグレードされます。

Office Developer Tools for Visual Studio の詳細を確認してください。

Visual Studio 2015 用の GitHub 拡張機能

Visual Studio で GitHub リポジトリに接続する最も簡単な方法。

  • インストールが簡単
  • Visual Studio で GitHub に接続する
  • リポジトリを作成する
  • 1 回のクリックでリポジトリをクローンする
  • ローカル環境での作業を GitHub に発行する

Visual Studio 用 GitHub 拡張機能の詳細を確認してください。.

クラウドベースのロード テスト

"世界中の Azure データセンターからのクラウドベースのロード テスト"

ロード テストの実行に必要なインフラストラクチャのセットアップが容易になりました。世界中のサポートされている任意の Azure データセンターから、クラウドベースのロード テストを実行できます。

"クラウドベースのロード テストで高度なエージェント診断がサポートされるようになった"

このリリースでは、クラウドベースのロード テストに対してテスト エージェント診断を実行する機能が追加されました。

クラウドでのデバッグは、マシンにアクセスできず、テスト エージェントからログや他の情報を常に収集できるわけではないので、困難です。 それでも、高度なエージェント診断を使うと、テスト エージェントからログを収集して、それらをクラウド ロード テストの結果にアタッチできます。