Visual Studio 2017 の新機能

15.3 リリースの更新

すべての開発、すべてのアプリ、すべてのプラットフォームにおいて、他に類を見ない生産性を実現します。 Visual Studio 2017 を利用し、Android、iOS、Windows、Linux、Web、クラウド向けのアプリを開発します。 短期間でプログラミングできて、デバッグや診断も簡単に行えます。テストを頻繁に行うことで、自信をもってリリースできます。 独自の拡張機能を開発することで Visual Studio を拡張し、カスタマイズすることもできます。 今回のリリースでは、バージョン管理を使用した、迅速で、効率的な共同作業が可能になりました。

変更を行った基本的な概要は、次のとおりです。

  • 基本の再定義。 新しいセットアップ エクスペリエンスにより、必要なものを必要なタイミングでより短い時間でインストールできるようになりました。 大規模なソリューションやプロジェクトを読み込む場合でも、コードのフォルダーや単一のコード ファイルを操作する場合でも、Visual Studio の起動がより高速になりました。 さらに Visual Studio は、特に DevOps を大事にするチームにとって、全体像を把握するのに役立ちます。
  • パフォーマンスと生産性。 Microsoft は、新しく、現代的なモバイル、クラウド、デスクトップの開発機能を導入することを中心に取り組んできました。 全体的な取得機能、パフォーマンス、全般的な開発者生産性も改善されています。 Visual Studio の起動が以前と比較してより高速になり、より応答性が向上し、メモリーの消費量が少なくなりました。
  • Azure によるクラウド アプリの開発。 Microsoft Azure を使用するクラウド ファーストのアプリを簡単に作成できる Azure ツールのビルトイン スイート。 Visual Studio を使用すれば、Azure でアプリとサービスを構成、ビルド、デバッグ、パッケージ化、デプロイするのが容易になります。
  • モバイル アプリの開発。 Visual Studio 2017 では Xamarin が導入されています。これにより、1 つのコア コードベースとスキル セットを使用することでマルチプラットフォームのモバイル要件が統合され、短期間で成果を出すことができます。 既存のチーム、テクノロジへの投資、C# コードをモバイル対応にして、コンシューマー グレードのエクスペリエンスを予定より早くかつ予算以内で提供します。 モバイル ライフサイクルのすべてのステップを加速させ、ワールドクラスのコンシューマー エクスペリエンスまたは従業員の生産性向上を支援するアプリのポートフォリオを提供します。
  • クロスプラットフォーム開発 対象となるプラットフォームにソフトウェアをシームレスに届けます。 Redgate Data Tools により DevOps プロセスを SQL Server に拡張し、Visual Studio からのデータベース配置を安全に自動化します。 Visual Studio Tools for Unity を利用し、マルチプラットフォーム ゲームを開発し、公開します。 あるいは、.NET Core を利用し、変更しなくても Windows、Linux、macOS オペレーティング システムをまたいで実行できるアプリやライブラリを作成します。 (15.3 の新機能: .NET Core 2.0 SDK の side-by-side サポート)
注意

Visual Studio 2017 の新機能の一覧については、「リリース ノート」をご覧ください。

Visual Studio 2017 の最も重要な改善点と新機能について、そのいくつかの詳細を確認できます。

基本の再定義

新しいセットアップ エクスペリエンス

Visual Studio 2017 をダウンロードするまたは Visual Studio のシステム要件を確認する

Visual Studio により、必要な機能だけを必要なタイミングでより簡単により短い時間でインストールできます。 また、アンインストールも正常に行われます。

Visual Studio をインストールするときに確認できる最も重要な変更は、新しいセットアップ エクスペリエンスです。 [ワークロード] タブには、共通のフレームワーク、言語、プラットフォーム別にグループ化されたインストール オプションが表示されます。 .NET デスクトップ開発から Windows、Linux、iOS での C++ アプリケーション開発まで、すべてを網羅します。

必要なワークロードを選択し、必要に応じてそれらを変更します。

Visual Studio 2017 のセットアップ ダイアログ

