Visual Studio 2017 バージョン 15.0 リリース ノート Visual Studio 2017 version 15.0 Release Notes

終更新日 2018/02/16

開発者コミュニティ | システム要件 | 互換性 | 再頒布可能コード | ライセンス条項 | ブログ | リリース周期Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Release Rhythm


メモ

Visual Studio 2017 の最新のバージョンに関する情報については、最新のリリース ノート ページをご覧ください。To see information on the latest version of Visual Studio 2017, please visit the current Release Notes page.

メモ

ページの下部にあるフッターに移動して、言語の設定を切り替えることができます。You can switch your language setting by going to the footer at the bottom of the page. アイコンをクリックして、目的の言語を選んでください。Click on the icon and select your desired language.


フィードバックFeedback

皆様のご意見をお待ちしております。We’d love to hear from you! 問題がある場合は、インストーラーまたは Visual Studio IDE 自体の右上隅にある [問題の報告] オプションからお知らせください。For issues, let us know via the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. Feedback Icon アイコンは、右上隅にあります。The Feedback Icon icon is located in the upper right-hand corner. Visual Studio 開発者コミュニティで質問したり、回答を検索したりして、問題を追跡できます。You can track your issues in the Visual Studio Developer Community, where you can ask questions and find answers. UserVoice で製品の提案を行うことも、ライブ チャット サポートで無償のインストール ヘルプを得ることもできます。You can also make a product suggestion through UserVoice or get free installation help through our Live Chat support.


リリース日: 2018 年 1 月 9 日 - Visual Studio 2017 バージョン 15.0 (26228.21)Release Date: January 9, 2018 - Visual Studio 2017 version 15.0 (26228.21)

修正された問題Issues Fixed

.NET Core 用の Microsoft セキュリティ アドバイザリ Microsoft Security Advisories for .NET Core

  • CVE-2018-0786 X509 証明書の検証でのセキュリティ機能のバイパス: Microsoft は、パブリック バージョンの .NET Core 1.0、.NET Core 1.1、.NET Core 2.0 の脆弱性に関する情報を提供するために、このセキュリティ アドバイザリをリリースします。CVE-2018-0786 Security Feature Bypass in X509 Certificate Validation Microsoft is releasing this security advisory to provide information about a vulnerability in the public versions of .NET Core 1.0 and 1.1, and 2.0. またこのアドバイザリでは、アプリケーションを正しく更新する上で開発者が実行する必要のある操作に関するガイダンスも提供します。This advisory also provides guidance on what developers can do to update their applications correctly. このセキュリティ アドバイザリは、UWP の .NET ネイティブにも適用できます。This security advisory is also applicable to .NET native for UWP.

    Microsoft はパブリック バージョンの .NET Core にセキュリティ上の脆弱性があることを認識しています。攻撃者から特定の用途に対して無効とマークされた証明書が提示される可能性があり、コンポーネントはその証明書を該当する用途に使用してしまいます。Microsoft is aware of a security vulnerability in the public versions of .NET Core where an attacker could present a certificate that is marked invalid for a specific use, but a component uses it for that purpose. このアクションでは、拡張キー使用法のタグ付けが無視されます。This action disregards the Enhanced Key Usage tagging.

    セキュリティ更新プログラムでは、.NET Core コンポーネントによって証明書が完全に検証されるようにすることで、脆弱性を解決します。The security update addresses the vulnerability by ensuring that .NET Core components completely validate certificates. システム管理者は、.NET Core ランタイムをバージョン 1.0.9、1.1.6、2.0.5 に更新することをお勧めします。System administrators are advised to update their .NET Core runtimes to versions 1.0.9, 1.1.6 and 2.0.5. 開発者は、.NET Core SDK をバージョン 2.1.4 または 1.1.7 に更新することをお勧めします。Developers are advised to update their .NET Core SDK to version 2.1.4 or 1.1.7.

  • CVE-2018-0764 XML ドキュメントを解析する際のサービス拒否: Microsoft は、パブリック バージョンの .NET Core 1.0、.NET Core 1.1、.NET Core 2.0 の脆弱性に関する情報を提供するために、このセキュリティ アドバイザリをリリースします。CVE-2018-0764 Denial of Service when parsing XML documents Microsoft is releasing this security advisory to provide information about a vulnerability in the public versions of .NET Core 1.0 and 1.1, and 2.0. またこのアドバイザリでは、アプリケーションを正しく更新する上で開発者が実行する必要のある操作に関するガイダンスも提供します。This advisory also provides guidance on what developers can do to update their applications correctly.

    Microsoft は、.NET Core のすべてのパブリック バージョンにおいて、XML ドキュメントの不適切な処理が原因でサービス拒否の脆弱性が発生することを認識しています。Microsoft is aware of a Denial of Service vulnerability in all public versions of .NET core due to improper processing of XML documents. 攻撃者がこの脆弱性を悪用して、.NET アプリケーションに対するサービス拒否を発生させる可能性があります。An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET application. 認証を受けていないリモートの攻撃者が、特別に作成された要求を .NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to a .NET Core application.

    更新プログラムでは、.NET Core による XML ドキュメントの処理の方法を修正することにより、脆弱性を解決します。The update addresses the vulnerability by correcting how .NET core handles XML document processing. システム管理者は、.NET Core ランタイムをバージョン 1.0.9、1.1.6、2.0.5 に更新することをお勧めします。System administrators are advised to update their .NET Core runtimes to versions 1.0.9, 1.1.6 and 2.0.5. 開発者は、.NET Core SDK をバージョン 2.1.4 または 1.1.7 に更新することをお勧めします。Developers are advised to update their .NET Core SDK to version 2.1.4 or 1.1.7.


リリース日: 2017 年 12 月 6 日 - Visual Studio 2017 バージョン 15.0 (26228.18)Release Date: December 6, 2017 - Visual Studio 2017 version 15.0 (26228.18)

修正された問題Issues Fixed

ASP.NET Core のセキュリティ アドバイザリ ASP.NET Core Security Advisories

Microsoft は、ASP.NET Core のセキュリティ アドバイザリをリリースしました。Microsoft has released security advisories for ASP.NET Core. 詳細については、ASP.NET Core のリポジトリの該当するお知らせを参照してください。Details can be found in corresponding announcements in the ASP.NET Core repo. 次の情報にご注意ください。Please note the following information:

  • CVE-2017-8700 CORS のバイパスにより、情報漏えいの可能性が生じます。クロス オリジン リソース共有 (CORS) をバイパスできる ASP.NET Core 1.0 および 1.1 では、情報漏えいにつながるセキュリティの脆弱性があります。CVE-2017-8700 CORS bypass can enable Information Disclosure: There is a security vulnerability in ASP.NET Core 1.0 and 1.1 where Cross-Origin Resource Sharing (CORS) can be bypassed, leading to information disclosure.

ASP.NET Core 1.0 および ASP.NET Core 1.1 で作成した新しいプロジェクトは、上記のセキュリティ更新プログラムを含むパッケージ バージョンを使用します。New projects created with ASP.NET Core 1.0 and ASP.NET Core 1.1 will now use package versions that include the above security update. 既存のプロジェクトの場合、ユーザーは [NuGet パッケージの管理] ダイアログを使用してパッケージを新しいバージョンに更新することができます。For existing projects, users can update their packages to newer versions using the Manage NuGet Packages dialog.


リリース日: 2017 年 11 月 14 日 - Visual Studio 2017 バージョン 15.0 (26228.17)Release Date: November 14, 2017 - Visual Studio 2017 version 15.0 (26228.17)

修正された問題Issues Fixed

.NET Core と ASP.NET Core のセキュリティ アドバイザリ .NET Core and ASP.NET Core Security Advisories

Microsoft は、.NET Core および ASP.NET Core のセキュリティ アドバイザリをリリースしました。Microsoft has released security advisories for .NET Core and ASP.NET Core. 詳細については、.NET Core および ASP.NET Core のリポジトリの該当するお知らせを参照してください。Details can be found in corresponding announcements in the .NET Core and ASP.NET Core repos. 次の情報にご注意ください。Please note the following information:

  • ある 8585 CVE-2017形式が正しくない証明書は、サービスの拒否を引き起こすことができます .NET Core 1.0 でセキュリティの脆弱性がある、1.1 および 2.0 の形式が正しくない証明書またはその他の ASN.1 がデータ書式設定する可能性があります、サービス拒否攻撃、無限ループを使用して Linux 上。や macOS です。CVE-2017-8585 Malformed Certificate can cause Denial of Service: There is a security vulnerability in .NET Core 1.0, 1.1 and 2.0 where a malformed certificate or other ASN.1 formatted data could lead to a denial of service via an infinite loop on Linux and macOS. システム管理者は、.NET Core ランタイムをバージョン 1.0.8、1.1.5、2.0.1 に更新することをお勧めします。System administrators are advised to update their .NET Core runtimes to versions 1.0.8, 1.1.5 and 2.0.1. 開発者は、.NET Core SDK をバージョン 2.0.3 または 1.1.5 に更新することをお勧めします。Developers are advised to update their .NET Core SDK to version 2.0.3 or 1.1.5.

  • CVE-2017-8700 CORS のバイパスにより、情報漏えいの可能性が生じます。クロス オリジン リソース共有 (CORS) をバイパスできる ASP.NET Core 1.0 および 1.1 では、情報漏えいにつながるセキュリティの脆弱性があります。CVE-2017-8700 CORS bypass can enable Information Disclosure: There is a security vulnerability in ASP.NET Core 1.0 and 1.1 where Cross-Origin Resource Sharing (CORS) can be bypassed, leading to information disclosure.

  • CVE-2017-11879 オープン リダイレクトにより、特権の昇格が発生する場合があります。オープン リダイレクトが存在する ASP.NET Core 2.0 では、特権の昇格が生じるセキュリティの脆弱性があります。CVE-2017-11879 Open Redirect can cause Elevation Of Privilege: There is a security vulnerability in ASP.NET Core 2.0 where an Open Redirect exists, leading to Elevation Of Privilege.

  • CVE-2017-11770 サービス拒否の脆弱性: ASP.NET Core 1.0、1.1、2.0 でアプリケーションが Windows の Http.Sys によってホストされていると、形式が適切でない要求によってサービス拒否が発生するセキュリティの脆弱性があります。CVE-2017-11770 Denial Of Service Vulnerability: There is a security vulnerability in ASP.NET Core 1.0, 1.1 and 2.0 when the application is hosted through Windows Http.Sys where a malformed request can lead to a Denial Of Service.

ASP.NET Core 1.0 および ASP.NET Core 1.1 で作成した新しいプロジェクトは、上記のセキュリティ更新プログラムを含むパッケージ バージョンを使用します。New projects created with ASP.NET Core 1.0 and ASP.NET Core 1.1 will now use package versions that include the above security updates. 既存のプロジェクトの場合、ユーザーは [NuGet パッケージの管理] ダイアログを使用してパッケージを新しいバージョンに更新することができます。For existing projects, users can update their packages to newer versions using the Manage NuGet Packages dialog.


リリース日: 2017 年 9 月 18 日 - Visual Studio 2017 バージョン 15.0 (26228.16)Release Date: September 18, 2017 - Visual Studio 2017 version 15.0 (26228.16)

修正された問題Issues Fixed


リリース日: 2017 年 5 月 23 日 - Visual Studio 2017 バージョン 15.0 (26228.13)Release Date: May 23, 2017 - Visual Studio 2017 version 15.0 (26228.13)

修正された問題Issues Fixed

  • オフライン インストール シナリオでインターネット アクセスが不要になりました。Offline install scenarios no longer require internet access.

リリース日: 2017 年 3 月 31 日 - Visual Studio 2017 バージョン 15.0 (26228.12)Release Date: March 31, 2017 - Visual Studio 2017 version 15.0 (26228.12)

更新プログラムの概要Summary of Updates

  • Xcode 8.3、iOS 10.3、watchOS 3.2、および tvOS 10.2 ツールおよび Visual Studio 2017 用 Xamarin.VS 拡張機能の API がサポートされるようになりました。We now support Xcode 8.3, iOS 10.3, watchOS 3.2, and tvOS 10.2 tools and APIs in the Xamarin.VS Extension for Visual Studio 2017.

リリース日: 2017 年 3 月 28 日 - Visual Studio 2017 バージョン 15.0 (26228.10)Release Date: March 28, 2017 - Visual Studio 2017 version 15.0 (26228.10)

修正された問題Issues Fixed

以下は、ビルド 26228.10 で対処された、ユーザーから報告された問題です。These are the customer-reported issues addressed in build 26228.10:


リリース日: 2017 年 3 月 14 日 - Visual Studio 2017 バージョン 15.0 (26228.09)Release Date: March 14, 2017 - Visual Studio 2017 version 15.0 (26228.09)

修正された問題Issues Fixed

以下は、ビルド 26228.09 で対処された、ユーザーから報告された問題です。These are the customer-reported issues addressed in build 26228.09:


リリース日: 2017 年 3 月 7 日 - Visual Studio 2017 バージョン 15.0 (26228.04)Release Date: March 7, 2017 - Visual Studio 2017 version 15.0 (26228.04)

更新プログラムの概要Summary of Updates

開発: すばやくコードの各部に移動し、記述や修正を行うDevelop: Navigate, write, and fix your code fast

  • 新しいインストールでは、最小フットプリントが減ったことでインストールが高速になり、カスタマイズ性が向上しました。また、オフライン インストールがサポートされるようになりました。New Installation Experience has a reduced minimum footprint for faster and more customizable installations, as well as support for offline installs.
  • Visual Studio IDE によって Visual Studio 2017 がさまざまな面で改善されました。たとえば、起動時間とソリューションの読み込み時間の短縮、サインインと ID の強化、コード ナビゲーションとフォルダー ビュー表示の向上が実現されています。また、接続済みサービスを使用すれば、アプリをオンプレミスまたはクラウドの任意のサービスと接続できます。Visual Studio IDE provides a broad range of enhancements in Visual Studio 2017, including reduction in startup and solution load times, sign in and identity improvements, improved code navigation, open folder view, and connected services enable connections between your app and any service on-premises or in the cloud.
  • Visual C++ 2015 と 2017 の間で互換性に影響する変更はありません。There are no breaking changes for Visual C++ between 2015 and 2017. C++14 の一致レベル、CMake サポート、ビルドのスループット、エディターの生産性が改善されました。Better C++14 conformance level, CMake support, build throughput, and productivity in the editor.
  • C# と Visual Basic では、新しい C# 7.0 と Visual Basic 15 の言語機能のサポートが増えました。新しいリファクタリングが導入され、1 回の操作でソース コードを整理できるようになりました。C# and Visual Basic extend support for new C# 7.0 and Visual Basic 15 language features, and introduces new refactorings that allow you to organize source code with one action.
  • F# では F# 4.1 言語機能がサポートされるようになり、F# コンパイラと FSharp.Core が改善され、Roslyn Workspaces に基づく新しいエディターが導入されました。F# support for F# 4.1 language features, improvements to the F# compiler and FSharp.Core, and a new editor based on Roslyn Workspaces.
  • JavaScript と TypeScript では、TypeScript 2.1 を Visual Studio のすべての TypeScript プロジェクトに使用できます。JavaScript and TypeScript has TypeScript 2.1 available for all TypeScript projects in Visual Studio. 新しい JavaScript 言語サービスが既定で有効になっています。A new JavaScript language service is available and enabled by default.

デバッグ: デバッグ、プロファイル、診断が簡単にDebug: Debug, profile, and diagnose with ease

  • デバッグと診断では例外ヘルパーが大幅に見直され、クリックで実行するコード ナビゲーションがより高速になりました。Debugging and Diagnostics overhaul of the Exception Helper and faster code navigation with Run to Click. また、[診断ツール] ウィンドウにアプリケーション イベントの新しい概要が表示されるようになり、CPU ツールにいくつかの機能強化が行われました。Plus, a new summary of your application events in the Diagnostic Tools window and several improvements to the CPU Tool.

テスト: 包括的なテスト ツールで高品質のコードを作成Test: Write high-quality code with comprehensive testing tools

  • ライブ単体テストでは、エディターで単体テストの結果とコード カバレッジをライブで視覚化できるようになりました。Live Unit Testing can now visualize unit testing results and code coverage live in the editor.
  • テスト ツールは、テスト エクスプローラーを利用し、テスト ケースの作業項目とオートメーションを関連付けます。Testing Tools associate automation with test case work items using the Test Explorer.

共同作業: バージョン コントロールを使用した、迅速で、効率的な共同作業Collaborate: Use version control, be agile, and collaborate efficiently

  • チーム エクスプローラーの新しい Git 機能と新しくなった接続機能。Visual Studio 2017 で Git の機能が増えました。接続するプロジェクトやリポジトリを簡単に見つけることができます。New Git features in Team Explorer and updated connect experience to do more with Git in Visual Studio 2017 and easily find the projects and repos to which you want to connect.
  • Visual Studio のフィードバック ワークフローが強化され、共同作業の問題の報告機能が増えました。Enhanced Visual Studio Feedback Workflow has more collaborative Report-A-Problem. すべてのフィードバックについて、検索、追跡、投票、最新の更新プログラムの入手が可能になりました。Search, follow, and vote to get latest updates on all feedback.

拡張: 独自の拡張機能を開発し、好みに応じてカスタマイズExtend: Customize to your liking by building your own extensions

  • Visual Studio 拡張機能: 独自の拡張機能を開発し、好みに合わせて Visual Studio をカスタマイズできます。Visual Studio Extensions: Customize Visual Studio to your liking by building your own extensions.
  • プロジェクト テンプレートと項目テンプレートの検出性: テンプレート検出のパフォーマンス向上のため、Visual Studio によるプロジェクト テンプレートと項目テンプレートの使用方法が大きく変更されています。Discoverability of Project and Item Templates: There is a breaking change with how Visual Studio consumes project and item templates to improve performance of template discovery.