ワークロードを使用する代わりに、独自のコンポーネントを選択するには、 インストーラーから [個別のコンポーネント] タブを選択します。 また、Windows の言語オプションを変更することなく、言語パックをインストールする場合は、 インストーラーの [言語パック] タブを選択します。

ステップ バイ ステップの手順を含む、新しいインストール エクスペリエンスについて詳しくは、マイクロソフトの Visual Studio のインストールに関するページをご覧ください。

パフォーマンスと生産性

複数のアカウント間のサインイン

チーム エクスプローラー、Azure Tools、Windows ストアでの発行で使用するユーザー アカウントを共有できるように、Visual Studio で新しい ID サービスを導入しました。

また、より長い時間サインインしたままにできます。 Visual Studio に 12 時間ごとにサインインを求められることはなくなりました。 詳細については、「Fewer Visual Studio Sign-in Prompts」 (Visual Studio のサインインの確認メッセージを減らす) のブログの投稿を参照してください。

Visual Studio の起動の高速化

Visual Studio の新しいパフォーマンス センターは、IDE の起動時間を最適化するのに役立ちます。 パフォーマンス センターでは、IDE の起動を遅くしている可能性のある拡張機能やツール ウィンドウをすべて一覧表示します。 拡張機能を起動するタイミングや、ツール ウィンドウを起動時に開くかどうかを指定して、起動時のパフォーマンスを向上させるために使用することができます。

ソリューションの読み込み時間の短縮

ソリューションに多数のプロジェクトが含まれていても、一度にすべてのファイルやプロジェクトを操作する必要があるとは限りません。 ここでは、Visual Studio がすべてのプロジェクトを読み込むのを待たずに、編集やデバッグを行えるようになりました。 マネージ プロジェクトでこれを試すには、[ツール]、[オプション]、[プロジェクトおよびソリューション] の順に選択して、[Lightweight Solution load] (ライトウェイト ソリューション ロード) をオンにします。

Visual Studio 2017 の [オプション] ダイアログ ボックス

拡張機能のオンデマンド読み込みの高速化

Visual Studio では、独自およびサードパーティの拡張機能が IDE の起動時ではなく必要に応じて読み込まれるように取り組みを進めています。 どの拡張機能が起動、ソリューションの読み込み、および入力パフォーマンスに影響があるかについて関心をお持ちですか? この情報については、[ヘルプ]、[Visual Studio のパフォーマンスの管理] の順に選択して確認することができます。

Visual Studio 2017 の [オプション] ダイアログ ボックス

[拡張機能マネージャーのローミング] で拡張機能を管理する

Visual Studio にサインインすると、お気に入りの拡張機能を使用して、各開発環境を容易に設定できるようになりました。 新しい [拡張機能マネージャーのローミング] は、クラウドに同期されたリストを作成することで、お気に入りの拡張機能をすべて追跡します。

Visual Studio の拡張機能の一覧を表示するには、[ツール]、[拡張機能と更新プログラム] の順にクリックし、[拡張機能マネージャーのローミング] をクリックします。

Visual Studio 2017 - [拡張機能と更新プログラム] ダイアログ

[拡張機能マネージャーのローミング] では、インストールするすべての拡張機能を追跡しますが、どの拡張機能をローミング リストに追加するかを選択することができます。

Visual Studio 2017 - [拡張機能と更新プログラム] ダイアログ

[拡張機能マネージャーのローミング] を使用する場合、リストに次の 3 つの種類のアイコンが表示されます。

  • ローミング済みアイコン "ローミング済み": ローミング リストにあり、このコンピューターにはインストールされていない拡張機能を示します。 (これらの拡張機能は、[ダウンロード] ボタンでインストールできます。)
  • ローミングおよびインストール済みアイコン "ローミングおよびインストール済み": ローミング リストにあり、お使いの開発環境にインストールされているすべての拡張機能を示します。 (ローミングしない場合は、[ローミングの停止] ボタンで削除することができます。)
  • インストール済みアイコン "インストール済み": この環境にインストールされ、ローミング リストにはないすべての拡張機能を示します。 ([ローミングの開始] ボタンを使用して、拡張機能をローミング リストに追加できます。)

サインイン中にダウンロードした拡張機能は、ローミングおよびインストール済みとしてリストに追加され、ローミング リストに表示されます。これにより、どのコンピューターからでもアクセスできるようになります。

ライブ アーキテクチャの依存関係検証とライブ単体テストのエクスペリエンス

Visual Studio では、テキスト エディターにコードを入力するとき、依存関係検証ダイアグラム (別名レイヤー ダイアグラム) を使用することで、リアルタイムでアーキテクチャの依存関係ルールの違反を 確認できるようになりました。

エラーは [エラー一覧] に表示され、テキスト エディターでは波線でこの違反の正確な場所が示されます。 これにより、不要な依存関係を導入する可能性を低減できます。

ライブ アーキテクチャの検証

Live unit testing

Visual Studio Enterprise 2017 では、ライブ単体テストを実行することで、コーディング中にエディターで単体テストの結果とコード カバレッジをライブで確認できます。 .NET Framework と .NET Core の両方で C# プロジェクトと Visual Basic プロジェクトと連動し、MSTest、xUnit、NUnit の 3 つのテスト フレームワークをサポートします。

ライブ単体テスト

詳しくは、ブログの投稿「Live Unit Testing in Visual Studio 2017 Enterprise」(Visual Studio 2017 Enterprise でのライブ単体テスト) をご覧ください。

自動化されたテストを効率的に実行する CI/CD パイプラインを設定する

自動化されたテストは、DevOps パイプラインの重要な部分です。 短い周期で、一貫性と信頼性のある方法でソリューションをテストし、公開できます。 CI/CD (Continuous Integration and Continuous Delivery/継続的インテグレーションと継続的配信) フローにより、このプロセスがさらに効率的になります。

自動化されたテストの詳細については、DevOps の 自動化テストの CI/CD パイプラインに関するブログ投稿をご覧ください。

Continuous Delivery Tools for Visual Studio (Visual Studio 用の継続的配信ツール) DevLabs 拡張の新機能の詳細については、「Committing with Confidence: Commit Time Code Quality (自信を持ってコミットする: タイム コードの品質をコミットする)」をご覧ください。

アクセシビリティに重点を置く

15.3 では、Visual Studio と多くのユーザーが使用している支援技術との互換性を改善する、1,700 を超える変更を行いました。 スクリーン リーダーやハイ コントラスト テーマなどの支援技術との互換性を従来よりも改善するシナリオが、数多くあります。 デバッガー、エディター、シェルのすべてに重要な変更点があります。

詳細については、ブログ投稿の「Accessibility improvements in Visual Studio 2017 version 15.3 (Visual Studio 2017 バージョン 15.3 でのアクセシビリティの機能強化)」をご覧ください。

Visual Studio IDE の拡張機能

新しいリファクタリングの使用

15.3 では、次のような便利な新しいリファクタリングが追加されました。

  • マージ競合を解決する
  • パラメーターを追加する (CallSite から)
  • オーバーライドを生成する
  • 名前付き引数を追加する
  • パラメーターの null チェックを追加する
  • リテラルに桁区切り記号を挿入する
  • 数値リテラルの基本を変更する (たとえば、16 進数を 2 進数に)
  • if を switch に変換する
  • 未使用の変数を削除する

詳細については、「Visual Studio でのリファクタリング、コード生成、クイック アクション」ページをご覧ください。

Git との連携

Visual Studio でプロジェクトを操作する際に、コードを迅速にセットアップしてコミットし、Git サービスにコードを公開できます。 また、IDE の右下隅のボタンからメニュー クリックを使用して、Git リポジトリを管理することもできます。

Visual Studio 2017 と Git ダイアログのやり取り

構造ビジュアライザーを使用したコードの表示と移動