装備: ツールを利用して生産性を上げ、新しい機能を最大限に活用します。Equip: Utilize tooling to increase productivity and explore new capabilities

  • .NET Core と ASP.NET Core: これには、新しい MSBuild をベースとする .NET Core ツールの最終リリース 1.0 が含まれています。.NET Core and ASP.NET Core: This contains the 1.0 final release of the new MSBuild based .NET Core Tools. Visual Studio 2017 を利用し、.NET Standard ライブラリ、.NET Core アプリ/ライブラリ、新しい csproj 形式を利用する ASP.NET Web プロジェクトを作成できます。Using Visual Studio 2017, you can create .NET Standard libraries, .NET Core apps/libraries, and ASP.NET web projects that use the new csproj format.
  • ユニバーサル Windows アプリ開発用ツール: 更新プログラムには、新しいバージョンの .NET ネイティブ ツール チェーン、.NET Core NuGet フレームワーク、新しい生産性向上ツール、Windows 10 の "Creators Update" SDK のサポートが含まれます。Tools for Universal Windows App Development: Updates include a new version of the .NET Native toolchain, .NET Core NuGet framework, new productivity tools, and support for the Windows 10 "Creators Update" SDK.
  • Xamarin: Xamarin 4.3 で tvOS のサポートが追加されたほか、iOS アセット カタログのサポートも強化され、XML 編集機能が向上しました。Xamarin: Xamarin 4.3 adds support for tvOS, while also improving iOS Assets Catalog support and the XML editing experience.
  • Visual Studio Tools for Apache Cordova: 新しいブラウザーベースのシミュレーターでは、迅速にコードを記述し、すぐに結果を確認できます。Visual Studio Tools for Apache Cordova: A new browser-based simulator enables you to code fast and see the results immediately.
  • Node.js Tools for Visual Studio: 更新プログラムは、安定性、パフォーマンス、製品全体の品質に重点を置いています。Node.js Tools for Visual Studio: Updates focused on stability, performance, and overall product quality.
  • Visual Studio Tools for Unity: 新しい Visual Studio インストーラーから、Visual Studio Tools for Unity 3 を "Unity によるゲーム開発" ワークロードと共に入手できるようになりました。Visual Studio Tools for Unity: Visual Studio Tools for Unity 3 is now available with the "Game Development with Unity" workload from the new Visual Studio installer.
  • Redgate Data Tools: DevOps 機能を SQL Database 開発に拡大するために、Visual Studio に Redgate Data Tools が追加されました。このツールは、Redgate ReadyRoll Core、SQL Search、SQL Prompt Core で構成されています。Redgate Data Tools: To extend DevOps capabilities to SQL database development, Visual Studio now includes Redgate Data Tools, comprising Redgate ReadyRoll Core, SQL Search, and SQL Prompt Core.
  • NuGet: NuGet では、推移的パッケージ参照の長所を維持しながら、パッケージ参照など、プロジェクト ファイルにパッケージ依存関係情報を直接保存できるようになりました。NuGet: NuGet now supports storing package dependency information directly in project files as package references, while maintaining the advances of transitive package references.
  • XAML アプリ用のツール: XAML ランタイム ツール バーでフォーカスを追跡できるようになりました。Tools for XAML Apps: The XAML runtime toolbar now lets you track focus. XAML のエディット コンティニュ、XAML エディターの機能強化、およびパフォーマンスの最適化により、XAML の生産性が向上しています。XAML productivity has been improved with XAML Edit & Continue, improvements to the XAML Editor, and performance optimizations.
  • Data Tools および SQL Server: SQL Server Data Tools の最新の更新プログラムにより、Azure SQL Database および SQL Server 2016 の最新の機能がサポートされます。Data Tools and SQL Server: The latest update of SQL Server Data Tools enables support for the newest features in Azure SQL Database and SQL Server 2016.
  • Developer Analytics Tools: Visual Studio 2017 には Developer Analytics Tools v8.6 が含まれています。Visual Studio の Application Insights 機能と HockeyApp 機能がさまざまな面で改善されています。Developer Analytics Tools: Visual Studio 2017 includes Developer Analytics Tools v8.6 with many improvements to the Application Insights and HockeyApp features in Visual Studio.
  • Office Developer Tools for Visual Studio: 最新の機能および更新を備えた Office Developer Tools が含まれています。Office Developer Tools for Visual Studio: Includes Office Developer Tools with the latest features and updates.
  • ライブ アーキテクチャの依存関係の検証: 依存関係検証ダイアグラム (レイヤー図とも呼ばれる) がリアルタイムで通知されます。Live Architecture Dependency Validation: Real-time notifications of dependency validation diagrams (aka Layer diagrams).
  • 開発者コマンド プロンプト: スクリプトは新しいインストール エクスペリエンスをサポートするようにリファクタリングされています。Developer Command Prompt: Refactored scripts to support the new installation experience.
  • Azure SDK for .NET: 新しい Visual Studio インストーラーで利用できるようになりました。Azure SDK for .NET: Now available from the new Visual Studio installer.

このバージョンの新機能What's New in this Version

インストール エクスペリエンス Installation Experience

新しいインストーラーが導入されました。このインストーラーは、次のことを目的として新しく設計されました。We're delighted to introduce our new installer, which was designed from the ground up to:

  • Visual Studio の最小フットプリントの縮小Reduce the minimum footprint of Visual Studio.
  • より高速でシステムへの影響がより少ないインストールと、クリーンなアンインストールInstall more quickly, with less system impact, and uninstall cleanly.
  • 必要な機能だけを簡単に選んでインストールできるMake it easier for you to select and install just the features you need.

Visual Studio 2017 を初めてインストールすると、新しいエクスペリエンスが表示されます (図 1)When you first install Visual Studio 2017, you'll see the new experience (Figure 1):

The new installation experience in Visual Studio 2017

(図 1) Visual Studio 2017 での新しいインストール エクスペリエンス
The new installation experience in Visual Studio 2017
(Figure 1) The new installation experience in Visual Studio 2017

最小のインストールはわずか数百 MB ですが、それでもソース コード管理など、20 を超える言語の基本的なコード編集サポートが含まれます。The smallest install is just a few hundred megabytes, yet still contains basic code editing support for more than twenty languages including source code control. ほとんどのユーザーはさらに多くの機能のインストールを望みます。Most users will want to install more. .NET のデスクトップ開発から Unity でのゲーム開発まであらゆるものをカバーする、一般的なフレームワーク、言語、プラットフォームを表す "ワークロード" を 1 つ以上追加できます。You can add one or more 'workloads' that represent common frameworks, languages, and platforms - covering everything from .NET desktop development to game development with Unity.

Visual Studio を更新する方法How to Update Visual Studio

Visual Studio を更新するには、Visual Studio インストーラーを実行し、[更新] ボタンをクリックします。To update Visual Studio, run the Visual Studio Installer and click the "Update" button.

新しいインストーラーに関するフィードバックFeedback on the New Installer

新しいインストーラー クライアントのタイトル バーの右上隅にある [問題点の報告][提案の送信] コマンドを使用して、問題点や良い点をお知らせください。You can report problems or praise using the Report a Problem and Provide a Suggestion commands from the new installer client in the upper right corner of the title bar. インストール、アンインストール、インストールの変更でエラーが発生したかどうか、および異常なインストール時間 (ハングなど) や予期しないエラー メッセージについてご連絡ください。We want to know if you experience errors installing, uninstalling, or modifying your installation, as well as abnormal installation times (e.g. hangs) or unexpected error messages.

オフライン インストールのレイアウトの作成と新しいコマンド ライン インストールのサポートCreating a Layout for Offline Installation and New Command-Line Installation Support

システム管理者およびその他のユーザーは、Visual Studio のオフライン レイアウトを作成できるようになりました。インターネットへのアクセスを必要とせず、製品のインストールに必要なすべてのコンテンツを含むものです。System administrators and other users can now create an offline layout of Visual Studio that contains all content needed to install the product without requiring internet access. このレイアウトは製品全体であったり、ワークロードやコンポーネントのサブセットであったり、1 つ以上の製品ロケールである場合があります。This layout can be the full product, a subset of workloads and/or components, and one or more product locales. オフラインのレイアウトの作成にはインターネットへのアクセスが必要であることに注意してください。Note that creating the offline layout requires internet access. 詳細については、「Create an offline installation of Visual Studio 2017 (Visual Studio 2017 のオフライン インストールを作成)」を参照してください。For more information, see Create an offline installation of Visual Studio 2017.

インストールのニックネーム Installation Nickname

Visual Studio Enterprise および Community (数ある製品の中で特に) を同じコンピューター上に並列インストールできるようになりました。Visual Studio Enterprise and Community (among other products) can now be installed side-by-side on the same computer. これらのインストールをより簡単に識別するために、短い名前または "ニックネーム" を指定できます。To make identifying these installations simpler, you can specify a short name or "nickname". たとえば、Visual Studio Enterprise をインストールしてから、Community をインストールすると、スタート メニューに表示される名前が両方とも同じになります。For example, if you were to install Visual Studio Enterprise, and then install Community, both would appear the same on the start menu. このような場合は、2 つ目に "community" などのニックネームを付けることができます。そうすれば、スタート メニュー項目には、"Visual Studio 2017 (community)" や "Developer Command Prompt for Visual Studio 2017 (community)" などの名前が表示されます。You can give the second one a nickname like "community", and the start menu items will appear with names such as "Visual Studio 2017 (community)" and "Developer Command Prompt for Visual Studio 2017 (community)".


Visual Studio IDE Visual Studio IDE

IDE の機能強化IDE Improvements

  • Visual Studio は最適化され、起動時間とソリューションの読み込み時間が短縮されました。Visual Studio has been optimized to reduce startup time and solution load time. Visual Studio の初回起動が 50% 以上速くなります。The very first launch of Visual Studio is at least 50% faster.
  • Visual Studio では、起動、ソリューションの読み込み、または編集に影響を及ぼす拡張のパフォーマンスが監視されます。Visual Studio will now monitor extension performance that impacts startup, solution load, or editing. IDE の通知バーで、パフォーマンスの良くない拡張機能について警告されます。You will receive alerts about poorly performing extensions via the Notification bar in the IDE. 新しいパフォーマンス センター (または [ヘルプ] の [Visual Studio のパフォーマンスの管理]) では、パフォーマンスに影響を与えている拡張機能が表示されるだけでなく、起動時のパフォーマンスに影響を与えているツール ウィンドウを検出して起動時の読み込み方法を変更することもできます。The new Performance Center (also available via Help > Manage Visual Studio Performance) lets you view not only extensions that are impacting performance, but also discover tool windows that are impacting your startup performance and change their startup load behavior.
  • 新しい Visual Studio インストーラーでは、Visual Studio 用 GitHub 拡張機能を選択できます。The GitHub extension for Visual Studio can be selected in the new Visual Studio installer.
  • すべてのプロジェクトの再読み込みは、[ソリューションの再読み込み] に置き換わり、外部の分岐を VS に切り替えるときのパフォーマンスが改善されました。Reload All Projects has been replaced with Reload Solution to support better performance when switching branches external to VS. パフォーマンスを最大限に改善するには、Git コマンド ラインを使用して分岐を切り替えるときに、分岐を切り替えた後に [ソリューションの再読み込み] を選択します。When using the Git command line to switch branches, choose Reload Solution after the branch has switched to achieve the maximum performance improvement.
  • .NET Core プロジェクトと ASP.NET Core プロジェクトのファイル グロビング機能が強化されました。File globbing capabilities for .NET Core and ASP.NET Core projects have been enhanced. 詳細については、プロジェクト ファイル グロビングに関するページを参照してください。See project file globbing for more details.
  • これで、複製後、自動的にリポジトリのフォルダー ビューが表示されるようになりました。You are now automatically taken to the folder view of your repository after cloning. ソリューション エクスプローラーの新しいソリューション選択リストで、ファイルを表示したり、ソリューションを開いたりできます。You can view files or open Solutions with the new Solution selection list in the Solution Explorer.
  • VSHub に代わる新しい外部サービス ホストが導入されました。A new external service host is being introduced that will replace VSHub. この新しいサービス ホストは外部プロセスであり、タスク マネージャーでは ServiceHub.Host.CLR.*.exe および ServiceHub.Host.Node.x86.exe として表示されます。This new service host is an external process and will appear in Task Manager as ServiceHub.Host.CLR.*.exe, as well as ServiceHub.Host.Node.x86.exe. このホストは、最終的に、VSHub で導入された localhost http トラフィックを除去します。これにより、Fiddler ユーザーから報告されたノイズが軽減されます。This host will ultimately eliminate the localhost http traffic that was introduced with VSHub which should alleviate the noise Fiddler users reported.
  • プレリリースのライセンス有効期限メッセージで、現在のライセンスの状態がより明確に表示されます。Pre-release license expiration messages more clearly communicate the current license state.
  • [アカウントの設定] ダイアログのアクセシビリティが向上し、スクリーン リーダーから使用しやすくなりました。The Account Settings dialog is now more accessible to screen readers.
  • Visual Studio インストーラーでヘルプ ビューアー コンポーネントをインストールすることで、オフライン ヘルプを使用できるようになりました。Offline help is now available by installing the Help Viewer component from the Visual Studio installer.
  • [言語パック] タブでは、Visual Studio インストーラーを使用して、いつでも複数のユーザー インターフェイス言語を追加および削除できるようになりました。インストールされているユーザー インターフェイス言語から現在のものを選択するには、[ツール]、[オプション]、[国際対応の設定] の順に移動します。You can now add and remove multiple user interface languages at any time using the Visual Studio installer on the Language Packs tab. You can select the current user interface language among those installed using Tools > Options > International Settings.
  • バージョン コントロールのステータス バーにより、SCC ホストに対するローカル リポジトリの発行や、コミットされていない作業 (図 2) とプッシュされていない作業 (図 3) の把握が簡単になりました。The version control status bar makes it easier to publish local repos to an SCC host and keep track of uncommitted (Figure 2) and un-pushed work (Figure 3).

Version Control - Unpublished commits example

(図 2) バージョン管理 - 発行されていないコミットの例
Version Control - Unpublished commits example
(Figure 2) Version Control - Unpublished commits example

Version Control - No pending changes example

(図 3) バージョン管理 - 保留中の変更がない例
Version Control - No pending changes example
(Figure 3) Version Control - No pending changes example

サインインと ID の機能強化Sign In and Identity Improvements

新しい ID サービスが導入されています。これにより、Microsoft 開発者向けツール全体でユーザー アカウントを共有できるようになります。We introduced a new identity service that allows you to share user accounts across Microsoft developer tools. Visual Studio 内でこの共有の対象となるのは、チーム エクスプローラー、Azure Tools、Windows ストアの発行などの機能です。Within Visual Studio, this sharing includes features such as Team Explorer, Azure Tools, Windows Store publishing, and more. これらの機能では、一般的で一貫したサインイン操作が共有されるようになります。These features now share a common and consistent sign in experience.

Visual Studio への機能強化と共に、サービス側にいくつかの機能強化を配置しました。これによりユーザーは安全にサインインした状態を維持し、12 時間おきの強制的なサインインを排除できます。Along with improvements to Visual Studio, we have completed the deployment of some improvements on the service side that allow users to safely stay signed in and eliminate the forced sign in every 12 hours. これは、最もよく報告されたサインインの問題に対処します。This addresses the most commonly reported sign in issue. 詳しくは、少なくなった Visual Studio プロンプトに関する記事をご覧くださいLearn more about fewer Visual Studio prompts.

スタート ページStart Page

再設計されたスタート ページには、以下のような "開く" 機能と "作成" 機能が新たに追加されています。The redesigned Start Page has new Open and Create facilities:

  • VSTS からリモート リポジトリを取得するか、向上した MRU を使用して、ローカル プロジェクトとソリューションを簡単に開きます。Acquire remote repos from VSTS or use our more prominent MRU to open local projects and solutions easily.
  • スタート ページ MRU に他のコンピューターで複製したリポジトリが表示されるため、現在のコンピューターでリポジトリを簡単に複製できます。The Start Page MRU shows repos you've cloned on other machines so you can easily clone them on your current machine.
  • 検索可能なテンプレートと、最近使用したテンプレートの一覧で、開始ページから新しいプロジェクトを直接作成します。Create a new project directly from the Start Page with searchable templates and a list of recently used templates. 最近使ったテンプレートは、個人アカウントと共に Visual Studio インスタンス間を移動しても維持されます。Recently used templates will also roam across Visual Studio instances with a personalization account.
  • スタート ページの [Checkout from VSTS](VSTS からのチェックアウト) オプションにより、VSTS エクスペリエンスから新しいクローンをすばやく起動します。Quickly launch the new Clone from VSTS experience through the "Checkout from VSTS" option on the Start Page.
  • "作業の開始" セクションは閉じることができます。A dismissible "Get Started" section.
  • "ニュース" セクションを折りたたむことができるようになりました。The News section is now collapsible:
    • ニュース フィードに新しく追加された項目のバッジが更新されました。Updated badge on newly added items in the News Feed.
    • ニュース フィードが折りたたまれているときに新しい項目が表示された場合のニュース フィード展開コントロールのバッジ。Badge on News Feed expander if new items appear when the News Feed is collapsed.
  • 視覚的なデザインを改良し、小さい画面で欠けて表示されてしまう部分および空きスペース活用に関するフィードバックに対応しました。Refined visual design to address feedback about truncated elements on smaller screens and utilization of empty space.

新しいスタート ページを以下の (図 4) に示します。The new Start page is shown below (Figure 4):

Start Page with Get Started and News

(図 4) "作業の開始" と "ニュース" が含まれたスタート ページ
Start Page with Get Started and News
(Figure 4) Start Page with Get Started and News

コード ナビゲーションの向上 Improved Code Navigation

Visual Studio 2017 のコード ナビゲーション機能が大幅に強化されました。We've made significant improvements to code navigation features in Visual Studio 2017:

  • すべてにジャンプ (Ctrl+ または Ctrl+ T) を使用すると、コード内のファイル、型、メソッド、その他の要素を簡単に見つけて移動できます。Go To All (Ctrl+, or Ctrl+ T) lets you quickly find and go to files, types, methods, and other elements in your code. 大規模なコード ベースであっても、あらゆる種類の項目を見つけることができます。It allows you to locate items of any kind, even in large code bases. さらに、項目の種類がわかっている場合、簡単にフィルターすることもできます。What’s more, if you know what kind of item you’re after, you can filter down easily. C#、Visual Basic、F# に "あいまい" 一致が追加されました。綴りを間違えても、結果が表示されます。In C#, Visual Basic, and F#, we have also added "fuzzy" matching such that if you misspell a type name you will still get results. Microsoft は、指定行へのジャンプ エクスペリエンスも最新化しました。We've also modernized the Go To Line (Ctrl + G) experience. [編集] メニューの上部に、コマンドの [移動先] ファミリの (図 5)(図 6) があります。You can find the Go To family of commands at the top of the Edit Menu (Figure 5) and (Figure 6).

Go To Results Filtered

(図 5) フィルター処理された結果への移動
Go To Results Filtered
(Figure 5) Go To Results Filtered

Go To Line