構造ビジュアライザーは、構造のガイド線 (別名 インデント ガイド) をコードに描きます。 これを使用することで、スクロールすることなく現在作業しているコード ブロックを視覚化して検出できます。 行にカーソルを置くとツールチップが表示され、そのブロックの開始地点とその親を確認できます。 TextMate 文法を介してサポートされるすべての言語のほか、C#、Visual Basic、XAML で使用できます。

Visual Studio 2017 の構造ビジュアライザー

操作性が改善されたナビゲーション コントロール

より確実に混乱なく A から B に移動できるようにナビゲーション エクスペリエンスを更新しました。

  • ジャンプ (Ctrl + F12) – 任意の基本データ型やメンバーから各種実装に移動します。

  • すべてにジャンプ (Ctrl + T または Ctrl + ,) – 任意のファイル/型/メンバー/シンボル宣言に直接移動します。 結果の一覧をフィルターしたり、クエリ構文 (例: ファイルは “f searchTerm”、型は “t searchTerm” など) を使用したりできます。

    [すべてにジャンプ] の機能強化

  • すべての参照の検索 (Shift+F12) – 構文の色づけにより、[すべての参照の検索] の結果をプロジェクト、定義、パスの組み合わせでグループ化できます。 また、結果を "ロック" して元の結果を失うことなく別の参照を検索できます。

    新しい [すべての参照の検索] ツール

  • インデント ガイド – 灰色の縦の点線がコード内のランドマークとしての役割を果たし、ビューのフレーム内のコンテキストを提供します。 おすすめの Productivity Power Tools で認識できます。

新しい生産性向上機能について詳しくは、Visual Studio 2017 での生産性向上に関する Mark Wilson-Thomas のブログ投稿をご覧ください。

Visual C++

Visual Studio には、C++ Core ガイドラインの配信、C++11 および C++ 機能の拡張サポートを追加することによるコンパイラの更新、C++ ライブラリへの機能の追加および更新など、いくつかの改善が加えられています。 また、C++ IDE やインストールのワークロードなどのパフォーマンスも改善しました。

同時に 250 以上のバグを修正し、コンパイラおよびツールの問題をレポートしてきました。その多くは Microsoft Connect を通じてお客様から寄せられたものです。

詳しくは、Visual 2017 での Visual C++ の新機能に関するページをご覧ください。

デバッグと診断

クリックで実行

デバッグ中に必要な行に止まるためにブレークポイントを設定することなく、簡単に前方にスキップできるようになりました。 デバッガーが停止した場合は、コード行の横に表示されるアイコンをクリックします。 次にコード パスでその地点に到達すると、その行でコードが実行されて停止します。

Visual Studio 2017 のデバッグ - クリックで実行

新しい例外ヘルパー

新しい例外ヘルパーを使用すると、例外情報を一目で確認できます。 情報はコンパクトな形式で表示され、内部の例外に簡単にアクセスできます。 NullReferenceException を診断するときに、例外ヘルパー内の null をすばやく確認できます。

新しい例外ヘルパー ダイアログ

詳細については、「Using the New Exception Helper in Visual Studio」 (Visual Studio で新しい例外ヘルパーを使用する) のブログの投稿を参照してください。

Azure によるクラウド アプリの開発

Azure Functions ツール

"Azure 開発" ワークロードの一部として、コンパイル済みの C# クラス ライブラリを利用して Azure Functions を開発するためのツールを追加しました。 ローカルの開発マシンでビルドし、実行し、デバッグし、Visual Studio から Azure に直接公開できます。

詳細については、「Azure Functions Tools for Visual Studio」 (Visual Studio の Azure Functions ツール) ページを参照してください。

モバイル アプリの開発

Xamarin

".NET によるモバイル開発" ワークロードの一部として、C#、.NET、Visual Studio に詳しい開発者は Xamarin を利用し、Android、iOS、Windows のネイティブ アプリを開発できます。 開発者は、Android、iOS、および Windows デバイスでのリモート デバッグなど、モバイル アプリを Xamarin で開発する場合 — Objective-C または Java のようなネイティブのコーディング言語を習得しなくても、同じ機能と生産性を享受できます。

詳細については、「Visual Studio と Xamarin」ページを参照してください。

権利エディター

15.3 の新機能: iOS 開発で必要になることから、スタンドアロンの権利エディターを追加しました。 使いやすい UI で簡単に閲覧できます。 entitlements.plist ファイルをダブルクリックすると起動します。

Xamarin の権利エディター

プラットフォーム間の開発

Redgate Data Tools

DevOps 機能を SQL Server データベース開発に拡張するために、Visual Studio 2017 の次のエディションで Redgate Data Tools が利用できるようになりました。

Visual Studio 2017 Enterprise に付属:

  • Redgate ReadyRoll Core は、移行スクリプトの開発、ソース管理によるデータベースの変更管理、アプリケーション変更と並行した SQL Server データベース変更の配置の安全な自動化に役立ちます。
  • Redgate SQL Prompt Core を利用すると、インテリジェントなコード入力候補機能により、SQL を短時間で正確に記述できます。 SQL Prompt は、データベース、システム オブジェクト、キーワードをオートコンプリートし、入力と同時に列の入力候補を提案します。 列の名前やエイリアスを覚える必要がないため、結果として、間違いが少なく、読みやすいコードが完成します。

Visual Studio 2017 のすべてのエディションに付属:

  • Redgate SQL Search では、複数のデータベースから SQL のフラグメントやオブジェクトをすばやく見つけることができ、生産性が向上します。

詳しくは、ブログの投稿「Visual Studio 2017 Redgate Data Tools」をご覧ください。

Visual Studio Tools for Unity

"Unity のゲーム開発" ワークロードの一部として、2D ゲーム、3D ゲーム、対話型コンテンツを開発するためのクロスプラットフォーム開発に役立つツールを追加しました。 Visual Studio 2017 と Unity 5.6 を利用することで、1 回作成するだけですべてのモバイル プラットフォーム、WebGL、Mac、PC、Linux デスクトップ、Web、コンソールなど、21 のプラットフォームに発行できます。

詳しくは、「Visual Studio Tools for Unity」 (Unity の Visual Studio ツール) をご覧ください。

.NET Core

.NET Core は、モジュール形式のクロスプラットフォームかつオープン ソースを実装した汎用の .NET Standard です。.NET Framework と同じ API がたくさん含まれています。

.NET Core プラットフォームは複数コンポーネントで構成され、マネージ コンパイラ、ランタイム、基本クラス ライブラリ、および ASP.NET Core などの多数のアプリケーション モデルが含まれます。 .NET Core は、Windows、Linux、macOS の 3 つの主要オペレーティング システムをサポートしています。 .NET Core は、デバイス、クラウド、埋め込み/IoT のシナリオで使用できます。

Docker 対応にもなりました。

15.3 の新機能: Visual Studio 2017 バージョン 15.3 は .NET Core 2.0 開発に対応しています。 (15.3 では、.NET Core 2.0 を使用するには、.NET Core 2.0 SDK を別にダウンロードし、インストールする必要があります。)

詳細については、「.NET Core ガイド」ページを参照してください。

ご意見

Visual Studio チームにフィードバックを送ることにどんな意味があるのでしょうか? お客様からのフィードバックは、すべて真摯に受け止めており、チームの業務の支えにもなっています。

Visual Studio を向上させることができるご提案がある場合、または問題を報告する場合、詳しくは「ご意見」ページを参照してください。

問題を報告する

メッセージは、発生した問題の影響をすべて表せていない場合があります。 ハング、クラッシュ、またはその他のパフォーマンスの問題が発生した場合、[問題の報告] ツールを使用すると、再現コードやサポート ファイル (スクリーン ショット、トレース ファイル、ヒープ ダンプ ファイルなど) を簡単に Microsoft と共有することができます。 このツールの使用方法については、問題を報告する方法に関するページを参照してください。

問題点を Connect で追跡する

Visual Studio に関するフィードバックの状況を追跡するには、 Connect でバグ報告をしてください。 報告したら、Connect に戻って、その状態を追跡することができます。

関連項目