(図 6) 指定行へのジャンプ
Go To Line
(Figure 6) Go To Line

  • [すべての参照の検索](Shift + F12 キー) が改良され (現時点では C#、Visual Basic、C++、F# に対応)、参照の結果内で高度なグループ化、フィルター処理、並べ替え、検索機能に加え、結果の色付け (C# と VB の場合) が可能になり、参照を明確に理解し、必要なコード行に確実に移動できます。Find All References (Shift+F12) has been overhauled (currently for C#, Visual Basic, F#, and C++), providing advanced grouping, filtering, sorting, searching within reference results, and colorization for results (for C# and VB), so you can get a clear understanding of your references and get to the line of code you need with confidence. 参照項目にマウス ポインターを合わせると、ソース コード内の参照のコンテキストと共にツールヒントが表示されます (C# および VB の場合)。On mouse hover on a reference item, a tooltip is displayed with the context of the reference in source code (for C# and VB). ツール バーの [結果を保持] ボタンを切り替えることにより、[すべての参照の検索] を次回呼び出したときに、参照の結果が新しいウィンドウに表示されます。By toggling on the Keep Results button in the toolbar, the next invocation of Find All References will populate reference results in a new window. これにより、現在の結果を既存のウィンドウに保持できます (図 7)This allows you to keep the current results in the existing window (Figure 7).

Find All References

(図 7) すべての参照の検索
Find All References
(Figure 7) Find All Reference

  • エディターで構造のガイド線が描画されるようになったため、作業中のコードの構造を簡単に視覚化できます。Structure Guide Lines are now drawn in the editor so that you can easily visualize the structure of the code that you are working in. マウス ポインターを合わせると、先祖のブロックを基準とする現在のコード ブロックのコンテキストを含むツールヒント (図 8) が表示されます。On mouse hover, a tooltip (Figure 8) is displayed containing the context of the current code block relative to its ancestor blocks. 構造のガイド線は、現在、C#、Visual Basic、F#、XAML のファイルに加えて、TextMate 文法を介してサポートされるすべてのファイルでサポートされます。Structure Guide Lines are currently supported for C#, Visual Basic, F#, and XAML files, and for any files supported via TextMate grammars. この機能は、[ツール オプション] ダイアログ ボックスで無効にすることができます。これには、[テキスト エディター] > [全般] カテゴリで [構造のガイド線を表示する] チェック ボックスをオフにします。This feature may be disabled in the Tools > Options dialog by unchecking the Show structure guide lines checkbox under the Text Editor > General category.

Structure Guide Lines

(図 8) 構造のガイド線
Structure Guide Lines
(Figure 8) Structure Guide Lines

EditorConfig によるコーディング規則サポートCoding Convention Support via EditorConfig

Visual Studio エディターで EditorConfig がサポートされるようになりました。これにより、開発者は、さまざまなエディターや IDE の間で一貫性のあるコーディング スタイル規則を定義して管理できます。The Visual Studio editor now supports EditorConfig, which allows developers to define and maintain consistent coding style conventions between different editors and IDEs. 詳細については、ドキュメントを参照してください、.editorconfig ファイルを利用して .NET コード スタイルを制御する方法については、.NET ドキュメントを参照してください。See documentation for more details, and .NET documentation for information on how to use .editorconfig files to govern your .NET code style.

フォルダーを開くOpen Folder

[フォルダーを開く] は、プロジェクトとソリューションなしでコード ベースを操作するのに便利です。Open Folder is a convenient way for you to work with code bases without projects and solutions. [ファイル]、[開く]、[フォルダー] の順に選択してフォルダー ビューを開き、ナビゲートするフォルダーを選択します。Open Folder View from File > Open > Folder, and then select a folder to navigate. ソリューション エクスプローラーを使用してファイルを開き、編集することができます (図 9)You can open and edit files using the Solution Explorer (Figure 9). 多くの一般的な言語には、構文の強調表示とシンボルのナビゲーション (GoTo) のサポートがあります。Many popular languages have syntax highlighting and support for symbol navigation (GoTo).

The new Open Folder feature in the Visual Studio IDE

(図 9) Visual Studio IDE の [フォルダーを開く] の新機能
The new Open Folder feature in the Visual Studio IDE
(Figure 9) The new Open Folder feature in Visual Studio IDE

さらに、次の一部の言語では、高度な IntelliSense と、フォルダーからの直接デバッグのサポートが用意されています。Additionally, some languages have advanced IntelliSense and debugging support directly from the folder:

  • C++ (CMake)。C++ (CMake).
  • Node.js - JavaScript/TypeScript。Node.js - JavaScript/TypeScript.
  • C# と VB。C# & VB.

F5 キーとソリューション エクスプローラーのファイル コンテキスト メニューを使用してビルドまたはデバッグを実行できます。You can build or debug by using F5 and the file context menu in the Solution Explorer. 最良の結果を得るには、作業に使用している言語のワークロードをインストールしてください。For the best experience, make sure you install the workload for the languages you are working with.

フォルダー ビューでは、以下もサポートされます。The folder view also supports the following:

  • ジャンプ (Ctrl+) を使用してフォルダー内のコードを検索する。Search across the code in your folder with GoTo (Ctrl+).
  • ソリューション エクスプローラーのフォルダー ビューの範囲をサブフォルダー絞る。Scope the Solution Explorer folder view to subfolders.
  • エクスプローラー、またはソリューション エクスプローラーのコマンド プロンプトでフォルダーを開く。Open folders in Explorer or the Command Prompt from the Solution Explorer.
  • ソリューション選択ドロップダウンによる、開いているフォルダーまたはリポジトリ内のソリューションの簡単な切り替え。Easily toggle between Solutions in the opened folder or repository with the Solution selection dropdown.
  • launch.vs.json を使用してデバッグと起動の設定を構成する。Configure debug and launch settings with launch.vs.json. デバッグ可能なファイルを右クリックし、[デバッグ設定と起動設定] を選択する。Right-click on a file that can be debugged and select Debug and Launch Settings.
  • tasks.vs.json を使用してタスクを構成し、ビルドをカスタマイズする。Configure tasks and customize build with tasks.vs.json. 任意のファイルを右クリックし、[タスク設定の構成] を選択する。Right-click on any file and select Configure Task Settings.
  • JSON エディターで Launch.vs.json と tasks.vs.json に IntelliSense が搭載。Launch.vs.json and tasks.vs.json have IntelliSense in the JSON editor.

ファイルを開く操作とフォルダー ビューとソリューション ビューの切り替えのパフォーマンスが大幅に改善されました。The performance of opening folders and toggling between folder view and solution view has been drastically improved.

ライトウェイト ソリューション ロードLightweight Solution Load

ライトウェイト ソリューション ロードにより、大規模なソリューションの読み込み速度が向上します。Lightweight Solution load enables faster loading of large Solutions. 大規模なソリューションにおけるソリューションの読み込み時間とメモリの使用量が大幅に改善します。It can provide substantial improvements in Solution load time and memory usage for large Solutions. この機能は既定では有効になっていません。ソリューション単位で有効にするか、IDE でグローバルに有効にすることができます。The feature is not enabled by default and can be enabled on a Solution-by-Solution basis or globally in the IDE. この機能をグローバルに有効にするには、[ツール]、[オプション] の順に移動し、[プロジェクトおよびソリューション] (図 10) の [全般] を選択するか、クイック起動で "ライトウェイト ソリューション ロード" を検索します。To enable globally, navigate to Tools > Options, select General under Projects and Solutions (Figure 10) or by searching for "Lightweight Solution load" with Quick Launch. この機能は、ソリューションの [プロパティ] ウィンドウでソリューションごとに有効または無効にすることができます。The feature can be turned on and off for individual Solutions in the Solution properties pane.

The new Lightweight Solution load feature in the Visual Studio IDE

(図 10) Visual Studio IDE の新しいライトウェイト ソリューション ロード機能
The new Lightweight Solution load feature in the Visual Studio IDE
(Figure 10) The new Lightweight Solution load feature Visual Studio IDE

ライトウェイト ソリューション ロードは、C# プロジェクトや C# と C++ を組み合わせたプロジェクトが含まれる大規模なソリューションに最適です。Lightweight Solution Load is best suited for large solutions that contain C# or a mix of C# and C++ projects. 大規模なソリューションで作業していることが検出された場合、この機能を有効にするように求められることがあります。You may be prompted to enable the feature if we detect that you are working with large solutions. この機能の詳細については、Visual Studio ブログを参照してください。You can find more details about this feature on the Visual Studio blog.

ソリューション ビルド全体のパフォーマンスが大幅に向上し、従来のソリューション ロードと同等になりました。Performance of full Solution builds has been improved substantially, now at parity with conventional Solution load.

構文の色づけ、AutoComplete、スニペット、[移動] 検索のサポートによる言語の追加Syntax Colorization, Autocomplete, Snippet, and "Navigate To" Search Support for More Languages

Visual Studio 2015 の更新プログラムで追加されたサポートを基にして、Visual Studio 2017 では、構文の色付けと AutoComplete がサポートされる言語の範囲が増えています。Building on the support we added in the Visual Studio 2015 updates, Visual Studio 2017 now supports syntax colorization and autocomplete for an increased range of languages. さらに、これらの言語の一部では、[移動](Ctrl+) による移動およびコード スニペット (両方または一方のみ) もサポートされます。In addition, some of these languages also support navigation via "Navigate To" (Ctrl+), and/or Code Snippets.

以下に示す言語のファイルは、その言語を明示的にサポートするワークロードがインストールされていない場合であっても、新しい Visual Studio Core Editor でこれらの機能をサポートします。Files for the languages noted below, support these features in the new Visual Studio Core Editor even when no workloads have been installed to explicitly support the language in question. 言語をサポートするワークロード (.NET Desktop Application Development ワークロード、Windows Desktop App Development with C++ ワークロードなど) がインストールされている場合は、IntelliSense や、電球などの他の高度な言語機能も提供されます。If a workload that provides language support is installed (e.g., the .NET Desktop Application Development workload, the Windows Desktop App Development with C++ workload, etc.), then more extensive language support including IntelliSense and other advanced language features like Light Bulbs may be provided.

サポート レベル別の言語ファイル種類一覧:Language file types listed by support level:

  • 構文の色づけと AutoComplete のみをサポート:Supports only Syntax Colorization and Autocomplete:
    • Bat、Clojure、CoffeeScript、CSS、Docker、F#、Groovy、INI、Jade、Javadoc、JSON、LESS、LUA、Make、Markdown ++、Objective-C、Perl、PowerShell、Python、Rust、ShaderLab、SQL、Visual Basic .NET、YAML。Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET, YAML.
  • (構文の色づけと AutoComplete に加えて) コード スニペットをサポート:Supports Code Snippets (in addition to Syntax Colorization and Autocomplete):
    • CMake、C++、C#、Go、Groovy、HTML、Java、Javadoc、JavaScript、Lua、Perl、PHP、R、Ruby、Shellscript、Swift、XML。CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.
  • (構文の色づけと AutoComplete に加えて) [移動] をサポート:Supports Navigate To (in addition to Syntax Colorization and Autocomplete):
    • C++、C#、Go、Java、JavaScript、PHP、TypeScript、Visual Basic。C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.

プロジェクトの作業開始の概要ページGetting Started with Project Overview Pages

新たに作成されたプロジェクトに対してまったく新しい作業の開始エクスペリエンスが導入されています。We have introduced a completely new getting started experience for freshly created projects. 現在の作業開始ページが新しいアプリ構成デザイナーの [概要] タブに置き換えられました。このページの内容は、作業をすぐに開始できるようにするためのアクションに絞り込まれています。We've replaced current getting started pages with an Overview tab in our new App Configuration Designer and focused the page on the actions that will get you up and running quickly! これは、ASP.NET 4.x、ASP.NET Core、Cordova プロジェクトで有効になっています (図 11)This has been enabled in ASP.NET 4.x ASP.NET Core, and Cordova projects (Figure 11).

Project Overview

(図 11) プロジェクト概要
Project Overview
(Figure 11) Project Overview

接続済みサービスを使用したサービスへの接続 Connecting to Services Using Connected Services

以前のリリースでは、この機能はサービス機能という名前でした。In a previous release, this feature was named Service Capabilities. 接続済みサービスに名前が変更されました。We've changed the name to Connected Services.

接続済みサービスとは、Visual Studio 2017 の最新の "接続済みサービスの追加" または "サービス参照の追加" 機能のことです。Connected Services is the modern "Add Connected Service" or "Add Service Reference" feature of Visual Studio 2017. 接続済みサービス機能により、アプリをサービスにより簡単に接続できます。The Connected Services feature makes it easier to connect your app to services. ソリューション エクスプローラーでは、Web およびモバイル プロジェクトに "接続済みサービス" と呼ばれる新しいノードを使用できます。A new node called "Connected Services" is available in the Solution Explorer for Web and Mobile project types. このノードをダブルクリックすると、Visual Studio で新しいフル ページのタブが開きます。ここでは、接続可能な人気のある Microsoft サービスが見つかります。Double-clicking this node will open a new full page tab in Visual Studio where you can discover popular Microsoft services you can connect to.

[接続済みサービス] ページ (図 12) でサービスを選択すると、接続済みサービス ウィザードが起動します。このウィザードでは、プロジェクトを構成し、必要な NuGet パッケージをダウンロードして、サービスに対してすばやくかつ簡単にコーディングを開始できるようにします。Selecting a service on the Connected Services page (Figure 12) will invoke the Connected Services Wizard that configures your project, and downloads the necessary NuGet packages to get you started coding against your service quickly and painlessly.

Connected Services

(図 12) 接続済みサービス
Connected Services
(Figure 12) Connected Services

ツールと機能の製品内での取得 In-Product Acquisition of Tools and Features

Visual Studio 2017 では、IDE を離れずに、追加のワークロードとコンポーネントを簡単に取得できます (図 13)Visual Studio 2017 makes it easy to acquire additional workloads and components without leaving the IDE (Figure 13). クイック起動を利用して、ワークロードまたは個々のコンポーネントに対応する Visual Studio インストーラーを検索して起動します。Leverage Quick Launch to find and kick-off the Visual Studio Installer for any Workload or Individual component.

In-product acquisition via Quick Launch

(図 13) クイック起動による製品内の取得
In-product acquisition via Quick Launch
(Figure 13) In-product acquisition via Quick Launch

探しているテンプレートが見つからない場合は、[新しいプロジェクト] ダイアログ内から Visual Studio インストーラーを開くこともできます (図 14)If you can't find the templates you’re looking for, the Visual Studio Installer can also be opened from within the New Project dialog (Figure 14).

In-product acquisition via New Project Dialog

(図 14) クイック起動による製品内の取得
In-product acquisition via New Project Dialog
(Figure 14) In-product acquisition via Quick Launch


Visual C++ Visual C++

Visual Studio 2017 には、Visual C++ 環境に対する多くの更新プログラムと修正プログラムが導入されています。Visual Studio 2017 brings many updates and fixes to the Visual C++ environment. バグ レポートをお寄せいただきありがとうございました。Thank you for reporting bugs! 250 以上のバグを修正し、コンパイラおよびツールの問題をレポートしてきました。その多くは Microsoft Connect を通じてお客様から寄せられたものです。We've fixed over 250 bugs and reported issues in the compiler and tools, many submitted by customers through Microsoft Connect. このリリースでは、STL のパフォーマンスの向上に取り組みました。In this release, we worked on performance improvement of the STL. SQLite ベースの新しいデータベース エンジンが、既定で使用されるようになりました。The new SQLite-based database engine is now being used by default. これにより、[定義に移動] や [すべての参照を検索] などのデータベース操作が高速化され、ソリューションの初期解析時間も大幅に短縮されます。This will speed up database operations like Go To Definition and Find All References, and will significantly improve initial solution parse time. 元の C++ ワークロードのインストールに対して、より詳細なインストール エクスペリエンスを提供します。We now provide a more granular installation experience for installing the original C++ workload. 必要なツールだけをインストールできる選択可能なコンポーネントが追加されました。We have added selectable components that enable you to install just the tools that you need. Visual Studio で CMake がサポートされるようになります。CMake support in Visual Studio is ready for primetime! CMake プロジェクトを直接 VS に読み込み、すぐにコーディングを開始できます。Load your CMake projects directly into VS and start coding now. "フォルダーを開く" の C++ エクスペリエンスが改善されたため、VS ソリューションとプロジェクトを作成しなくてもソース コードを VS に移動できます。“Open Folder” C++ experience has been improved – so bring your source code to VS without the need to create any VS solutions and projects. Navigate To は現在、新しいナビゲーション フィルターのセットに対する包括的用語として、Go To と呼ばれています。Navigate To is now known as Go To, an umbrella term for a set of new navigation filters. これを使用すると、特に大規模なコード ベースで正しい結果を見つけやすくなります。This will make it easier to find the right results, especially in larger code bases.

C++ コードの分析C++ Code Analysis

C++ コア ガイドラインを適用するための C++ コア チェッカーが Visual Studio で配布されています。The C++ Core Checkers for enforcing the C++ Core Guidelines are now distributed with Visual Studio. プロジェクトのプロパティ ページ (図 15) の [Code Analysis Extensions](コード分析の拡張機能) ダイアログでチェックを有効にするだけで、拡張機能がコード分析の実行時に含まれます。Simply enable the checkers in the Code Analysis Extensions dialog in the project's property pages (Figure 15) and the extensions will be included when you run code analysis.

CppCoreCheck properties page

(図 15) CppCoreCheck のプロパティ ページ
CppCoreCheck properties page
(Figure 15) CppCoreCheck properties page

C++ コンパイラC++ Compiler

C++ コンパイラと標準ライブラリを更新して C++11 と C++14 機能のサポートを強化し、C++17 標準に組み込まれると予想される特定の機能について予備的なサポートを追加しました。We've updated the C++ compiler and standard library with enhanced support for C++11 and C++14 features, as well as preliminary support for certain features expected to be in the C++17 standard. 一般化された constexpr と集計のための NSDMI のサポートにより、コンパイラは C++14 標準で追加された機能に完全に対応します。With support for generalized constexpr and NSDMI for aggregates, the compiler is complete for features added in the C++14 Standard. コンパイラには、C++11 標準および C++98 標準の一部の機能がないことに注意してください。Note that the compiler still lacks a few features from the C++11 and C++98 Standards. Visual Studio 2017 では、/sdl を /await と一緒に使うことができます。Visual Studio 2017 allows using /sdl with /await. コルーチンでの /rtc の制限がなくなりました。We removed /rtc limitation with Coroutines.

このリリースには、最適化およびコード生成におけるいくつかの機能拡張が含まれています。This release brings several improvements in optimization and code generation. 主な改良点は次のとおりです。Some notable improvements include:

  • ループのコード生成の向上: 定数整数の除算の自動ベクター化がサポートされるようになりました。また、memset パターンの識別機能が向上しています。Improved code generation of loops: support for automatic vectorization of division of constant integers, better identification of memset patterns.
  • コード セキュリティの向上: バッファー オーバーラン コンパイラ診断の出力が向上し、/guard:cf によりジャンプ テーブルを生成する switch ステートメントが保護されるようになりました。Improved code security: improved emission of buffer overrun compiler diagnostics, and /guard:cf now guards switch statements that generate jump tables.
  • /debug:fastlink オプションが改善され、大規模なコンポーネントでのリンク時間が Visual Studio 2015 よりも 30% 短縮されています。The /debug:fastlink option has been improved to provide 30% faster link times on large components than in Visual Studio 2015.
  • コルーチンの使用時、試験的キーワード "yield" (/await switch の下にあります) は削除されています。When using co-routines, the Experimental keyword "yield" (available under /await switch) has been removed. 代わりにコードを書き直し、"co_yield" を使用する必要があります。Your code should be updated to use the "co_yield” instead. 詳細については、「Visual C++ チーム ブログ」を参照してください。For more information, see the Visual C++ Team blog.

C++ ライブラリC++ Libraries

  • [STL] basic_string のパフォーマンスが改善されました。[STL] Performance improvement of basic_string.
  • [STL] <any>、<string_view>、apply()、make_from_tuple() が追加されました。[STL] Added <any>, <string_view>, apply(), make_from_tuple().
  • [STL] std::vector が刷新され、正確性とパフォーマンスが向上しました。[STL] std::vector has been overhauled for correctness and performance.
  • [STL] STL によって、手の込んだ null ポインターの逆参照が回避されるようになりました。[STL] The STL now avoids dereferencing null fancy pointers.
  • [STL] <optional>、<variant>、shared_ptr::weak_type、<cstdalign> が追加されました。[STL] Added <optional>, <variant>, shared_ptr::weak_type, and <cstdalign>.
  • [STL] min/max/minmax(initializer_list) と min_element/max_element/minmax_element() で C++14 constexpr が有効になりました。[STL] Enabled C++14 constexpr in min/max/minmax(initializer_list) and min_element/max_element/minmax_element().
  • [STL] std::string/std::wstring の移動コンストラクターのパフォーマンスが 3 倍向上しました。[STL]Improved the performance of std::string/std::wstring's move constructors by more than 3x.
  • [STL] STL の改善点の詳細については、Visual C++ チーム ブログを参照してください。[STL] For a complete list of STL improvements see: Visual C++ Team blog.
  • [ATL] もう 1 つの名前検索の適合性が解決しました。[ATL] Yet another set of name-lookup conformance fixes.
  • [ATL] 既存の移動コンストラクターと移動代入演算子が非スローとして正しくマークされるようになりました。[ATL] Existing move constructors and move assignment operators are now properly marked as non-throwing.
  • [ATL] atlstr.h のローカルな静的変数のスレッド セーフな init に関する有効な警告 (C4640) の抑制が解除されました。[ATL] Un-suppress valid warning C4640 about thread safe init of local statics in atlstr.h.
  • [ATL] [using ATL AND building a DLL (ATL を使用し DLL をビルドする)] の際、XP ツールセットで、ローカルな静的変数のスレッド セーフな初期化が自動的に無効になっていました。[ATL] Thread Safe Initialization of local statics was automatically turned off in the XP toolset when [using ATL AND building a DLL]. 現在のバージョンには該当しません。This is no longer the case. スレッド セーフな初期化をオフにすることを希望する場合は、[プロジェクト] 設定で /Zc:threadSafeInit- を追加することができます。You can add /Zc:threadSafeInit- in your Project settings if having thread safe initialization off is desired.
  • [AMP] ライブラリを監査し、タイプミスを修正しました。[AMP] Audited library and fixed typos.
  • [VCRuntime] コントロール フロー ガード シンボルに新しいヘッダー 'cfguard.h' が追加されました。[VCRuntime] New header ‘cfguard.h’ for Control Flow Guard symbols.

C++ IDEC++ IDE

C++ ネイティブ プロジェクトの構成変更が簡単になりました。C++/CLI プロジェクトの場合、さらに簡単です。Configuration change performance is now better for C++ native projects and much better for C++/CLI projects. ソリューション構成を初めて有効にするとき、そのプロセスが以前より速やかに進行し、そのソリューション構成の後続のアクティベーションがすべて即座に完了します。When a solution configuration is activated for the first time it will now be faster and all subsequent activations of this solution configuration will be almost instantaneous.

SQLite ベースの新しいデータベース エンジンが、既定で使用されるようになりました。The new SQLite-based database engine is now being used by default. これにより、[定義に移動] や [すべての参照を検索] などのデータベース操作が高速化され、ソリューションの初期解析時間も大幅に短縮されます。This will speed up database operations like Go To Definition and Find All References, and will significantly improve initial solution parse time. 設定は、[ツール] > [オプション] > [テキスト エディター] > [C/C++] > [詳細設定] に移動しました (以前は、... [C/C++] > [試験的] の下)。The setting has been moved to Tools > Options > Text Editor > C/C++ > Advanced (it was formerly under ...C/C++ > Experimental).

プリコンパイル済みヘッダーを使用していないプロジェクトおよびファイルでの IntelliSense のパフォーマンスが向上しました。現在のファイルのヘッダーに対して自動プリコンパイル済みヘッダーが作成されます。We've improved IntelliSense performance on projects and files not using precompiled headers – an Automatic Precompiled Header will be created for headers in the current file.

その他の更新プログラム:Other updates include:

  • エラー一覧の IntelliSense エラーに対するフィルター処理とヘルプが追加されました (図 16)We've added error filtering and help for IntelliSense errors in the error list (Figure 16). エラー列をクリックするとフィルター処理を実行できます (図 17)Clicking on the error column now allows for filtering (Figure 17). また、特定のエラーをクリックするか F1 キーを押すと、エラー メッセージのオンライン検索が開始します。Also, clicking on the specific errors or pressing F1 will launch an online search for the error message.

Error List

(図 16) エラー一覧
Error List
(Figure 16) Error List

Error List Filtered

(図 17) フィルター処理されたエラー一覧
Error List Filtered
(Figure 17) Error List Filtered

  • メンバー リストの項目を種類別にフィルターする機能が追加されました (図 18)Added the ability to filter Member List items by kind (Figure 18).

Member List Filtered

(図 18) フィルター処理されたメンバー リスト
Member List Filtered
(Figure 18) Member List Filtered

  • メンバー リストの表示項目のコンテキストに応じたフィルター処理を提供する新しい実験的な予測 IntelliSense 機能が追加されました。Added a new experimental Predictive IntelliSense feature that provides contextually-aware filtering of what appears in the Member List.
  • 新しい [すべての参照を検索] UI に、C++ コードで、結果に表示された変数から読み取るのか変数に書き込むのかに関する情報が含まれるようになります。The new Find All References UI includes information about whether you are reading from or writing to a variable in the results for C++ code.

  • Dot-to-Arrow IntelliSense 機能が試験段階から進んだ段階に移り、既定で有効になっています。The Dot-to-Arrow IntelliSense feature has been moved from experimental to advanced, and is now enabled by default. エディターの [Expand Scopes (スコープの展開)] および [Expand Precedence (優先順位の展開)] 機能が試験段階から進んだ段階に移ります。The editor features Expand Scopes and Expand Precedence have also been moved from experimental to advanced.

  • 試験的なリファクタリング機能である "署名の変更" および "関数の抽出" が既定で使用可能になりました。The experimental refactoring features Change Signature and Extract Function are now available by default.

  • C++ プロジェクトの "迅速なプロジェクトの読み込み" の実現に向けた試験的な新しい機能が有効になりました。We've enabled the new experimental feature for C++ projects ‘Faster project load’. C++ プロジェクトを次回に開いた際に、読み込みが速くなり、またそれ以降、読み込みがさらに速くなります。The next time you open a C++ project it will load faster, and the time after that it will load even faster!

  • [フォルダーを開く] のエクスペリエンスが改善されました。Improvements to the Open Folder experience. [フォルダーを開く] からソースを読み込むことで、MSBuild 以外の C++ プロジェクトを編集、ビルド、およびデバッグします。Edit, build, and debug your non-MSBuild C++ project by loading your sources through “Open Folder”. 次に示す json ファイルを使用したエクスペリエンスのカスタマイズ:Customize the experience through these json files:

    • CppProperties.json: IntelliSense および参照エクスペリエンスをカスタマイズします。CppProperties.json to customize the IntelliSense and browsing experience.
    • Tasks.vs.json: ビルド ステップをカスタマイズします。Tasks.vs.json to customize the build steps.
    • Launch.vs.json: デバッグ エクスペリエンスをカスタマイズします。Launch.vs.json to customize the debugging experience.
  • C++ の IntelliSense は、ルート フォルダーに CppProperties.json ファイルを作成しなくても動作します。C++ IntelliSense will work without the need to create a CppProperties.json file in the root folder. これに加えて、CMake に用意された構成と CppProperties.json ファイルをユーザーが簡単に切り替えることができるように新しいドロップダウンが追加されました。Along with this, we've added a new dropdown to allow users to easily switch between configurations provided by CMake and CppProperties.json files. [フォルダーを開く] での CMake のサポート: [フォルダーを開く] で CMake プロジェクトを開くと、C++ の編集、ビルド、およびデバッグ用の環境が自動的に構成されます。CMake support in Open Folder: opening CMake projects with “Open Folder” will automatically configure the environment for C++ editing, building and debugging.

  • CMakeLists.txt ファイルと同じフォルダーに配置される CMakeSettings.json ファイルにより、追加の構成がサポートされます (図 19)Further configuration is supported via a CMakeSettings.json file that sits in the same folder as the CMakeLists.txt file (Figure 19).

CMake Open Folder

(図 19) CMake の [フォルダーを開く]
CMake Open Folder
(Figure 19) CMake Open Folder

C++ インストール ワークロードC++ Installation Workloads

  • C++ による Windows デスクトップ開発:Windows Desktop Development with C++:

    • 元の C++ ワークロードのインストールに対して、より詳細なインストール エクスペリエンスを提供します。We now provide a more granular installation experience for installing the original C++ workload. 必要なツールだけをインストールできる選択可能なコンポーネントが追加されました。We have added selectable components that enable you to install just the tools that you need. インストーラーの UI のコンポーネント一覧で示されるインストール サイズは正確ではなく、合計サイズが少なめに表示されることに注意してください。Please note that the indicated installation sizes for the components listed in the installer UI are not accurate and underestimate the total size.

    • C++ デスクトップ ワークロードで Win32 プロジェクトを作成するには、ツールセットと Windows SDK の両方をインストールする必要があります。To successfully create Win32 projects in the C++ desktop workload, you must install both a toolset and a Windows SDK. 推奨される (選択されている) コンポーネント "VC++ 2017 v141 toolset (x86, x64)" と "Windows 10 SDK (10.0.14393)" をインストールすれば、確実に実行できます。Installing the recommended (selected) components “VC++ 2017 v141 toolset (x86, x64)” and “Windows 10 SDK (10.0.14393)” will ensure this will work. 必要なツールがインストールされていない場合、プロジェクトは正常に作成されず、ウィザードがハングします。If the necessary tools are not installed, projects will not be created successfully and the wizard will hang.

  • C++ による Linux 開発:Linux Development with C++:

    • よく利用される拡張機能である Visual C++ for Linux Development が Visual Studio に組み込まれます。The popular extension Visual C++ for Linux Development is now part of Visual Studio. このインストールでは、Linux 環境で実行する C++ アプリケーションの開発とデバッグに必要なすべてのものが提供されます。This installation provides everything you need to develop and debug C++ applications running on a Linux environment.
  • C++ によるゲーム開発:Game Development with C++:

    • C++ を最大限に活用して DirectX または Cocos2d で駆動するプロフェッショナルなゲームを構築します。Use the full power of C++ to build professional games powered by DirectX or Cocos2d.
  • C++ によるモバイル開発 (Android および iOS):Mobile Development with C++ (Android and iOS):

    • Android および iOS を対象とするモバイル アプリを、Visual Studio を使用して作成およびデバッグできるようになりました。You can now create and debug mobile apps using Visual Studio that can target Android and iOS.
  • ユニバーサル Windows プラットフォーム開発:Universal Windows Platform development:

    • ユニバーサル Windows プラットフォーム開発ワークロードのオプション コンポーネントとして、C++ が提供されます。C++ comes as an optional component for the Universal Windows Platform development workload. C++ プロジェクトのアップグレードは、現在のところ、手動で行う必要があります。Upgrading C++ projects currently must be done manually. v140 をターゲットとする UWP プロジェクトを Visual Studio 2017 で開くときに、Visual Studio 2015 がインストールされていない場合はプロジェクト プロパティ ページで v141 プラットフォーム ツールセットを選択する必要があります。If you open a v140-targeted UWP project in Visual Studio 2017, you need to select the v141 platform toolset in the project property pages if you do not have Visual Studio 2015 installed.

Clang/C2 プラットフォーム ツールセットClang/C2 Platform Toolset

Visual Studio 2017 に同梱されている Clang/C2 ツールセットが /bigobj スイッチをサポートするようになりました。これは、大規模なプロジェクトを構築する際に重要です。The Clang/C2 toolset that ships with Visual Studio 2017 now supports the /bigobj switch, which is crucial for building large projects. また、コンパイラのフロントエンドとバックエンドの両方について、いくつかの重要なバグ修正が組み込まれました。It also includes several important bug fixes, both in the front-end and the back-end of the compiler.


C# および Visual Basic C# and Visual Basic

言語拡張Language Extensions

このリリースでは、C# 7.0 と Visual Basic 15 の言語機能サポートが導入されています。This release introduces support for C# 7.0 and Visual Basic 15 language features, including:

C# の場合 :For C#:

Visual Basic の場合For Visual Basic:

  • 値タプル。タプルを使用して型指定された値のセットを一時的にグループ化するための言語サポートが導入されます。Dim point As (x As Integer, y As Integer) = GetOffset()Value tuples introduce language support for using tuples to temporarily group a set of typed values: Dim point As (x As Integer, y As Integer) = GetOffset().
  • ByRef による使用量の戻り値では、ByRef 戻り値を持つライブラリから関数やプロパティの使用をサポートするよう言語を拡張します。ByRef return consumption extend the language to support consumption of functions and properties from libraries which have ByRef returns.
  • バイナリ リテラルと桁区切りで 2 進数のネイティブな表現が可能になります。Binary literals and digit group separators allow native representation of binary numbers. これは、ビットマスクやフラグ列挙体を使用する場合に非常に便利です: &B1001_0011This is super convenient for bitmasks and flags enumerations: &B1001_0011.

詳細については、CSharpLang GitHubVBLang GitHub で公開される弊社の言語設計の最新情報をいつも確認して、これらおよび他の提案中の言語拡張機能に関する情報を入手してください。For more information, follow our language design on the CSharpLang GitHub and VBLang GitHub to learn more about these and other proposed language extensions.

クイック アクションとリファクタリングQuick Actions and Refactorings

Visual Studio はさまざまなリファクタリングを提供します。生産性が上がり、コードがさらに読みやすくなります。Visual Studio provides lots of refactorings to help you be productive and make your code more readable. 以下にいくつかの例を挙げます。Here are just a few:

  • 初期化子によるオブジェクトの初期化の単純化 (図 20)Simplify object initialization with an initializer (Figure 20).

Use object initializer

(図 20) オブジェクトの初期化子の使用
Use object initializer
(Figure 20) Use object initializer

  • C#7 の新機能を使用したインラインでの out 変数宣言の移動 (図 21)Move out variable declarations inline, leveraging a new C#7 feature (Figure 21).

Move out variable inline

(図 21) インラインでの変数宣言の移動
Move out variable inline
(Figure 21) Move out variable inline

  • C#7 の新機能を使用した、null 合体演算子を使用した null チェックとスロー式の単純化 (図 22)Simplify null-checks and throw-expressions using null-coalescing operator, leveraging a new C#7 feature (Figure 22).

Use throw expression with null-coalescing operator

(図 22) スロー式と null 合体演算子の使用
Use throw expression with null-coalescing operator
(Figure 22) Use throw expression with null-coalescing operator

  • 一致するファイルへの型の移動: 1 つのファイルから抽出した型を、Ctrl+ を使って 1 クリックで、一致する名前により別のファイルに配置します。Move type to matching file: Extract a type from one file and put it in another file with a matching name with one click via Ctrl+.
  • ファイル名と型名の同期: ファイル名と型名が同期されない場合、Ctrl+ を使用できます。Sync file and type name: If your file and type name are out of sync, you can use Ctrl+.
  • String.Format の文字列補間への変換: このクイック アクションを使用して C# 6 言語機能を活用します。Convert String.Format to string interpolation: take advantage of the C# 6 language feature with this Quick Action.
  • C# スイッチまたは Visual Basic Select の欠如しているケースを追加します。Add missing case(s) to a C# switch or a Visual Basic Select.
  • プロパティをメソッドに、またはメソッドをプロパティに変換します。Convert property to a method, and vice versa.
  • パッケージ参照の追加: 認識されない種類に対し、NuGet パッケージを自動取得し、インストールします (さらに、using/Import を追加します)。Add Package Reference: Offers to auto-retrieve and install a NuGet package (and add the using/Import) for an unrecognized type. この機能を有効にするには、[ツール]、[オプション]、[テキスト エディター]、[C# / Basic]、[詳細設定] の順に進み、[参照アセンブリの型に using を提案する] または [NuGet パッケージの型に using を提案する] を選択します。To enable this feature, go to Tools > Options > Text Editor > [C# / Basic] > Advanced > Suggest usings for types in reference assemblies / Suggest usings for types in NuGet packages.
  • 適用可能であれば非同期メソッドを同期型にします。Make async methods synchronous where applicable.
  • 綴りの間違いに対して "あいまい" 一致を適用します。Support for "fuzzy" matching for misspelled types.
コーディング規則の構成と適用Coding Convention Configuration and Enforcement

Visual Studio での EditorConfig のサポートに基づき、コミュニティと協力して .NET コード スタイル設定をファイル形式に追加しました。Building on Visual Studio's support for EditorConfig, we worked with the community to add .NET code style settings to the file format. これは、チームのコード スタイル規則を構成し、ソース管理に適用し、開発者がエディターでの入力時に規則に違反するとリアルタイムに表示できることを意味します。This means that you can configure your team's code style conventions, check them into source control, and have violations appear live in the editor as developers are typing. Roslyn リポジトリの .editorconfig またはドキュメントですべてのコード スタイル オプションを確認できます。You can see all the code style options in the Roslyn repo's .editorconfig or in the documentation. [ツール]、[オプション]、[テキスト エディター]、[C#/Basic]、[コード スタイル] を選択すると、お使いのコンピューター固有のコード スタイル設定を引き続き構成できます。これらのルールは、EditorConfig が存在して競合するとき、無効になります。You can continue to configure your machine-specific code style settings in Tools > Options > Text Editor > [C#/Basic] > Code Style and these rules are overridden when an EditorConfig is present and conflicts.

チームでコーディング規則をカスタマイズして適用するための、次のようなスタイル アナライザーも追加/更新されました。We've also added/updated style analyzers to help you customize and enforce coding conventions on your team, including:

  • 名前付けスタイル規則。Naming style rules.
  • “var” または明示的な型の使用。Use of “var” or explicit types.
  • メンバー アクセスで "this."Use of “this.” または "Me." or “Me.” を使用。on member access.
  • 式本体またはブロックを使用。Use expression-bodies or blocks.
  • 'cast' チェックと 'null' チェックにパターン一致を使用。Use pattern-matching for 'cast' and 'null' checks.
  • 明示的なタプル名の使用。Use explicit tuple names.
  • スロー式、条件付き代理、結合式、null 値反映による null チェックの単純化。Simplify null-checking with throw-expressions, conditional delegates, coalescing expressions, and null propagation.
  • 中かっこが必要。Require braces.

注: これらのコード スタイル ルールのいくつかは、既定で、エディターで提案として構成されます (図 23)Note: several of these code style rules are configured as Suggestions in the editor by default (Figure 23).

Configure code style preferences and enforcement from EditorConfig

(図 23) コード スタイル設定の構成と EditorConfig からの適用
Configure code style preferences and enforcement from EditorConfig
(Figure 23) Configure code style preferences and enforcement from EditorConfig

IntelliSense 改善IntelliSense Improvements

また、このリリースでは、大規模なソリューションやよく知らないコードベースで作業するときの生産性を高めるために、IntelliSense に対する強化が加えられています。This release also introduces improvements to IntelliSense that will make you more productive when working in a large solution or an unfamiliar codebase. 種類 (例: メソッド、プロパティ、クラスなど) によってメンバーの一覧をフィルター処理するためのアイコン トレイが IntelliSense に追加されました。We have added an icon tray to IntelliSense that enables you to filter the member list by type (e.g., methods, properties, classes, etc.). フィルターのトグルにはそれぞれ関連付けられたキーボード ショートカットがあり、アイコンにカーソルを合わせることで調べることができます。Each filter toggle has an associated keyboard shortcut which you can discover by hovering over the icon. この機能を有効にするには、[ツール]、[オプション]、[テキスト エディター]、[C# / Basic]、[IntelliSense] に進み、フィルター処理と強調表示のオプションをチェックします (図 24)To enable this feature, go to Tools > Options > Text Editor > [C# / Basic] > IntelliSense and check the options for filtering and highlighting (Figure 24).

IntelliSense Completion Filtering

(図 24) IntelliSense の入力候補フィルター処理
IntelliSense Completion Filtering
(Figure 24) IntelliSense Completion Filtering

エディターのその他の改善Other Editor Improvements

  • カーソルを文字列の中間に置いて Enter キーを押すと、長い文字列を複数の連結された文字列に分割できるようになりました。You can now split a long string into multiple concatenated strings by positioning the cursor mid-string and pressing Enter.
  • Microsoft では、診断と CodeLens 情報を計算するバックグラウンド操作があるときの IDE の応答性を改善するために大きな労力を費やしてきました。We have done considerable work to improve responsiveness of the IDE in presence of background operations that compute diagnostics and CodeLens information.

F#  F# 

F# 4.1 言語機能のサポートSupport for F# 4.1 Language Features

  • C# 7/VB 15 タプルと相互運用する構造体のタプル。Struct Tuples which interop with C# 7/VB 15 Tuples.
  • C# 7 の ref 戻り値の利用をサポートする ByRef 戻り値。Byref returns which support consuming C# 7 ref returns.
  • [<Struct>] 属性による構造体のレコードのサポート (協力者: Will Smith)。Struct Record support with the [<Struct>] attribute (by Will Smith).
  • [<Struct>] 属性による構造体の判別された共用体のサポート。Struct Discriminated Union support with the [<Struct>] attribute.
  • FSharp.Core の関数をサポートする新しい Result<'TSuccess, 'TFailure> 型 (協力者: Oskar Gewalli)。A new Result<'TSuccess, 'TFailure> type, with supporting functions in FSharp.Core (by Oskar Gewalli).
  • スタックへのポインター型の固定をサポートする fixed キーワード。The fixed keyword, which supports pinning a pointer-type local on the stack.
  • 数値リテラルでのアンダースコア (_) (協力者: Avi Avni)。Underscores in numeric literals (by Avi Avni).
  • 呼び出し元情報の属性引数 (協力者: Lincoln AtkinsonAvi Avni)。Caller Info Attribute Arguments (by Lincoln Atkinson and Avi Avni).
  • namespace recmodule rec を介した同じファイル内の相互参照型とモジュール。Mutually Referential Types and Modules within the same file via namespace rec and module rec.
  • 型と同じ名前を共有するモジュールの暗黙的な "モジュール" サフィックス。Implicit "Module" suffix on modules which share the same name as a type.

F#  コンパイラと FSharp.Core の機能強化Improvements to the F#  Compiler and FSharp.Core

(多くは F# コミュニティによるものです)(Many done by the F# community)

Roslyn ワークスペースに基づく新しいエディターA New Editor Based on Roslyn Workspaces

(新しい IDE 機能の多くは素晴らしい F# コミュニティの貢献によるものです)(Many new IDE features contributed by the outstanding F# community)

F#  コミュニティによるその他の貢献Additional Contributions by the F#  Community

Visual Studio 2017 の F# ツーリングのビルドを使用し、バグを投稿し、話し合いを重ね、バグの修正プログラムや機能を導入した F# コミュニティ全体に感謝いたします。We would like to thank the entire F# community for dogfooding builds of F# tooling in Visual Studio 2017, filing bugs, driving discussions, and implementing bug fixes and features. Visual Studio 2017 の F# は、F# コミュニティの協力がなければ成功しませんでした。The success of F# in Visual Studio 2017 truly would not have been possible without the F# community. 協力者の全一覧はここでご覧になれます。Please see the full list of contributors.


JavaScript および TypeScript JavaScript and TypeScript

TypeScript 2.1TypeScript 2.1

TypeScript 2.1 を、Visual Studio のすべての TypeScript プロジェクトに使用できます。TypeScript 2.1 is available for all TypeScript projects in Visual Studio. TypeScript 2.1 は、下位レベルの async/await、より優れた型推論、ローカルのオブジェクトの展開などを提供します。TypeScript 2.1 delivers down-level async/await, better type inference, local object expansion, and more! 本リリースの詳細については、リリース ブログ投稿または詳細な変更ログを参照してください。To read more about the release, check out the release blog post or the full change log.

JavaScript 言語サービスJavaScript Language Service

新しい JavaScript 言語サービス (図 25) が既定で有効になっています。A new JavaScript language service (Figure 25) is available and enabled by default. この新しいサービスはより充実した IntelliSense を提供し、JSDoc コメント注釈、ES6、共通 JS モジュール形式の IntelliSense をサポートします。The new service provides richer IntelliSense and adds IntelliSense support for JSDoc comment annotations, ES6, and Common JS module formats. また、JSX 構文や、ES2016 の機能 (ジェネレーター、モジュール、デコレータなど) をサポートします。It also supports JSX syntax and features from ES2016, such as generators, modules, and decorators. 詳細については、このブログ投稿か GitHub の JavaScript IntelliSense ドキュメントをご覧ください。For more information, see this blog post or the JavaScript IntelliSense documentation on GitHub.

Rich JavaScript IntelliSense for jQuery

(図 25) 高機能な JavaScript IntelliSense for jQuery
Rich JavaScript IntelliSense for jQuery
(Figure 25) Rich JavaScript IntelliSense for jQuery

パフォーマンスの向上Performance Improvements

パフォーマンスの向上は今回のリリースで最も重視された部分の 1 つでした。Improving performance was one of the greatest focuses of this release. いくつかの最適化によりメモリと応答性の特性が改善されたほか、JavaScript/TypeScript 言語サービス全体が devenv.exe の外のサテライト プロセスに移り、大規模な VS プロジェクトでメモリを解放できます。Along with several optimizations to improve memory and responsiveness characteristics, the entire JavaScript/TypeScript language service has been moved to a satellite process outside of devenv.exe to provide memory relief to the largest VS projects. Visual Studio プロセスのメモリ消費量が下がり、大規模な JavaScript プロジェクトの作業中、メモリ クラッシュが減ります。You will see lower memory consumption from the Visual Studio process and less out of memory crashes when working with huge JavaScript projects. 以上の改善に関する詳細については、このブログ投稿を参照してください。To read more about these improvements, check out this blog post.


デバッグと診断 Debugging and Diagnostics

[Run To Click (クリックで実行)]Run to Click

デバッグ時にコード行の隣にあるアイコンをクリックするだけで、その行に実行されます (図 26)Simply click the icon next to a line of code while debugging to run to that line (Figure 26). 目的の行でのコードの実行や停止のため、一時的なブレークポイントを設定したり、複数の手順を実行したりする必要がなくなりました。No longer set temporary breakpoints or perform several steps to execute your code and stop on the line you want. デバッガーの実行中にブレーク状態で停止したときに、マウスのポインターを置いたコード行の横に [Run to Click](クリックで実行) アイコンが表示されます。Now while stopped at a break state under the debugger, the Run to Click icon subtly appears next to the line of code that your mouse is hovered over. マウスをアイコンに移動し、ボタンをクリックすると、次にコード パスでその地点に到達すると、該当の行でコードが実行され、停止されます。Move your mouse to the icon and click the button, now your code will run and stop on that line the next time it is hit in your code path. 無効にするには、[デバッグ]、[オプション]、[クリックで実行の有効化] の順に選択します。Turn it off from Debug> Options > Enable Run to Click.

Run to Click Icon

(図 26) [Run To Click](クリックで実行) アイコン
Run to Click Icon
(Figure 26) Run to Click Icon

[プロセスにアタッチ] フィルターAttach to Process Filter

[プロセスにアタッチ] ダイアログ (図 27) で簡単に検索して、デバッガーをアタッチするプロセスをすばやく見つけることができます。Easily search in the Attach to Process dialog (Figure 27) to quickly find the process you want to attach the debugger to. 実行中のプロセスの一覧にフィルターが適用され、検索条件に一致する項目が表示されます。The list of running processes will be filtered to items matching your search. 検索フィルターでは値が保持されるため、ダイアログを再び開いたときに前回の検索条件が使用されます。The search filter is sticky and will remember your previous search when you reopen the dialog.

Attach to Process Filter

(図 27) [プロセスにアタッチ] フィルター
Attach to Process Filter
(Figure 27) Attach to Process Filter

[プロセスに再アタッチする]Reattach to Process

以前にデバッグしていたプロセスにすばやく再アタッチできるようになりました。You can now quickly reattach to processes you were previously debugging. 新しいデバッグ/プロセスに再アタッチ (Shift + Alt + P キー) コマンドをトリガーすると、[プロセスにアタッチ] ダイアログで起動された前回のデバッグ セッションの最後のプロセスにデバッガーをアタッチする操作が試みられます。Triggering the new Debug/Reattach to Process (Shift+Alt+P) command will immediately try to attach the debugger to the last processes from the previous debugging session that were invoked from the Attach to Process dialog. デバッガーは、再アタッチするプロセスを見つける際に、前回のプロセス ID、前回のプロセス名の順に一致するプロセスを検索します。The debugger will reattach to processes by first attempting to match the previous process ID and then by matching to the previous process name. 一致するプロセスが見つからない場合、または同じ名前のプロセスが複数見つかった場合は、[プロセスにアタッチ] ダイアログが表示され、目的のプロセスを選択できます。If no matches are found or there are multiple processes found with the same name, then the "Attach to Process" dialog will appear so you can select the intended process.

新しい例外ヘルパーThe New Exception Helper

新しい例外ヘルパー (図 28) を使用することにより、内部例外にすぐにアクセスできるコンパクトな非モーダル ダイアログに例外情報を表示できます。Use the new Exception Helper (Figure 28) to view your exception information at a glance in a compact non-modal dialog with instant access to inner exceptions. NullReferenceException の診断時に、例外ヘルパー内の null をすばやく確認できます。While diagnosing your NullReferenceException, you can now quickly see what was null from right inside the Exception Helper. 特定のモジュールからスローされた例外の種類の中断を除外できるようになりました。スローされた例外での中断時に条件を追加するチェックボックスをオンにします。You can now exclude breaking on exception types thrown from specific modules by clicking the checkbox to add a condition while stopped at the thrown exception. 例外ヘルパーの新しい利点について詳しくは、このブログ投稿をお読みください。Read this blog post for more detailed information on the new benefits of the Exception Helper.

The New Exception Helper dialog

(図 28) 新しい例外ヘルパー ダイアログ
The New Exception Helper dialog
(Figure 28) The New Exception Helper dialog

条件を例外設定に追加するAdd Conditions to Exception Settings

スローされた例外で中断するようにデバッガーを構成する場合、指定されたモジュールで例外がスローされた場合に限りデバッガーが中断するよう、条件を追加できます (図 29)When you configure the debugger to break on thrown exceptions, you can add conditions so that the debugger will only break when exceptions are thrown in specified modules (Figure 29).

Edit Conditions dialog box

(図 29) [条件の編集] ダイアログ ボックス
Edit Conditions dialog box
(Figure 29) Edit Conditions dialog box

デバッガーのアクセシビリティ機能の強化Debugger Accessibility Improvements

いくつかのデバッガー ウィンドウ ([呼び出し履歴]、[ローカル]、[自動変数]、[ウォッチ]、および [クイックウォッチ]) がスクリーン リーダーでより効果的に使用できるようになったほか、その他のアクセシビリティ ニーズにも対応します。You can now more effectively use several of the Debugger windows (Call Stack, Locals, Autos, Watch, and Quickwatch) with screen readers and for other accessibility needs.

.NET Core の IntelliTrace イベントIntelliTrace Events for .NET Core

IntelliTrace では、ASP.NET Core アプリの MVC、ADO.NET、HttpClient イベントがサポートされるようになりました。IntelliTrace now supports MVC, ADO.NET, and HttpClient events for ASP.NET Core apps. これらのイベントは、[診断ツール] ウィンドウの [イベント] タブに表示されます。These will appear in the Events tab in the Diagnostic Tools Window.

[診断ツール] ウィンドウの更新Diagnostic Tools Window Updates

デバッグ セッションを開始すると、[診断ツール] ウィンドウにアプリケーションの新しい概要ビュー (図 30) が表示されます。When you start a debugging session, you'll see a new Summary view (Figure 30) of your application in the Diagnostic Tools Window. ここから、次の操作を行うことができます。From here, you'll be able to:

Summary tab in Diagnostics Tools Window

(図 30) [診断ツール] ウィンドウの [概要] タブ
Summary tab in Diagnostics Tools Window
(Figure 30) Summary tab in Diagnostics Tools Window

パフォーマンス プロファイラーの更新Performance Profiler Updates

パフォーマンス プロファイラーは、実行中のプロセスにアタッチできるようになりました。The Performance Profiler can now attach to a running process. CPU 使用率ツール、GPU 使用率ツール、およびパフォーマンス ウィザードで、実行中のプロセスへのアタッチ操作がサポートされます。The CPU Usage tool, GPU Usage tool, and Performance Wizard now support attaching to a running process.

CPU 使用率ツールの更新CPU Usage Tool Updates

CPU 使用率ツールに関していくつかの改良が行われています。Several improvements have been made to the CPU Usage Tool:

  • 外部コードのサポートの向上 - CPU ツールは、ユーザー コードからライブラリおよびフレームワークの機能を呼び出したときのコストの情報をさらに正確に提供するようになっています。Better External Code support - The CPU Tool now gives you better insights into the costs of library and framework functions when called by user code.
  • 関数ビュー (図 31) - 関数が CPU コストで順位付けされるビュー。Functions view (Figure 31) - A view that ranks functions by their CPU cost.

Functions List

(図 31) 関数リスト
Functions List
(Figure 31) Functions List

  • 呼び出し元/呼び出し先ビュー (図 32) では、選択した関数に対して、または選択した関数から行われる関数呼び出しのコストを調べることができます。Caller/Callee View (Figure 32) allows you to investigate costs of function calls made to and from a selected function.

Caller / Callee View

(図 32) 呼び出し元/呼び出し先ビュー
Caller / Callee View
(Figure 32) Caller / Callee View

  • ソース ビューには、CPU ツールで関数が選択されているとき、関数のソース コードが表示されます。Source View shows a function's source code when the function is selected in the CPU Tool.

Chrome のデバッグのサポートChrome Debugging Support

ASP.NET プロジェクトのデバッグを開始したときにブラウザーとして Google Chrome を選択した場合、Chrome で実行される JavaScript がデバッグされます。When you start debugging ASP.NET projects and choose Google Chrome as your browser, Visual Studio will debug your JavaScript running in Chrome. 代わりにブラウザー内開発ツールを使用する場合は、[ツール]、[オプション]、[デバッグ] の順に移動し、この機能を無効にすることができます。If you prefer to use the in-browser development tools instead, you can disable this feature under Tools > Options > Debugging.


ライブ単体テスト Live Unit Testing

ライブ単体テスト (図 33) は Visual Studio 2017 Enterprise Edition の機能であり、単体テスト結果やコード カバレッジをエディターでライブ表示します。Live Unit Testing (Figure 33) is a capability in the Visual Studio 2017 Enterprise edition that displays unit test results and code coverage live in the editor. .NET Framework を対象とする C# プロジェクトと VB プロジェクトで MSTest、xUnit、Nunit をサポートします。It supports MSTest, xUnit, and Nunit for C# and VB projects targeting .NET Framework.

Live Unit Testing

(図 33) ライブ単体テスト
詳細については、ライブ単体テストに関するブログを参照してください。Live Unit Testing
(Figure 33) Live Unit Testing
See the Live Unit Testing blog for more details.


テスト ツール Testing Tools

テスト エクスプローラーを利用し、テスト ケースの作業項目とオートメーションを関連付けます。Associate automation with test case work items using Test Explorer

テスト エクスプローラーでテスト方法を選択することで、テスト ケースの作業項目 (図 34) とオートメーションを関連付けることができるようになりました。You can now associate automation with test case work items (Figure 34) by selecting a test method in the Test Explorer. この新しい機能では、選択したテスト方法の既存の関連付けも表示できます。This new experience also allows you to view any existing associations for the chosen test method.

テスト エクスプローラーでテストを右クリックし、Simply right click a test in the Test Explorer...

Test Explorer Associate Automation

(図 34) テスト エクスプ ローラーのオートメーションの関連付け
Test Explorer Associate Automation
(Figure 34) Test Explorer Associate Automation

テスト ケース ID を入力すると、関連付けが作成されます (図 35)...and provide a test case ID to create an association (Figure 35).

Associate Automation

(図 35) オートメーションの関連付け
Associate Automation
(Figure 35) Associate Automation

以前のバージョンの Visual Studio では、この作業は作業項目フォームで行っていました。In previous versions of Visual Studio, this could be done using the work item form. 作業項目フォームを基盤とする操作は、[ツール]、[オプション] の順に選択し、互換性モードをオンにすることで有効にできます (図 36)The work-item form based experience can be enabled by turning on the compatibility mode using Tools | Options (Figure 36).

Work Item Form Compatibility mode

(図 36) 作業項目フォームの互換性モード
Work Item Form Compatibility mode
(Figure 36) Work Item Form Compatibility mode


チーム エクスプローラー Team Explorer

Git の新機能New Git Features

Visual Studio 2017 に Git の新機能が追加され、IDE を終了しなくても、さらに多くのエンドツーエンド ワークフローを実行できるようになりました。We've added new Git features to Visual Studio 2017 that allow you to do more of your end-to-end workflow without leaving the IDE. 送信コミットの差分を表示する、強制プッシュを実行して再ベースを完了するか、修正後のコミットをプッシュする、アップストリーム ブランチの設定を解除する、VS からパッチの再ベースを続行するといった作業を簡単に実行できます。You can easily view the diff for outgoing commits, perform a force push to complete a rebase or push an amended commit, unset your upstream branch, and continue a patch rebase from VS. また、git.exe に移行しました。Additionally, we have moved to git.exe. これにより、最新の機能を提供することができます。This allows us to provide the most up-to-date features. SSH 対応となり、ユーザーの設定オプションが適用され、チーム エクスプローラーにコマンド ラインとまったく同じ内容が表示されます。We support SSH, respect your config options, and show in Team Explorer exactly what you see in the command line. これらの機能については、ブログ投稿を参照してください。To learn more about these features, check out the blog post.

VSTS/TFS への接続Connect to VSTS/TFS

Visual Studio スタート ページやチーム エクスプローラーでは、プロジェクトに接続したり、VSTS/TFS のリポジトリを複製したりするプロセスがカスタマイズされ、合理化されました。接続するプロジェクトやリポジトリを簡単に見つけることができます。On the Visual Studio start page and in Team Explorer, the process for connecting to projects and cloning repos in VSTS/TFS has been personalized and streamlined, making it faster and easier to find the projects and repos to connect to. 新しい [接続] ページには、(すべてのプロジェクトのすべてのリポジトリではなく) すべての VSTS/TFS サーバー間でマップおよび複製されているプロジェクトとリポジトリだけが表示されます。Our brand new Connect page shows only the projects and repos that you have mapped and cloned across all your VSTS/TFS servers (rather than every repo for every project). さらに、リポジトリを複製する前に、プロジェクトに接続する必要がなくなりました。Additionally, you no longer need to connect to a project before cloning repos.

VSTS と TFS に接続するためのダイアログを起動すると、再設計された UX が表示されます。When you launch the dialog to connect to VSTS and TFS, you will see the redesigned UX. 追加したすべての TFS サーバーが表示され、続いて選択したユーザー アカウントの VSTS のすべてのサーバー、プロジェクト、およびリポジトリが表示されます。You will see any TFS servers you've added followed by all VSTS servers, projects, and repos for your selected user account. ナビゲーションの向上のために、結果はツリーで表示されています。The results are listed in a tree to allow for improved navigation. リポジトリに加え、コレクションまたはプロジェクトにも接続できます。You can connect to collections or projects in addition to repos. 詳細については、チーム プロジェクトへの接続に関する記事を参照してください。For more information, see Connect to Team Projects.

作業項目フォームWork Item Forms

Visual Studio 2017 から Visual Studio Team Services に接続して作業項目を開くと、作業項目フォームが Web ブラウザーに表示されます (図 37)When you connect to Visual Studio Team Services from Visual Studio 2017 and open a work item, the work item form will appear in your web browser (Figure 37). しかし、Team Foundation Server 2015 以前に接続すると、従来の作業項目フォームが表示されます。However, if you connect to Team Foundation Server 2015 or earlier, you will see the legacy work item forms.

Work Item Form in Team Explorer

(図 37) チーム エクスプローラーの作業項目フォーム
Work Item Form in Team Explorer
(Figure 37) Work Item Form in Team Explorer


Visual Studio のフィードバック ワークフローの強化 Enhanced Visual Studio Feedback Workflow

Visual Studio 2017 には、フォローアップとコラボレーションの向上のためのアップグレードされたフィードバック エクスペリエンスが含まれます。Visual Studio 2017 includes an upgraded feedback experience for better follow-up and collaboration. このアップグレードの一環で、総合的な Web ポータルが追加され、Visual Studio での共同作業の問題を報告しやすくなり、包括的なフィードバック ソリューションが実現されました。As part of this upgrade, you will notice a more collaborative Report-a-Problem experience in Visual Studio supplemented by a comprehensive web portal for a complete end-to-end feedback solution. Visual Studio IDE の問題の報告機能からいただいたすべてのフィードバックについて、検索、追跡、投票、最新の更新プログラムの入手ができます。You can now search, follow, vote, and get the latest updates on all feedback you have provided via Visual Studio IDE’s Report a Problem feature. これらの強化された操作性で、ユーザーから送信された多くのフィードバックに対応し、Microsoft のチームとユーザーの間で双方向の通信が可能になります。These enhanced experiences address much of the feedback we received from you and enable bidirectional communication between our teams and you.


Visual Studio 機能拡張 Visual Studio Extensibility

新しい機能拡張の形式New Extensibility Format

Visual Studio 2017 の新しいインストーラー テクノロジにより、ユーザーは、インストールされるツールをより細かく制御できます。The new installer technology in Visual Studio 2017 gives you greater control over the tools that are installed. 核となる Visual Studio エディターのみをインストールするユーザーもいれば、複数のワークロードをインストールするユーザーもいます。Some users may install just the core Visual Studio editor while others may install several workloads. 必要な前提条件の機能と拡張機能が確実にインストールされるように、拡張機能の作成者は、その拡張機能に必要な個々のコンポーネントをマニフェストで指定できるようになりました。To ensure that the prerequisite features and extensions required are installed, extension authors will now be able to specify the individual components required by their extension in the manifest.

ユーザーは、新しい VSIX 形式を使用して作成されていない拡張機能をインストールしようとすると警告されます。Users will be warned when trying to install an extension that was not built using the new VSIX format. 古い VSIX 形式では必要な必須コンポーネントが指定されないため、Visual Studio 2017 でこれらの必須コンポーネントを使用できない場合に動作しない可能性があります。The old VSIX format does not specify prerequisites needed and may fail to work if those prerequisites are unavailable in Visual Studio 2017. 新しい VSIX 形式は下位互換性があるため、Visual Studio 2012 までの Visual Studio の以前のバージョンを対象にすることができます。The new VSIX format is backwards compatible and can target past versions of Visual Studio up until Visual Studio 2012.

VSIX マニフェスト デザイナーは、マニフェストの変更を反映するように更新されました。The VSIX manifest designer has been updated to reflect the changes to the manifest. 拡張機能の開発者は、[必須コンポーネント] タブ (図 38) のインストール済みコンポーネントの一覧で、拡張機能の必須コンポーネントとして使用する拡張機能を指定できます。In the prerequisite tab (Figure 38), extension developers can find a list of installed components to specify as a prerequisite for their extension.

Prerequisite

(図 38) [必須コンポーネント] タブ
Prerequisite
(Figure 38) Prerequisite tab

拡張機能のインストール中、VSIX インストーラー (図 39) は、足りないコンポーネントを示し、これらのコンポーネントを拡張機能と共にインストールします。During the installation of the extension, the VSIX installer (Figure 39) will indicate which components are missing and will install them alongside the extension.

VSIXInstaller

(図 39) VSIXInstaller
VSIXInstaller
(Figure 39) VSIXInstaller

拡張機能の一括変更Modify Extensions in Bulk

[拡張機能と更新] ダイアログ (図 40) では、Visual Studio を再起動する前に、複数の拡張機能のインストール、更新、およびアンインストールをスケジュールできるようになりました。In the Extensions and Updates dialog (Figure 40), you can now schedule multiple extensions for installation, update, and uninstallation before needing to restart Visual Studio. 右下隅には、スケジュールされたタスクの概要が表示されます。In the lower right corner, there is a summary of the scheduled tasks. スケジュールされた変更を削除するには、インストールがスケジュールされている拡張機能の隣にある X をクリックします。To remove a scheduled modification, click the X next to an extension that is currently scheduled to install.

Extensions and Updates Dialog

(図 40) [拡張機能と更新プログラム] ダイアログ ボックス
Extensions and Updates Dialog
(Figure 40) Extensions and Updates Dialog

VSIX インストーラーは、Visual Studio のすべてのウィンドウが閉じられたことを検出すると、スケジュールされた変更の実行を開始します (図 41)Once the VSIX Installer has detected that all Visual Studio windows are closed, it will start to complete the scheduled modifications (Figure 41).

Batched Modification Installer

(図 41) 一括変更インストーラー
Batched Modification Installer
(Figure 41) Batched Modification Installer

Ngen のサポートNgen Support

Ngen を使用してアセンブリをインストールできるようになりました (図 42)You can now choose to install assemblies using Ngen (Figure 42).

NGEN Properties

(図 42) NGen のプロパティ
NGEN Properties
(Figure 42) NGEN Properties

  • Ngen - アセンブリで Ngen を使用するかどうか。Ngen - Whether or not to use Ngen on the assembly.
  • Ngen アプリケーション - /ExeConfig スイッチを使用して Ngen に渡すアプリケーション。Ngen Application - The application to pass into Ngen via the /ExeConfig switch.
  • Ngen アーキテクチャ - ネイティブ イメージのターゲット アーキテクチャ。Ngen Architecture - The target architecture for the native image. オプション: x86、x64、すべて。Options are: x86, x64, and all.
  • Ngen の優先度 - Ngen の優先度レベル。Ngen Priority - Ngen priority level.

拡張機能ディレクトリの外部へのファイルのインストールInstall Files Outside of Extension Directory

拡張機能ディレクトリの外部にあるフォルダーの選択リストにファイルをインストールできるようになりました (図 43)You can now choose to install files to a select list of folders that are outside of the extension directory (Figure 43).

VSIX Properties

(図 43) VSIX のプロパティ
VSIX Properties
(Figure 43) VSIX Properties

  • [VSIX に含める] - ファイルを VSIX に含めます。Include in VSIX - Include the file in your VSIX.
  • [インストール ルート] - ファイルをインストールするルート ディレクトリ。Install Root - The root directory to install the file. オプション: [既定](拡張機能ディレクトリ内にインストール)、[PublicAssemblies]、[ReferenceAssemblies]、[MSBuild]、[Schemas]、[Licenses]、[RemoteDebugger]、および [VSTargets]。Options are: Default (install inside the extension directory), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemas, Licenses, RemoteDebugger, and VSTargets.
  • [ターゲット パス] - ユーザーのコンピューターにインストールするファイルの名前。Target Path - The name of the file to be installed on the user's machine.
  • [VSIX サブパス] - ファイルがインストールされるインストール ルートの下のサブパス。VSIX Sub Path - The sub path under the Install Root where the file will be installed.

拡張機能マネージャーのローミング Roaming Extension Manager

Visual Studio 2017 の新機能である拡張機能マネージャーのローミングを使用すると、すべての開発環境にあるお気に入りの拡張機能を追跡できます。New in Visual Studio 2017, the Roaming Extension Manager helps you keep track of your favorite extensions across all of your development environments. 拡張機能マネージャーのローミングは、クラウド内に同期されるリストを作成することで、インストールされている拡張機能を追跡します。Roaming your extensions keeps track of the extensions you have installed by creating a synchronized list in the cloud.

Visual Studio にサインインし、[ツール]、[拡張機能]、[更新プログラム] の順に選択し、[拡張機能マネージャーのローミング] をクリックすると、拡張機能の一覧がすぐに表示されます (図 44)When you sign into Visual Studio, you can quickly see a list of your extensions from Tools > Extensions and Updates, and click Roaming Extension Manager (Figure 44). 拡張機能マネージャーのローミングでは、インストールした拡張機能が追跡されます。また、[Roaming List](ローミング リスト) に追加する拡張機能を選択できます。It tracks which extensions you have installed and lets you choose which ones are added to your Roaming list. ギャラリーには毎日新しい拡張機能が追加されるので、お気に入りの拡張機能で開発環境をすばやく簡単にセットアップできます。With new extensions appearing in the gallery every day, this tool makes it quick and easy to set up each dev environment with your favorite extensions.

The new Roaming Extension Manager in the Visual Studio IDE

(図 44) Visual Studio IDE の新しい拡張機能マネージャーのローミング
The new Roaming Extension Manager in the Visual Studio IDE
(Figure 44) The new Roaming Extension Manager in the Visual Studio IDE

この機能を使用すると、3 つのアイコンが表示されます。When using this feature, you will notice 3 icon types:

  • [ローミング済み] アイコン [ローミング済み] アイコン: [ローミング リスト] にあり、このコンピューターにはインストールされていない拡張機能を示します。Roamed Icon Roamed Icon - Denotes an extension that is part of your Roaming List, but not installed on this machine. この拡張機能は [ダウンロード] ボタンでインストールできます。You can install these via the "Download" button.
  • [ローミングおよびインストール済み] アイコン [ローミングおよびインストール済み] アイコン: [ローミング リスト] にあり、この環境にインストールされているすべての拡張機能を示します。Roamed and Installed Icon Roamed & Installed Icon - Denotes all extensions that are part of your Roaming List and installed in this environment. ローミングしない場合は、[ローミングの停止] ボタンで削除することもできます。If you decide you do not want to roam, you can remove these via the "Stop Roaming" button.
  • [インストール済み] アイコン [インストール済み] アイコン: この環境にインストールされ、[ローミング リスト] にはないすべての拡張機能を示します。Installed Icon Installed Icon - Denotes all extensions that are installed in this environment, but are not part of your Roaming List. [Start Roaming](ローミングの開始) ボタンを使用して拡張機能をローミング リストに追加できます。Extensions can be added to roaming list via the "Start Roaming" button.

これらのアイコンは、リストの現在の状態を示します。These icons will show you the current status of your list. 任意の状態の任意の拡張機能を使用できるので、好みに合わせてカスタマイズするか、You can have any extension in any state, so customize to your heart's content! 既定の設定を利用してください。Or let us do it for you! サインイン中にダウンロードした拡張機能は、[Roamed & Installed (ローミングおよびインストール済み)] としてリストに追加され、[Roaming List (ローミング リスト)] にも表示されるので、どのコンピューターからでもアクセスできるようになります。Any extension downloaded while you are signed in will be added to your list as Roamed & Installed and will therefore be part of your Roaming list, giving you access to it from any machine!

プロジェクト テンプレートと項目テンプレートの検出 Discovery of Project and Item Templates

Visual Studio 2017 では、テンプレート検出のパフォーマンス向上のため、Visual Studio によるプロジェクト テンプレートと項目テンプレートの使用方法が大きく変更されています。Starting in Visual Studio 2017, there is a breaking change with how Visual Studio consumes project and item templates to improve the performance of template discovery. 新しい検出メカニズムでは、"vstemplate" スキーマに従うすべての項目テンプレートとプロジェクト テンプレートが、テンプレート マニフェスト ファイルで定義されている必要があります。The new discovery mechanism now requires all item and project templates following "vstemplate" schema to be defined in template manifest files. テンプレート マニフェスト ファイルで定義されていない Visual Studio のテンプレートは、[新しいプロジェクト] または [新しいアイテム] ダイアログ ボックスに表示されなくなります。Visual Studio templates that you do not define in a template manifest file will no longer be visible in New Project or New Item dialogs. 新しい機能拡張ツールは VSIX のビルド時にマニフェストを生成しますが、MSI パッケージの一部として Visual Studio テンプレートをリリースする場合は、そのようなテンプレートのテンプレート マニフェスト ファイルを手動で生成する必要があります。While the new extensibility tooling will generate a manifest during VSIX build time, if you have Visual Studio templates released as part of an MSI package, you must manually generate template manifest files for those templates. 詳細については、MSDN ページの「Upgrading Custom Project and Item Templates for Visual Studio 2017 (カスタム プロジェクトおよび項目テンプレートの Visual Studio 2017 へのアップグレード)を参照してください。For more information, see the Upgrading Custom Project and Item Templates for Visual Studio 2017 MSDN page.


.NET Core および ASP.NET Core .NET Core and ASP.NET Core

これには、新しい MSBuild をベースとする .NET Core ツールの最終リリース 1.0 が含まれています。This contains the 1.0 final release of the new MSBuild based .NET Core Tools. Visual Studio 2017 を利用し、.NET Standard ライブラリ、.NET Core アプリ/ライブラリ、新しい csproj 形式を利用する ASP.NET Web プロジェクトを作成できます。Using Visual Studio 2017, you can create .NET Standard libraries, .NET Core apps/libraries and ASP.NET web projects that use the new csproj format.

NET Core ツールは、インストーラーの "ASP.NET および Web 開発" ワークロードに自動的に含まれるようになり、".NET デスクトップ開発" ワークロードではオプションのコンポーネントとなります。.NET Core tooling is automatically included in the “ASP.NET and web development” workload and an optional component in the “.NET desktop development” workload in the installer. クロス プラットフォーム利用のためだけに .NET Core アプリケーションを開発するのであれば、インストーラーの “その他のツールセット” セクションの “.NET Core クロス プラットフォーム開発” ワークロードを利用し、.NET Core ツールと ASP.NET Core ツールだけをインストールできます。If you only want to develop .NET Core applications for cross platform use, you can install just the .NET Core and ASP.NET Core tools using the “.NET Core cross-platform development” workload from the “Other Toolsets” section of the installer.

このリリースの高度な機能は次のとおりです。High-level features in this release include the following:

  • .NET Core プロジェクトの MSBuild サポート。簡単な csproj プロジェクト形式により、プロジェクトをアンロードする必要なく、簡単に手動で編集できるようになります。MSBuild support for .NET Core projects, with a simplified csproj project format that makes it easier to edit by hand, without the need to unload the project.
  • .NET Core .csproj ファイルは簡単に編集できます。ソリューション エクスプローラーでプロジェクトを右クリックし、[編集] を選択します。Editing .NET Core .csproj file is as simple as a right click on project in Solution Explorer and choosing “Edit”.
  • プロジェクト ファイルがファイル ワイルドカード対応になりました。ソース コードのすべてのファイル名を列挙する必要がなく、csproj ファイルのサイズが肥大化しません。Support for file wildcards in project file, where you don’t have to enumerate all the source code file names, which keeps the csproj file compact in size.
  • NuGet パッケージ参照が csproj ファイルの一部になりました。これで、すべてのプロジェクト参照が 1 つのファイルに統合されました。NuGet package references are now part of the csproj file, consolidating all project references in one file.
  • .NET Core プロジェクト、.NET Standard プロジェクト、.NET Framework プロジェクト間で相互運用ができます。Interop between .NET Core, .NET Standard and .NET Framework projects. たとえば、.NET Core プロジェクトで .NET Standard プロジェクトにプロジェクト間参照を追加できます。For example, a .NET Core project can add a project-to-project reference to a .NET Standard project.
  • 1 つのプロジェクトで複数のターゲット フレームワークを対象にすることができます。Cross-target multiple target frameworks in one project.
  • 既存の project.json .NET Core プロジェクトは、Visual Studio で開いたとき、csproj に自動的に移動します。あるいは、手動で .NET コマンド ライン インターフェイス (CLI) を利用してプロジェクトを移行できます。Existing project.json .NET Core projects will automatically migrate to csproj when opened in Visual Studio, or you can manually migrate them using the .NET Command Line Interface (CLI).
  • Docker サポートによる ASP.NET Core アプリケーションの継続的なビルド統合と、Visual Studio IDE 内から Azure Container Services への継続的なビルド配信を簡単に構成できます。Easily configure continuous build integration for your ASP.NET Core application with Docker support and continuous build delivery to your Azure Container Services from within the Visual Studio IDE.

詳細については、.NET ブログを参照してください。See the .NET blog for more details.


ユニバーサル Windows アプリ開発用ツール Tools for Universal Windows App Development

更新された .NET ネイティブ ツールチェーンUpdated .NET Native Toolchain

この更新された .NET ネイティブ ツールチェーンでは、Visual Studio でマネージ UWP アプリの実行時パフォーマンスを向上させるためのいくつかの最適化が追加されています。This updated .NET Native toolchain adds several optimizations to improve runtime performance for managed UWP apps in Visual Studio. このリリースには、600 以上のバグ修正と、お客様の重要なフィードバックに対処してツールチェーン全体の品質を向上させるための機能が含まれています。The release includes more than 600 bug fixes and features to address key customer feedback and improve the overall quality of the toolchain.

5.3.0 Microsoft.NETCore.UniversalWindowsPlatform パッケージ5.3.0 Microsoft.NETCore.UniversalWindowsPlatform Package

この .NET Core NuGet フレームワーク ライブラリの更新は、お客様によって報告されたいくつかの重要な問題に対処しています。This update to the .NET Core NuGet framework libraries addresses a number of key issues reported by customers. 既存の UWP プロジェクトは、NuGet 参照マネージャーを使用して、この新しいバージョンに更新できます。Existing UWP projects can use the NuGet reference manager to update to this new version. また、新しい .NET Core パッケージには .NET ネイティブ ツールチェーンが含まれます。In addition, the new .NET Core package includes the .NET Native toolchain.

Windows 10 Anniversary Update SDK とエミュレーターWindows 10 Anniversary Update SDK and Emulator

Windows 10 Anniversary Update 用の Windows SDK および Windows Phone エミュレーターが、このリリースには含まれます。The Windows SDK and Windows Phone emulator for the Windows 10 Anniversary Update are included in this release.

  • ツールボックスから作成される UI 要素を少ない XAML タグで作成できるようになりました。これにより、XAML に無駄がなくなり、より読みやすくなります。UI Elements created from the Toolbox will now be created with fewer XAML Tags, resulting in cleaner, more readable XAML.
  • XAML デザイナーの新しいオプション ツールにより、開発者は UI テーマを選択してハイコントラスト設定をデザイン サーフェイスでプレビューできます。A new options tool on the XAML Designer allows the developer to select the UI theme and High Contrast settings to be previewed on the design surface.
  • [プロパティ] ウィンドウの値エディターで、簡単な数式 (60 + 20 など) を処理できるようになりました。The value editors in the Properties window now accept simple mathematical equations, such as "60+20". 数式は即座に計算され、結果の値 (この場合は 80) が XAML に配置されます。The equations will be immediately evaluated (in this case, 80) and their resulting value put into the XAML.

ビジュアル資産を作成するためのマニフェスト デザイナー機能Manifest Designer Capability for Creating Visual Assets

マニフェスト デザイナー (図 45) の外観が更新され、お使いの UWP アプリのビジュアル資産を作成する機能が追加されました。The Manifest Designer (Figure 45) has undergone a visual refresh, and now has the added capability of generating visual assets for your UWP apps. アプリがターゲットとするあらゆる種類のデバイスに合ったサイズのタイル、ロゴ、アイコン、およびスプラッシュ画面を、1 つのソース画像から作成できます。You can now use a single source image to create tiles, logos, icons, and splash screens at any or all scales to fit every type of device your app targets.

Manifest Visual Asset Generator

(図 45) マニフェストのビジュアル資産ジェネレーター
Manifest Visual Asset Generator
(Figure 45) Manifest Visual Asset Generator

UI AnalysisUI Analysis

ユニバーサル Windows プラットフォーム ツールにアクセシビリティやパフォーマンスに関連する一般的な問題を検出する機能が搭載されました。The Universal Windows platform tooling now has the ability to detect common accessibility and performance related issues. [診断ツール] ウィンドウの [ツールの選択] メニューで "UI Analysis" ツールを有効にすることで、これらの問題が問題の対処方法と理由について解説した有用な記事へのリンクと共に報告されます。By enabling the "UI Analysis" tool in the Select Tools menu of the Diagnostic Tools window, these issues will be reported along with links to helpful articles explaining how and why the issues should be addressed. UI Analysis を有効にして開発すると、UI のパフォーマンスとアクセシビリティがアプリケーション開発の中心となります。Developing with UI Analysis enabled brings UI performance and accessibility to the forefront of your application development.


Xamarin Xamarin

Visual Studio 2017 には Xamarin 4.4 が含まれています。Xamarin 4.4 is included in Visual Studio 2017. 詳細については、Xamarin のリリース ノートをご覧ください。For more information, see the Xamarin release notes.

この Xamarin for Visual Studio 4.4 リリースでは、Xamarin.iOS 10.8 リリースと Xamarin.Android 7.2 リリースの更新が行われました。This Xamarin for Visual Studio 4.4 release updates Xamarin.iOS 10.8 and Xamarin.Android 7.2 releases.

バグ修正Bug fixes

このリリースでは、次の問題点を修正しました。This release includes the following fixes:

  • "エンタイトルメント データの読み取りができません" という内容のエラーが発生して、iOS 拡張機能のビルドが失敗する。(4.4.0.31)iOS Extension apps fail to build with error "cannot read Entitlements data".(4.4.0.31)
  • Watson レポート用の記号が含まれている。(4.4.0.6)Includes symbols for Watson reports.(4.4.0.6)
  • ソリューションに Wix プロジェクトも含まれている場合に Android 向け展開が失敗する。(4.3.1.39)Android deployment fails if solution also contains a Wix project.(4.3.1.39)
  • デッドロックにより複数の iOS プロジェクトが開かれる。(4.3.1.39)Deadlock opening some iOS projects.(4.3.1.39)
  • ブレークポイントが第 2 レベルの PCL 参照でヒットしない。(4.3.1.39)Breakpoints won't hit on second-level PCL references.(4.3.1.39)
  • CodeSignNativeLibraries タスクがないことによる iOS の問題の修正。(4.3.1.39)Fixes iOS issue due to missing CodeSignNativeLibraries task.(4.3.1.39)
  • Mac サーバーに接続した後でストーリー ボードが開かれるエラー。(4.3.1.39)Error opening storyboard after connecting to Mac server.(4.3.1.39)
  • Android クラス ライブラリ プロジェクトでは、[プロパティ] ページに [Android バージョンを使用したコンパイル] のみが設定されている必要がある。(4.3.1.39)Android class library project should only include "Compile using Android Version" on Property page.(4.3.1.39)
  • "[ツール]、[オプション]、[Xamarin]、[その他]" タブの順に移動すると Visual Studio はハングする。(4.3.1.39)Visual Studio hangs when going to the "Tools->Options->Xamarin->Other" tab.(4.3.1.39)
  • 環境によってはクロスプラット フォーム ソリューションの読み込み時に Visual Studio がハングする。(4.3.1.1)Visual Studio hangs loading a cross-platform solution in some environments.(4.3.1.1)
  • VS プロジェクト テンプレートで Microsoft.Csharp が参照されない。(4.3.1.1)Microsoft.Csharp not referenced in VS Project Templates.(4.3.1.1)
  • 構成済みのユーザー シェルで bash 構文が使用されていない場合、Mac サーバーに接続できない。(4.3.1.1)Cannot connect to Mac server if configured User Shell doesn't use bash syntax.(4.3.1.1)
  • テスト クラウドへの送信オプションがない (VS2013 および VS2015 で修正済み)。(4.3.1.1)Submit to Test Cloud option missing (fixed on VS2013 and VS2015).(4.3.1.1)
  • 変数/プロパティの名前が他のもののクラス名と同じである場合、デバッガーに混乱を与える。(4.3.1.1)Debugger gets confused when Variable/Property name is same as Class name of something else.(4.3.1.1)
  • アセット カタログから設定された画像の名前を変更することができない。(4.3.1.1)Image set from asset catalog can't be renamed.(4.3.1.1)
  • Watch Extension プロジェクトで "Resources" フォルダーが強制的に非表示にされる。(4.3.1.1)The 'Resources' folder is being forcibly hidden in watch extension projects.(4.3.1.1)
  • "Resources" 内の "Assets.xcasset" フォルダーが tvOS プロジェクトで非表示にされない。(4.3.1.1)"Assets.xcasset" folder within "Resources" is not being hidden for tvOS projects.(4.3.1.1)

Visual Studio Tools for Apache Cordova Visual Studio Tools for Apache Cordova

この Visual Studio 2017 リリースには、次の機能強化が含まれています。This Visual Studio 2017 release includes the following improvements:

  • Cordova Simulate - 新しいブラウザーベースのシミュレーターでは、迅速にコードを記述し、ブラウザー内ですぐに結果を確認できます (図 46)Cordova simulate - A new browser-based simulator enables you to code fast and see the results immediately in the browser (Figure 46). ライブの再読み込み、プラグイン シミュレーション、および Ionic Framework のサポートにより、Visual Studio は市場で最速の開発者ワークフローを実現します。Live reload, plugin simulation, and support for Ionic Framework give Visual Studio the fastest developer workflow on the market.

Cordova simulate

(図 46) Cordova Simulate
Cordova simulate
(Figure 46) Cordova simulate

  • iOS 10 & XCode 8 のサポート - iOS 開発用の remotebuild サーバー エージェントの更新に XCode 8 のサポートが含まれました。Support for iOS 10 & XCode 8 - An update of the remotebuild server agent for iOS development now includes support for XCode 8.

  • エラーの色づけ - 多くの場合、ビルドの失敗を診断するには開発者がビルド出力を確認する必要があるため、読みやすくするためにエラーを色分けしてビルド出力ウィンドウに表示するようにしました (図 47)Error colorization - Because diagnosing build failures often requires developers to read through build output, we have started to colorize errors in the build output pane for easier reading (Figure 47). さらに、ビルド処理が失敗した場所を開発者が特定できるように、ビルド処理のステップを区切るためのヘッダーを追加しました。Moreover, we have added headers to delineate steps in the build process to help developers identify where in the build process the failure occurred.

Pretty printing

(図 47) 色分けされたエラー
Pretty printing
(Figure 47) Colorized Errors

  • 製品内で取得 - Cordova アプリ構築の時間短縮のための軽量インストールに加えて、このたび開発が進むにつれて必要となる追加の構築ピースを Visual Studio 内で取得できるようにしました (図 48)In-product acquisition - In addition to the new light-weight installation to get you building Cordova apps faster, we have now added pathways from within Visual Studio to acquire additional build pieces as your development continues (Figure 48). まだ Android や Windows のコンポーネントをインストールしていない場合は、展開バーから取得できます。これにより、Visual Studio セットアップが起動し、インストール処理を進めることができます。If you have not installed Android or Windows components, you can get them through the deploy bar, which will launch Visual Studio setup and guide you through the installation process.

In-product acquisition

(図 48) 製品内で取得
In-product acquisition
(Figure 48) In-product acquisition

  • 高速で信頼できるビルド - 新しい Visual Studio インストーラーは、サード パーティ製コンポーネントの十分に検証されたツールチェーンのオフライン インストールと組み合わせることで、より高速なビルドを実現します。これは、トラブルシューティングや修復もより簡単になります。Fast, reliable builds - The new Visual Studio Installer, combined with offline installation of a fully validated toolchain of 3rd party components, provides for faster builds that are also easier to troubleshoot and fix.
重要

Android および Windows 用のビルド ツールとエミュレーターはオプションになりました。Build tools and emulators for Android and Windows are now optional. これらは、ビルド/展開メニュー バーから動的に取得できます。You can acquire them dynamically through the build/deploy menu bar. Visual Studio のこのリリースは、Windows ストア 8.1 プロジェクトをサポートしていません。This release of Visual Studio does not support Windows Store 8.1 projects. Cordova プロジェクトを更新して Windows 10 をターゲットとするようお勧めします。We recommend that you update your Cordova projects to target Windows 10. サポートされる Cordova の最低バージョンが 6.0.0 に上がっています。Minimum supported Cordova version is raised to 6.0.0. 6.0.0 より低いバージョンの Cordova を対象とするプロジェクトを Visual Studio 2017 でビルドして配置するには、config.xml でプロジェクトをアップグレードする必要があります。Projects targeting a Cordova version lower than 6.0.0 will need to upgrade their project in config.xml to build and deploy in Visual Studio 2017.


Node.js Tools for Visual Studio Node.js Tools for Visual Studio

Node.js Tools for Visual Studio により、Visual Studio が強力な Node.js 開発環境に変わります。Node.js Tools for Visual Studio turns Visual Studio into a powerful Node.js development environment. このリリースでは、安定性、パフォーマンス、および製品全体の品質に重点を置いています。This release focuses on stability, performance, and overall product quality, including:

  • 新しい Salsa JavaScript 言語サービスとの統合性の向上。Better integration with the new Salsa JavaScript language service.
  • メモリと CPU 使用量の削減、プロジェクトの読み込み時間の短縮。Reduced memory and CPU usage, and shorter project load times.
  • Pug テンプレート ファイルのサポート。Support for Pug template files.
  • より多くの最新のプロジェクト テンプレート。More up-to-date project templates.
  • Mocha 3.x テスト フレームワークのサポート。Support for Mocha 3.x test framework.
  • 多数のバグ修正。Numerous bug fixes.

Node.js Tools for Visual Studio のこのリリースに多大な貢献をいただいたすばらしい協力者の皆さんに感謝します。Thank you to all the amazing contributors who made this release of Node.js Tools for Visual Studio possible. 詳細については、オープン ソースの GitHub の Node.js ツール プロジェクトを参照してください。For more information, check out the open source Node.js Tools project on GitHub.


Visual Studio Tools for Unity Visual Studio Tools for Unity

Visual Studio を使用して、あらゆるプラットフォーム向けの Unity ゲームを作成してデバッグできます。Use Visual Studio to write and debug Unity games for all platforms. 新しい Visual Studio 2017 インストーラーでは、Visual Studio Tools for Unity 3 (図 49) を "Unity によるゲーム開発" ワークロードと共にインストールできます。Visual Studio Tools for Unity 3 (Figure 49) is now available to be installed with the "Game Development with Unity" workload in the new Visual Studio 2017 installer. Visual Studio Tools for Unity 3 では、Unity 開発者のコード編集およびデバッグ エクスペリエンスの改善に加えて、以下を含む製品全体の品質に重点を置いています。Visual Studio Tools for Unity 3 focuses on improving the code editing and debugging experience for Unity developers as well as overall product quality, including:

  • IntelliSense の Unity メッセージのサポート。IntelliSense support for Unity messages.
  • Unity メッセージのコードの色付け。Code colorization of Unity messages.
  • Unity デバッガーでの式の評価の改善。Improved expression evaluation in the Unity debugger.
  • Unity メッセージ ウィザードが改善され、メッセージを受信できるように Unity のすべての型がサポートされるようになりました。Improved Unity message wizards to support all Unity types able to receive messages.
  • 多数のバグ修正および最適化。Numerous bug fixes and optimizations.

Code completion session for Unity messages

(図 49) Unity メッセージのコード補完セッション
Code completion session for Unity messages
(Figure 49) Code completion session for Unity messages


RedgateRedgate

Visual Studio に含まれる Redgate Data ToolsRedgate Data Tools Included with Visual Studio

データ ストレージと処理ワークロードで Redgate SQL Prompt Core、Redgate SQL Search、Redgate ReadyRoll Core から構成される Redgate Data Tools が利用可能になり、Visual Studio 2017 DevOps 機能を SQL Database 開発で利用できるようになりました。To extend Visual Studio 2017 DevOps capabilities to SQL Server database development, Redgate Data Tools, comprising Redgate SQL Prompt Core, Redgate SQL Search, and Redgate ReadyRoll Core, are now available in the Data Storage and Processing workload.

  • Redgate ReadyRoll Core は、Visual Studio Enterprise 2017 に含まれており、移行スクリプトの開発、ソース管理によるデータベースの変更管理、アプリケーションの変更と並行した SQL Server データベースの変更配置の安全な自動化に役立ちます。Redgate ReadyRoll Core, included with Visual Studio Enterprise 2017, helps you develop migration scripts, manage database changes using source control, and safely automate deployments of SQL Server database changes alongside applications changes.
  • Visual Studio Enterprise 2017 に含まれる Redgate SQL Prompt Core を利用すると、インテリジェントなコード入力候補機能により、SQL を短時間で正確に記述できます。Redgate SQL Prompt Core, included with Visual Studio Enterprise 2017, helps you write SQL more quickly and accurately with the help of intelligent code completion. SQL Prompt は、データベース、システム オブジェクト、キーワードをオートコンプリートし、入力と同時に列の入力候補を提案します。SQL Prompt autocompletes database and system objects and keywords, and offers column suggestions as you type. 列の名前やエイリアスを覚える必要がないため、結果として、間違いが少なく、読みやすいコードが完成します。This results in cleaner code and fewer errors because you don’t need to remember every column name or alias.
  • Redgate SQL Search は、Visual Studio 2017 のすべてのエディションに含まれており、生産性を向上させます。また、複数のデータベースから SQL のフラグメントやオブジェクトをすばやく見つけることができます。Redgate SQL Search, included with all editions of Visual Studio 2017, increases your productivity by helping you quickly find SQL fragments and objects across multiple databases.

NuGet NuGet

Visual Studio 2017 には NuGet 4.0 が含まれています。Visual Studio 2017 includes NuGet 4.0. このリリースでは、多数のプロジェクトの種類のパッケージ参照、品質の改善、およびパフォーマンスの改善をサポートすることに重点を置いています。This release is focused on supporting package reference for the majority project types, quality improvements, and performance improvements:

  • WPF、WindowsForms、UWP のプロジェクトで、パッケージ参照を利用してパッケージを管理できるようになりました。In WPF, WindowsForms, and UWP projects, packages can now be managed using package references.
  • ライトウェイト ソリューション リストアの NuGet 復元のサポートが向上しました。NuGet restore support has been improved for Lightweight Solution Restore. プロジェクトを読み込まなくても復元できるようになりました。Restores can now be performed without needing to load any projects.
  • .NET Core プロジェクトと ASP.NET Core プロジェクトでは、パッケージはパッケージ参照を使って管理されるようになりました。In .NET Core and ASP.NET Core projects, packages are now managed using package references.
  • Visual Studio 2017 以降では、コンピューター全体の NuGet.config は %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config にあります。今後、nuget.exe v4.0.0 以降では、コンピューター全体の構成について新しい場所も検討される予定です。In Visual Studio 2017 and above, the machine-wide NuGet.config is now located at %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. Going forward, nuget.exe v4.0.0 + will also consider the new location for the machine-wide configuration. プログラム データ内の NuGet.config は、暗黙的に参照されたり、nuget.config の階層的マージについて考慮されたりすることがなくなりました。NuGet.config in program data will no longer be implicitly referenced or considered for the hierarchical merging of nuget.config.

XAML アプリ用のツール Tools for XAML Apps

XAML のエディット コンティニュXAML Edit & Continue

Visual Studio で、WPF またはユニバーサル Windows アプリの実行中に XAML を編集できるようになりました。Visual Studio now allows you to edit XAML while your WPF or Universal Windows App is running. Visual Studio でアプリをデバッグするとき、XAML コード エディターでマークアップを変更すると、アプリケーションを再コンパイルしなくても、実行中のアプリでその変更を反映することができます。While debugging your app in Visual Studio, you can make a change to the markup in the XAML code editor and the change will be reflected in the running app without having to recompile.

XAML エディターの生産性の向上XAML Editor Productivity Enhancements

  • IntelliSense のフィルター処理 - XAML を入力する際に、一致する型のみがコンプリート リストに表示され、最も近い一致が選択されます。IntelliSense filtering - When typing XAML, the completion list will only display types that match and the closest match will be selected.
  • x:Bind 用の IntelliSense - パスやイベントのバインドする際に、IntelliSense のコンプリートを x:Bind で使用できるようにしました。IntelliSense for x:Bind - We have enabled IntelliSense completion for x:Bind when binding to Path and Events.
  • 名前空間の入力補完 - 名前空間の参照が存在しない場合 (図 50)、入力中に IntelliSense のサポートが得られません。Namespace completion - If the reference to the namespace does not exist (Figure 50), you will not get IntelliSense support while typing. 入力を完了すると、電球マークの提案が表示されます。プレフィックスを生成して挿入したり、XAML ドキュメントに名前空間定義を追加したりできます。When you have finished typing, you will get light bulb suggestion support to generate & insert the prefix for the type and add the namespace definition in your XAML document.

IntelliSense_without namespace

(図 50) IntelliSense_名前空間なし
IntelliSense_without namespace
(Figure 50) IntelliSense_without namespace

  • プレフィックスを必要とする型で、名前空間への参照が既に存在する場合、IntelliSense がプレフィックスをオート コンプリートします。For types that require a prefix, IntelliSense will offer to auto-complete the prefix if the reference to the namespace already exists.


  • 名前空間プレフィックスの名前の変更のリファクタリング - 名前の変更アクション (図 51) は、コンテキスト メニューから呼び出すことも、カーソルがプレフィックス上にあるときにキーボード ショートカット (Ctrl+R+R) を使用して呼び出すこともできます。Namespace prefix rename refactoring - You can invoke the rename action (Figure 51) from the context menu or using the keyboard shortcut Ctrl+R+R when the cursor is on the prefix. 変更を適用する前にプレビューすることもできます。You can also preview changes before applying them.

Namespace Prefix Rename

(図 51) 名前空間プレフィックスの名前変更
(Figure 51) Namespace prefix rename

  • 名前空間の削除と並べ替え - コンテキスト メニューまたはキーボード ショートカット (Ctrl+R+G) を使用して、不要な名前空間 (図 52) を削除したり、名前空間を並べ替えたりすることができます。Remove and sort namespaces - You can now remove unnecessary namespaces (Figure 52) and sort them from the context menu or by using the keyboard shortcut Ctrl+R+G. XAML ドキュメントに不要な名前空間が含まれている場合は、それらを削除するオプションを示す電球が表示されます。If your XAML document has unnecessary namespaces, you will also see a light bulb that will give you the option to remove them.

Lightbulb_remove unnecessary namespace

(図 52) 電球_不要な名前空間の削除
Lightbulb_remove unnecessary namespace
(Figure 52) lightbulb_remove unnecessary namespace

  • XAML エディターの .editorconfig のサポート - .editorconfig ファイルで indent_style、indent_size、および tab_width の設定を定義できます。この設定は、[ツール] の [オプション] で定義した設定に代わって使用されます。.editorconfig support for XAML editor - You can define settings for indent_style, indent_size, and tab_width in the .editorconfig file which will be used instead of the settings defined in Tools > Options.

  • XAML エディター用の構造ビジュアライザー - 構造ビジュアライザー (つまりインデント ガイド) (図 53) が Visual Studio に組み込まれ、別の拡張機能は不要になりました。Structure Visualizer for XAML editor - The structure visualizer (i.e. indent guides) (Figure 53) is now built into Visual Studio, and a separate extension is not required. この機能により、スクロールすることなく作業中のコード ブロックのコンテキストがひとめでわかります。This feature provides the context of the block of code you are working on at a glance, without scrolling.

Structure Visualizer for XAML editor

(図 53) XAML エディター用の構造ビジュアライザー
Structure Visualizer for XAML editor
(Figure 53) Structure Visualizer for XAML editor

XAML のパフォーマンスの向上XAML Performance Improvements

  • XAML タブの切り替え機能の向上 - XAML タブの切り替え機能が大幅に改善されました。Improved XAML Tab Switch performance - XAML Tab Switch performance has improved significantly. カスタマー プロジェクトのサンプルでは、90% 以上の切り替え時間短縮が確認されています。In sample customer projects, we have seen switching time reduce by over 90%.
  • XAML エディターの入力遅延への対応 - XAML の入力がかつてないほど高速になりました。Addressing XAML editor typing delays - XAML typing is now faster than ever. XAML エディターの入力遅延を減らすための投資を行いました。ほとんどの開発者が XAML エディターや XAML IntelliSense の応答性が改善したこと実感できます。We have made several investments to reduce XAML editor typing delays, and most developers should find the XAML editor and XAML IntelliSense to be more responsive. これは、サードパーティのコントロールや大規模なコントロール ライブラリを消費するプロジェクトの XAML ファイルを編集するときに、最も顕著に表れます。This will be most apparent when editing a XAML file in projects that consume third party controls or large control libraries.

Data Tools and SQL Server Data Tools and SQL Server

SQL Server Data ToolsSQL Server Data Tools

Visual Studio 2017 には、SQL Server Data Tools の最新の更新が含まれています。この更新により、Azure SQL Database および SQL Server 2016 の最新の機能がサポートされます。The latest update of SQL Server Data Tools has been included in Visual Studio 2017, which enables support for the latest features in Azure SQL Database and SQL Server 2016.

このリリースにより、サポートされるすべてのバージョンの SQL Server およびデータベース プラットフォーム (オンプレミスとクラウドの両方) で、Visual Studio を使ってデータベースを簡単に開発、テスト、展開できます。This release brings together the ease of developing, testing, and deploying a database on all supported versions of SQL Server and database platforms - both on-premises and cloud - by using Visual Studio. このリリースには、データベース プログラミング サーフェス領域の拡張機能も含まれており、SQL Server データ ツールでの SQL 接続機能を改良し、接続する SQL Server および Azure SQL Database を 1 クリックで自動的に検出できるようになっています。The release also includes database programmability surface area enhancements, and it improves the SQL connection experience in SQL Server Data Tools, which now automatically discovers SQL Server and Azure SQL Databases that you can connect to with a simple click.

さらに、Visual Studio 2017 は、新しい Azure SQL Database 認証タイプや、Azure Active Directory 統合およびパスワード認証に対応しています。Additionally, Visual Studio 2017 addresses new Azure SQL Database authentication types, as well as Azure Active Directory Integrated and Password authentication.


Developer Analytics Tools Developer Analytics Tools

Visual Studio 2017 には Developer Analytics Tools v8.6 が含まれており、次の点が改善されました。Visual Studio 2017 includes Developer Analytics Tools v8.6, with the following improvements:

  • CodeLens は、Application Insights リソースにデータを送信するプロジェクトのデバッグおよびライブ テレメトリのデータ両方を表示するようになりました。CodeLens now shows both debug and live telemetry data in projects that send data to an Application Insights resource.
  • 例外の CodeLens が Application Analytics とリンクし、例外の影響をユーザーに表示するようになりました。CodeLens for exceptions links to Application Analytics to show user impact of an exception.
  • CodeLens で、Application Insights SDK でのプロジェクトのローカル デバッグ セッションからの要求が表示されるようになりました。CodeLens shows requests from local debug sessions, in projects with the Application Insights SDK.
  • 要求や例外のための CodeLens が Visual Basic プロジェクトで利用可能になりました。CodeLens for requests and exceptions are now available from Visual Basic projects.
  • Live Metrics は、Visual Studio からアプリを公開した後、トースト通知に表示されるようになりました。Live Metrics are now shown in a toast notification after you publish your app from Visual Studio.
  • [構成] ウィンドウで Application Insights の価格情報が表示されるようになりました。Application Insights pricing information is now shown in the Configuration window.
  • 可用性のイベントが検索と傾向のツールで表示されるようになりました。Availability events are now shown in the Search and Trends tools.
  • 検索および診断ツールでのイベントが SDK での適応サンプルに基づいた発生頻度のカウントを表示するようになりました。Events in the Search and Diagnostic Tools now show counts for how often they occurred based on adaptive sampling in the SDK.
  • CodeLens で、Application Insights SDK でのプロジェクトのローカル デバッグ セッション時に発生した例外が表示されます。CodeLens shows exceptions that have occurred during local debug sessions for projects with the Application Insights SDK.
  • Application Insights の構成ウィンドウのデザインが新しくなりました。New design for the Application Insights Configuration window.
  • 例外を示す CodeLens に Application Analytics へのリンクが表示され、例外によるユーザーへの影響が確認できるようになりました。CodeLens for exceptions now has a link to Application Analytics to see the impact an exception has had on users.
  • プロジェクトに Application Insights が追加された場合に、ページ ビュー テレメトリを収集するための Application Insights JavaScript SDK が追加されるようになりました。The Application Insights JavaScript SDK for collecting page view telemetry is now added when Application Insights is added to a project.
  • Visual Studio からアプリを公開すると、公開コメントが Application Insights に送信されるようになりました。Publish annotations are now sent to your Application Insights resource when you publish your app from Visual Studio.
  • Application Insights CodeLens の赤のインジケーターと黄のインジケーターにスクロールバー マーカーが表示されるようになりました。Scrollbar markers are now shown for red and yellow Application Insights CodeLens indicators.

Application Insights の詳細については、Microsoft Azure の文書をご覧ください。Learn more about Application Insights in the Microsoft Azure documentation.


Office Developer Tools for Visual Studio Office Developer Tools for Visual Studio

このリリースには、次のような、最新の機能および更新プログラムを備えた Office Developer Tools が含まれています。This release includes Office Developer Tools with the latest features and updates, as follows:

  • Excel、Word、PowerPoint、Outlook 専用の新しい Office アドイン テンプレート。New Office Add-in templates specific to Excel, Word, PowerPoint, and Outlook.
  • アドイン コマンド、ファブリック UI、新しいバージョンの Office.js などの、新しい Office アドイン機能のサポート。Support for new Office Add-in features such as add-in commands, Fabric UI, and a new version of Office.js.
  • 新しい Office アドイン機能を使用する方法を示す、テンプレートに入った新しいスタート コード。New starter code in the templates that will showcase how to get started with new Office Add-in features.
  • SharePoint ソリューションおよびアドイン テンプレートでの SharePoint 2016 のサポート。Support for SharePoint 2016 in SharePoint solutions and add-in templates.

ライブ アーキテクチャの依存関係の検証 Live Architecture Dependency Validation

Visual Studio Enterprise では、依存関係検証ダイアグラム (レイヤー図とも呼ばれます) を設定した場合、コード エディターでのコードの入力時にアーキテクチャ依存関係ルールに違反するとリアルタイムの通知 (図 54) が表示されるようになりました。If you have setup Dependency Validation diagrams (aka Layer diagrams) in Visual Studio Enterprise, you now get real-time notifications (Figure 54) of any violations of the architectural dependency rules as you type your code in the Code Editor. エラーは [エラー一覧] に表示され、テキスト エディターでは波線でこの違反の正確な場所が示されます。Errors appear in the Error List and squiggles will appear in the text editor showing you the precise location of the violation. これにより、不要な依存関係を導入する可能性を低減できます。You are now less likely to introduce unwanted dependencies.

Live Architecture Dependency validation

(図 54) ライブ アーキテクチャの依存関係の検証
Live Architecture Dependency validation
(Figure 54) Live Architecture Dependency validation


開発者コマンド プロンプト Developer Command Prompt

Visual Studio 2017 の開発者コマンド プロンプトのスクリプトは、新しいインストール エクスペリエンスをサポートするようにリファクタリングされています。The Visual Studio 2017 Developer Command Prompt scripts have been refactored to support the new installation experience:

  • 環境変数は、インストールされているワークロードのみを反映します。Environment variables will reflect installed workloads only.
  • Visual Studio 開発者コマンド プロンプトのショートカットは、以前のリリースと互換性があります。The Visual Studio Developer Command Prompt shortcut should be compatible with previous releases.
  • 開発者コマンド プロンプトのスクリプトは、コマンドライン引数を使用して構成できるようになっています。You can now configure Developer Command Prompt scripts via command line arguments:
    • 詳細については、コマンド プロンプトで (Visual Studio インストール ディレクトリから) common7\tools\vsdevcmd.bat -help を呼び出してください。In a command prompt, call common7\tools\vsdevcmd.bat -help (from the Visual Studio installation directory) for details.

Azure SDK for .NET Azure SDK for .NET

Azure SDK for .NET Visual Studio を新しい Visual Studio インストーラーでインストールできるようになりました。The Azure SDK for .NET Visual Studio is now available to be installed with the new Visual Studio installer. Web プラットフォーム インストーラーを使用して以前に Azure SDK for .NET をインストールしている場合は、新しい Visual Studio インストーラーを使用して Azure のワークロードをインストールすることによって、同じコンポーネントを取得できます。If you previously installed the Azure SDK for .NET using the Web Platform Installer, you can now get the same components by installing the Azure workload using the new Visual Studio Installer. インストールされるパッケージは、SDK の 2.9.5 バージョンと同じ機能レベルです。The packages that are installed are at the same feature level as the 2.9.5 version of the SDK. このバージョンと将来のすべてのバージョンの Visual Studio では、Azure SDK for .NET は Visual Studio インストーラーからのみ取得できます。For this version of Visual Studio and all future versions, the Azure SDK for .NET will only be available from the Visual Studio installer.


Visual Studio 2017 リリース ノート履歴Visual Studio 2017 Release Notes History

Visual Studio 2017 Preview リリース ノートVisual Studio 2017 Preview Release Notes

The Developer Community Portal ユーザーから報告され、Visual Studio 2017 バージョン 15.5 で修正された問題をご覧ください。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.5.

Visual Studio 2017 最新のリリース ノートVisual Studio 2017 Current Release Notes

The Developer Community Portal ユーザーから報告され、Visual Studio 2017 バージョン 15.5 で修正された問題をご覧ください。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.5.

Visual Studio 2017 バージョン 15.4 リリース ノートVisual Studio 2017 version 15.4 Release Notes

The Developer Community Portal ユーザーから報告され、Visual Studio 2017 バージョン 15.4 で修正された問題をご覧ください。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.4.

Visual Studio 2017 バージョン 15.3 リリース ノートVisual Studio 2017 version 15.3 Release Notes

The Developer Community Portal ユーザーから報告され、Visual Studio 2017 バージョン 15.3 で修正された問題をご覧ください。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.3.

Visual Studio 2017 バージョン 15.2 リリース ノートVisual Studio 2017 version 15.2 Release Notes

The Developer Community Portal ユーザーから報告され、Visual Studio 2017 バージョン 15.2 で修正された問題をご覧ください。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.2.

Visual Studio 2017 バージョン 15.1 リリース ノートVisual Studio 2017 version 15.1 Release Notes

The Developer Community Portal ユーザーから報告され、Visual Studio 2017 バージョン 15.1 で修正された問題をご覧ください。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.1.


ページのトップへ

Top of Page