Заметки о выпуске Visual Studio 2017 версии 15.0 Visual Studio 2017 version 15.0 Release Notes

Последнее обновление 31.01.2018

Сообщество разработчиков | Требования к системе | Совместимость | Распространяемый код | Условия лицензии | Блоги | Периодичность выпусков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.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.


Дата выпуска: 9 января 2018 г. — 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 Security Advisories for .NET Core

  • CVE-2018-0786 Обход функции безопасности при проверке сертификата X509. Корпорация Майкрософт выпускает этот совет по безопасности, чтобы предоставить сведения об уязвимости в общедоступных версиях .NET Core 1.0, 1.1 и 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. Совет по безопасности также относится к .NET Native для универсальной платформы Windows (UWP).This security advisory is also applicable to .NET native for UWP.

    Корпорации Майкрософт известно об уязвимости в общедоступных версиях .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. Разработчикам рекомендуется обновить пакет SDK для .NET Core до версии 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-документов. Корпорация Майкрософт выпускает этот совет по безопасности, чтобы предоставить сведения об уязвимости в общедоступных версиях .NET Core 1.0, 1.1 и 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.

    Корпорации Майкрософт известно об уязвимости во всех общедоступных версиях .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.

    Обновление устраняет уязвимость, исправляя способ обработки XML-документов в .NET Core.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. Разработчикам рекомендуется обновить пакет SDK для .NET Core до версии 2.1.4 или 1.1.7.Developers are advised to update their .NET Core SDK to version 2.1.4 or 1.1.7.


Дата выпуска: 6 декабря 2017 г. — 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

Корпорация Майкрософт выпустила советы по безопасности для 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 позволяет раскрыть сведения: в ASP.NET Core 1.0 и 1.1 существует уязвимость, из-за которой можно обойти CORS, что приведет к раскрытию сведений.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.


Дата выпуска: 14 ноября 2017 г. — 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

Корпорация Майкрософт выпустила советы по безопасности для .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:

  • CVE-2017-8585 Неправильно сформированный сертификат может привести к отказу в обслуживании: в .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. Разработчикам рекомендуется обновить пакет SDK для .NET Core до версии 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 позволяет раскрыть сведения: в ASP.NET Core 1.0 и 1.1 существует уязвимость, из-за которой можно обойти CORS, что приведет к раскрытию сведений.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 существует уязвимость, из-за которой приложение размещается через Http.Sys в Windows, где неправильно сформированный запрос может привести к отказу в обслуживании.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.


Дата выпуска: 18 сентября 2017 г. — Visual Studio 2017 версии 15.0 (26228.16)Release Date: September 18, 2017 - Visual Studio 2017 version 15.0 (26228.16)

Исправленные ошибкиIssues Fixed


Дата выпуска: 23 мая 2017 г. — 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.

Дата выпуска: 31 марта 2017 г. — Visual Studio 2017 версии 15.0 (26228.12)Release Date: March 31, 2017 - Visual Studio 2017 version 15.0 (26228.12)

Общие сведения об обновленияхSummary of Updates

  • Мы теперь поддерживаем инструменты и API Xcode 8.3, iOS 10.3, watchOS 3.2 и tvOS 10.2 в Xamarin.VS Extension для Visual Studio 2017.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.

Дата выпуска: 28 марта 2017 г. — 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:


Дата выпуска: 14 марта 2017 г. — 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:


Дата выпуска: 7 марта 2017 г. — 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 обеспечивает множество усовершенствований в Visual Studio 2017, включая ускоренный запуск и загрузку решения, улучшения входа и удостоверений, улучшенную навигацию по коду, представление открытых папок и подключенные службы, позволяют устанавливать подключение между приложением и любой локальной или облачной службой.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, а также добавлены новые процедуры рефакторинга, позволяющие организовать исходный код одним действием.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 доступен для всех проектов TypeScript в Visual Studio.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

  • Отладка и диагностика — пересмотрен помощник по исправлению ошибок и ускорена навигация по коду с помощью функции Run to Click.Debugging and Diagnostics overhaul of the Exception Helper and faster code navigation with Run to Click. Кроме того, появилась новая сводка событий приложений в окне средств диагностики и внесено несколько улучшений в средство ЦП.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 в Team Explorer и обновление возможностей подключения обеспечивают эффективность работы с Git в Visual Studio 2017 и позволяют легко находить проекты и репозитории, к которым необходимо подключиться.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. Окончательный выпуск средств .NET Core 1.0 на базе MSBuild..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 и веб-проекты ASP.NET, использующие новый формат CSPROJ.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 Native, платформа NuGet для .NET Core, новые средства для повышения производительности и поддержка пакета SDK для обновления Windows 10 для дизайнеров.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 для 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 для Visual Studio. Упор сделан на стабильность, производительность и качество продукта.Node.js Tools for Visual Studio: Updates focused on stability, performance, and overall product quality.
  • Инструменты Visual Studio для Unity. Инструменты Visual Studio для Unity 3 теперь доступны вместе с рабочей нагрузкой "Разработка игр с помощью Unity" в новом установщике Visual Studio.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. Для разработки баз данных SQL с помощью DevOps в 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.
  • SQL Server Data Tools. Последняя версия SQL Server Data Tools обеспечивает поддержку новых функций базы данных SQL Azure и 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.
  • Средства анализа для разработчиков. Visual Studio 2017 включает в себя средства анализа для разработчиков версии 8.6 с множеством улучшений функций Application Insights и HockeyApp в Visual Studio.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 для Visual Studio. В состав входят инструменты разработчика Office с последними функциями и обновлениями.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 для .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

Минимальная установка занимает всего несколько сотен мегабайт, но по-прежнему обеспечивает набор базовых инструментов для редактирования кода более чем на 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.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 StudioHow 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. Этот макет может быть полной версией продукта, подмножеством рабочих нагрузок и/или компонентов, а также одним или несколькими языковыми стандартами продукта.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, а затем Visual Studio Community, в меню "Пуск" оба этих продукта будут иметь одинаковое название.For example, if you were to install Visual Studio Enterprise, and then install Community, both would appear the same on the start menu. Второму продукту можно присвоить псевдоним, например "community", после чего пункты меню "Пуск" будут отображаться с такими именами, как "Visual Studio 2017 (community)" и "Командная строка разработчика для 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 Visual Studio IDE

Усовершенствования IDEIDE 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.
  • Расширение GitHub для Visual Studio можно выбрать в новом установщике Visual Studio.The GitHub extension for Visual Studio can be selected in the new Visual Studio installer.
  • Для повышения производительности при переключении ветвей, не входящих в Visual Studio, команда Reload All Projects (Перезагрузить все проекты) заменена на "Перезагрузить решение".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.
  • Улучшены возможности подстановки файлов для проектов ASP.NET Core и .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. Этот узел в конечном итоге устранит HTTP-трафик локального узла, который возник с появлением VSHub. Это должно снизить шум, о котором сообщают пользователи 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

Усовершенствования в рамках процедуры входа и идентификацииSign In and Identity Improvements

Представлена новая служба идентификации, позволяющая использовать одни и те же учетные записи пользователя в разных средствах Майкрософт для разработчиков.We introduced a new identity service that allows you to share user accounts across Microsoft developer tools. В среде Visual Studio этим охватываются Team Explorer, 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 или используйте наше более показательное меню последних выбранных файлов, чтобы легко открывать локальные проекты и решения;Acquire remote repos from VSTS or use our more prominent MRU to open local projects and solutions easily.
  • В списке последних выбиравшихся файлов на начальной странице отображаются репозитории, которые вы клонировали на других компьютерах, так что их легко клонировать на текущий компьютер.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.
  • Быстрый запуск нового клона из VSTS командой Checkout from 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. Мы также улучшили функцию перехода к строке (Ctrl + G).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, F# и С++). Теперь эта команда позволяет группировать, фильтровать, сортировать ссылки, выполнять поиск по ссылкам и выделять результаты цветом (для C# и Visual Basic). С ее помощью вы сможете четко понять структуру ссылок и уверенно перейти к нужной строке кода.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

Поддержка соглашений о стиле написания кода с помощью EditorConfigCoding Convention Support via EditorConfig

Редактор Visual Studio теперь поддерживает EditorConfig, что позволяет разработчикам определять и соблюдать единые соглашения о стиле написания кода между разными редакторами и интегрированными средами разработки.The Visual Studio editor now supports EditorConfig, which allows developers to define and maintain consistent coding style conventions between different editors and IDEs. Дополнительные сведения см. в документации. Дополнительные сведения об управлении стилем кода .NET с помощью EDITORCONFIG-файлов см. в документации по .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:

  • Поиск по коду в папке с помощью GoTo (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. Щелкните любой файл правой кнопкой мыши и выберите "Configure Task Settings" (Настройка параметров задач).Right-click on any file and select Configure Task Settings.
  • Launch.vs.json и tasks.vs.json имеют IntelliSense в редакторе JSON.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. Эта функция отключена по умолчанию и может быть включена как для отдельных решений, так и глобально — для всей интегрированной среды разработки.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
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.

Поддержка цветовой разметки синтаксиса, автозаполнения, фрагментов кода и поиска с помощью команды "Перейти к" для расширения набора языковSyntax Colorization, Autocomplete, Snippet, and "Navigate To" Search Support for More Languages

Основываясь на поддержке, реализованной в Visual Studio 2015, в Visual Studio 2017 теперь поддерживается цветовая разметка синтаксических конструкций и автозаполнение для большего числа языков.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, разработки классических приложений для Windows на 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:

  • Поддерживают только окрашивание синтаксиса и автозаполнение: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.
  • Поддерживают фрагменты кода (в дополнение к окрашиванию синтаксиса и автозаполнению):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.
  • Поддерживают команду "Перейти к" (в дополнение к окрашиванию синтаксиса и автозаполнению):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. В обозревателе решений для мобильных и веб-проектов появился новый узел под названием "Подключенные службы".A new node called "Connected Services" is available in the Solution Explorer for Web and Mobile project types. При двойном щелчке этого узла открывается новая вкладка полной страницы в Visual Studio, где можно просмотреть популярные службы Майкрософт, к которым вы можете подключиться.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 позволяет легко получить дополнительные рабочие нагрузки, не выходя из интегрированной среды разработки (рис. 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. Поддержка CMake в Visual Studio готова к выходу!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 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++ Core Checker) теперь распространяются вместе с Visual Studio.The C++ Core Checkers for enforcing the C++ Core Guidelines are now distributed with Visual Studio. Просто включите средства проверки в диалоговом окне Code Analysis Extensions (Расширения анализа кода) на страницах свойств проекта (рис. 15), и расширения будут включены при выполнении анализа кода.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 улучшен, чтобы на 30 % ускорить компоновку крупных компонентов в сравнении с компоновкой в Visual Studio 2015.The /debug:fastlink option has been improved to provide 30% faster link times on large components than in Visual Studio 2015.
  • При использовании совместных подпрограмм экспериментальное ключевое слово yield (в параметре /await) удалено.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] Включен C++14 constexpr в min/max/minmax(initializer_list) и min_element/max_element/minmax_element().[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] Еще один набор исправлений соответствия поиска по имени.[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] Отменено отключение допустимого предупреждения C4640 о потокобезопасной инициализации локальных статических элементов в atlstr.h.[ATL] Un-suppress valid warning C4640 about thread safe init of local statics in atlstr.h.
  • [ATL] Потокобезопасная инициализация локальных статических элементов была автоматически отключена в наборе инструментов XP при [использовании ATL и сборке библиотеки DLL].[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.

IDE C++C++ 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.
  • Новый компонент пользовательского интерфейса, "Найти все ссылки", содержит информацию о том, выполняется ли чтение из переменной или запись в переменную, в результатах для кода 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.

  • Функция замены точки на стрелку IntelliSense была перенесена из экспериментальных в расширенные и теперь включена по умолчанию.The Dot-to-Arrow IntelliSense feature has been moved from experimental to advanced, and is now enabled by default. Функции расширения областей и приоритета расширения в редакторе также были перенесены из экспериментальных в расширенные.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.

  • Дальнейшая настройка поддерживается посредством файла CMakeSettings.json, который находится в одной папке с файлом CMakeLists.txt (рис. 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

  • Разработка классических приложений для Windows на C++: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. Обратите внимание, что в пользовательском интерфейсе установщика указаны неточные размеры установки для компонентов. Таким образом, общий размер занижен.Please note that the indicated installation sizes for the components listed in the installer UI are not accurate and underestimate the total size.

    • Чтобы успешно создавать проекты Win32 в рабочей нагрузке для разработки приложений на C++, необходимо установить набор средств и пакет SDK для Windows.To successfully create Win32 projects in the C++ desktop workload, you must install both a toolset and a Windows SDK. Для этого следует установить рекомендуемые (выбранные) компоненты "Набор средств VC++ 2017 v141 (x86, x64)" и "Пакет SDK Windows 10 (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.

  • Разработка приложений для Linux на C++:Linux Development with C++:

    • Популярное расширение, Visual C++ для разработки приложений Linux, теперь стало частью Visual Studio.The popular extension Visual C++ for Linux Development is now part of Visual Studio. В этой установке представлено все необходимое для разработки и отладки приложений C++, работающих в среде Linux.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++ (для iOS и Android):Mobile Development with C++ (Android and iOS):

    • Теперь в Visual Studio можно создавать мобильные приложения для Android и iOS и отлаживать их.You can now create and debug mobile apps using Visual Studio that can target Android and iOS.
  • Разработка с помощью универсальной платформы Windows:Universal Windows Platform development:

    • C++ поставляется как дополнительный компонент для рабочей нагрузки разработки с помощью универсальной платформы Windows.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 следует выбрать набор инструментов платформы v141 на страницах свойств проекта, если у вас не установлена среда Visual Studio 2015.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/C2Clang/C2 Platform Toolset

Набор инструментов Clang/C2, который поставляется с Visual Studio 2017, теперь поддерживает параметр /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.
  • Двоичные литералы и разделители цифровых групп обеспечивают представление двоичных чисел в машинном коде.Binary literals and digit group separators allow native representation of binary numbers. Это чрезвычайно удобно для битовых масок и перечислений флагов: &B1001_0011.This is super convenient for bitmasks and flags enumerations: &B1001_0011.

Дополнительные сведения об этих и других предлагаемых расширениях языка, следите за нашей разработкой языков в статьях о C# и Visual Basic на сайте 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

  • Перемещение объявлений переменных out внутрь с использованием новой функции C#7 (рис. 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

  • Упрощение проверок значений NULL и выражений Throw с помощью оператора объединения со значением NULL благодаря использованию новой функции C#7 (рис. 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) Использование выражения Throw с оператором объединения со значением NULL
Use throw expression with null-coalescing operator
(Figure 22) Use throw expression with null-coalescing operator

  • Перемещение типа в соответствующий файл: извлечение типа из одного файла и помещение его в другой файл с таким же именем по одному щелчку Ctrl+.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.
  • Добавьте отсутствующий параметр case в параметр C# или в операцию выбора Visual Basic.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] > Дополнительные параметры отбора > Suggest usings for types in reference assemblies" (Предлагать директивы using для типов из ссылочных сборок) или Suggest usings for types in NuGet packages (Предлагать директивы using для типов в пакетах NuGet).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

Взяв за основу поддержку EditorConfig в Visual Studio, при сотрудничестве с сообществом мы добавили параметры стиля кода .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. Все параметры стиля кода можно просмотреть в файле EDITORCONFIG репозитория Roslyn или в документации.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.
  • Используйте сопоставление шаблонов для проверок с приведением и проверок значений NULL.Use pattern-matching for 'cast' and 'null' checks.
  • Используйте явные имена кортежей.Use explicit tuple names.
  • Упростите проверку значений NULL, используя выражения throw, условные делегаты, выражения объединения и распространение значений 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

Улучшения в технологии IntelliSenseIntelliSense 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.
  • Мы проделали значительную работу, чтобы повысить скорость реагирования интегрированной среды разработки при наличии фоновых операций, которые вычисляют сведения о диагностике и CodeLens.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.1Support for F# 4.1 Language Features

  • Кортежи структур, взаимодействующие с кортежами C# 7/VB 15.Struct Tuples which interop with C# 7/VB 15 Tuples.
  • Возвраты Byref, поддерживающие потребление возвратов ссылок C# 7.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.
  • Новый тип Result<'TSuccess, 'TFailure> с вспомогательными функциями в FSharp.Core. Автор: Оскар Гевалли (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 Atkinson) и Ави Авни (Avi Avni).Caller Info Attribute Arguments (by Lincoln Atkinson and Avi Avni).
  • Взаимно ссылочные типы и модули в одном и том же файле через namespace rec и module rec.Mutually Referential Types and Modules within the same file via namespace rec and module rec.
  • Неявный суффикс Module в модулях, совместно использующих одно и то же имя как тип.Implicit "Module" suffix on modules which share the same name as a type.

Усовершенствования компилятора F#  и FSharp.CoreImprovements to the F#  Compiler and FSharp.Core

(многие из них выполнены сообществом F#)(Many done by the F# community)

Новый редактор на основе рабочих областей RoslynA 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

Мы хотим поблагодарить все сообщество F# за тестовые сборки инструментов F# в Visual Studio 2017, выявление и описание ошибок, обсуждения и реализацию исправлений и функций.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. Успешная реализация F# в Visual Studio 2017 была бы невозможна без сообщества 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 доступен в рамках всех проектов TypeScript в Visual Studio.TypeScript 2.1 is available for all TypeScript projects in Visual Studio. TypeScript 2.1 обеспечивает асинхронность и ожидание низкого уровня, улучшенный вывод локального типа, локальное расширение объектов и многое другое!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.

Служба языка JavaScriptJavaScript Language Service

Доступна новая языковая служба JavaScript (рис. 25), которая включена по умолчанию.A new JavaScript language service (Figure 25) is available and enabled by default. Новая служба обеспечивает улучшение работы IntelliSense. В ней добавлена поддержка IntelliSense в заметках к комментариям JSDoc, ES6 и форматов модулей Common JS.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. Дополнительные сведения см. в этой записи блога или в документации по IntelliSense для JavaScript на GitHub.For more information, see this blog post or the JavaScript IntelliSense documentation on GitHub.

Rich JavaScript IntelliSense for jQuery

(рис. 25) Широкие возможности IntelliSense для jQuery
Rich JavaScript IntelliSense for jQuery
(Figure 25) Rich JavaScript IntelliSense for jQuery

Улучшения производительностиPerformance Improvements

В этом выпуске сделан упор на повышение производительности.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. При работе с крупными проектами JavaScript процесс Visual Studio будет потреблять меньше памяти, а сбои из-за недостатка памяти будут происходить реже.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

Просто щелкните значок рядом со строкой кода во время отладки, чтобы выполнить код до этой строки (рис. 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. Теперь, когда вы останавливаетесь в состоянии останова в отладчике, значок "Выполнение до щелкнутого" аккуратно отображается рядом со строкой кода, на которую наведена мышь.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. Его можно включить, выбрав "Отладка > Параметры > Enable Run To Click" (Включить выполнение до щелкнутого).Turn it off from Debug> Options > Enable Run to Click.

Run to Click Icon

(рис. 26) Значок "Выполнение до щелкнутого"
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. Отладчик будет повторно подключаться к процессам, сначала пытаясь сопоставить идентификатор предыдущего процесса, а затем путем сопоставления с именем предыдущего процесса.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.

События IntelliTrace для .NET CoreIntelliTrace Events for .NET Core

IntelliTrace теперь поддерживает события MVC, ADO.NET и HttpClient для приложений ASP.NET Core.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. Средства "Загрузка ЦП" и "Использование GPU", а также мастер производительности теперь поддерживают присоединение к выполняющемуся процессу.The CPU Usage tool, GPU Usage tool, and Performance Wizard now support attaching to a running process.

Обновления средств использования ЦПCPU Usage Tool Updates

В средстве использования ЦП реализовано несколько улучшений.Several improvements have been made to the CPU Usage Tool:

  • Улучшенная поддержка внешнего кода: средство использования ЦП теперь предоставляет больше сведений о "затратах" на вызов функций библиотеки и платформы из пользовательского кода.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), которое ранжирует функции по "затратам" на использование ЦП.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

  • Представление "Исходный код", в котором отображается исходный код функции, которая выбрана в средстве использования ЦП.Source View shows a function's source code when the function is selected in the CPU Tool.

Поддержка отладки ChromeChrome Debugging Support

Если запустить отладку проектов ASP.NET и выбрать Google Chrome в качестве браузера, Visual Studio выполнит отладку JavaScript, запущенного в Chrome.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, которая позволяет визуализировать результаты модульного теста и объем протестированного кода в редакторе.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. В проектах C# и Visual Basic для .NET Framework она поддерживает MSTest, Nunit и xUnit.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

и укажите идентификатор тестового случая, чтобы создать ассоциацию (рис. 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 Team Explorer

Новые возможности GitNew Git Features

Мы добавили новые возможности Git в Visual Studio 2017, позволяющие выполнить большую часть сквозного рабочего процесса, не выходя из интегрированной среды разработки.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, принимаем во внимание ваши параметры конфигурации и отображаем в Team Explorer только то, что доступно в командной строке.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 и Team Foundation ServerConnect to VSTS/TFS

Процесс подключения к проектам и клонирования репозиториев в VSTS и Team Foundation Server на начальной странице Visual Studio и в Team Explorer персонализирован и упрощен. Поиск проектов и репозиториев, к которым следует подключиться, стал быстрее и проще.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 и Team Foundation Server (а не каждый репозиторий для каждого проекта).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 появляется модернизированный пользовательский интерфейс.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. Дополнительные сведения см. в разделе Connect to Team Projects (Подключение к командным проектам).For more information, see Connect to Team Projects.

Формы рабочих элементовWork Item Forms

Когда вы подключаетесь к Visual Studio Team Services из Visual Studio 2017 и открываете рабочий элемент, в веб-браузере открывается форма рабочего элемента (рис. 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) Форма рабочего элемента в Team Explorer
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. После установки обновления в 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.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. Эти улучшения являются результатом обработки большого объема информации, полученной от вас, и обеспечивают двустороннюю связь между вами и нашими командами разработчиков.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 вплоть до Visual Studio 2012.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) Установщик VSIX
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

Поддержка NgenNgen 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 — приложение для передачи Ngen с помощью параметра /ExeConfig.Ngen Application - The application to pass into Ngen via the /ExeConfig switch.
  • Архитектура Ngen — целевая архитектура для образа в машинном коде.Ngen Architecture - The target architecture for the native image. Параметры: x86, x64 и all.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. Параметры: "Default" (установка в каталоге расширений), "PublicAssemblies", "ReferenceAssemblies", "MSBuild", "Schemas", "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). Он отслеживает установленные расширения и позволяет добавлять их в список перемещаемых.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
The new Roaming Extension Manager in the Visual Studio IDE
(Figure 44) The new Roaming Extension Manager in the Visual Studio IDE

При использовании этой возможности вы увидите три типа значков.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. Расширения можно добавить в список перемещаемых расширений с помощью кнопки "Начать перемещение".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! Любое расширение, скачанное после того, как вы выполнили вход в систему, будет добавлено в список перемещаемых как перемещаемое и установленное, а значит, будет доступно на любом компьютере.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, при наличии шаблонов Visual Studio, выпущенных в составе пакета MSI, для них необходимо вручную создать файлы манифеста шаблонов.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 Обновление настраиваемых шаблонов проектов и элементов для 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

Окончательный выпуск средств .NET Core 1.0 на базе MSBuild.This contains the 1.0 final release of the new MSBuild based .NET Core Tools. С помощью Visual Studio 2017 можно создать библиотеки .NET Standard, приложения и библиотеки .NET Core и веб-проекты ASP.NET, использующие новый формат CSPROJ.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.

В рабочей нагрузке "ASP.NET и разработка веб-приложений" инструментарий .NET Core является автоматически включенным компонентом, а в рабочей нагрузке "Разработка классических приложений .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 и ASP.NET Core, используя рабочую нагрузку "Кроссплатформенная разработка .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:

  • Поддержка MSBuild для проектов .NET Core с упрощенным форматом проекта 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.
  • Простое изменение CSPROJ-файла .NET Core: щелкните проект правой кнопкой мыши в обозревателе решений и выберите пункт "Изменить".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-файла, что позволяет объединить все ссылки на проект в одном файле.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.
  • Ориентация на несколько целевых платформ в одном проекте.Cross-target multiple target frameworks in one project.
  • При открытии в Visual Studio имеющиеся проекты .NET Core файла project.json будут автоматически перенесены в CSPROJ-файл. Их также можно перенести вручную с помощью интерфейса командной строки .NET..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).
  • Простая настройка непрерывной интеграции сборки для вашего приложения ASP.NET Core с поддержкой Docker и непрерывной доставки сборки в службы контейнеров Azure из интегрированной среды разработки Visual Studio.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 NativeUpdated .NET Native Toolchain

Эта обновленная цепочка инструментов .NET Native включает несколько оптимизаций для повышения производительности во время выполнения для управляемых приложений UWP в Visual Studio.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.

Пакет Microsoft.NETCore.UniversalWindowsPlatform 5.3.05.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 Native.In addition, the new .NET Core package includes the .NET Native toolchain.

Пакет SDK для юбилейного обновления Windows 10 и эмуляторWindows 10 Anniversary Update SDK and Emulator

В этот выпуск включены пакет Windows SDK и эмулятор Windows Phone для юбилейного обновления Windows 10.The Windows SDK and Windows Phone emulator for the Windows 10 Anniversary Update are included in this release.

  • Элементы пользовательского интерфейса, созданные из панели элементов, теперь будут создаваться с меньшим числом XAML-тегов, что сделает код XAML более чистым и читабельным.UI Elements created from the Toolbox will now be created with fewer XAML Tags, resulting in cleaner, more readable XAML.
  • Новый инструмент для работы с параметрами в конструкторе XAML позволяет разработчику выбирать тему пользовательского интерфейса и выполнять предпросмотр настроек высокой контрастности в области конструктора.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. Теперь можно использовать одно исходное изображение для создания плиток, логотипов, значков и экранов-заставок в любых масштабах и для любых типов устройств, для которых предназначено ваше приложение.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 Analysis

Теперь инструментарий универсальной платформы Windows может обнаруживать некоторые распространенные проблемы, связанные с доступностью и производительностью.The Universal Windows platform tooling now has the ability to detect common accessibility and performance related issues. После включения инструмента "Анализ пользовательского интерфейса" в меню "Выбор инструментов" окна "Средства диагностики" об этих проблемах будет сообщено. Также будут представлены ссылки на полезные статьи, поясняющие, как и почему эти проблемы следует решить.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. При разработке приложения с включенным анализом пользовательского интерфейса производительность и доступность пользовательского интерфейса становится приоритетной задачей.Developing with UI Analysis enabled brings UI performance and accessibility to the forefront of your application development.


Xamarin Xamarin

Версия Xamarin 4.4 включена в Visual Studio 2017.Xamarin 4.4 is included in Visual Studio 2017. Дополнительные сведения см. в заметках о выпуске Xamarin.For more information, see the Xamarin release notes.

Xamarin для 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 Extension выполняется с ошибкой «невозможно прочитать данные Entitlements» (4.4.0.31).iOS Extension apps fail to build with error "cannot read Entitlements data".(4.4.0.31)
  • Включает символы для отчетов «Доктор Ватсон» (4.4.0.6).Includes symbols for Watson reports.(4.4.0.6)
  • Развертывание Android завершается сбоем, если решение также содержит проект Wix (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)
  • Точки останова не срабатывают на ссылках PCL второго уровня (4.3.1.39).Breakpoints won't hit on second-level PCL references.(4.3.1.39)
  • Устраняет проблему iOS из-за отсутствующей задачи CodeSignNativeLibraries (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)
  • Visual Studio зависает при переходе на вкладку «Средства->Параметры-> Xamarin->Остальное» (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)
  • На Microsoft.Csharp нет ссылок в шаблонах проектов VS (4.3.1.1).Microsoft.Csharp not referenced in VS Project Templates.(4.3.1.1)
  • Невозможно подключиться к серверу Mac, если настроенная оболочка пользователя не использует синтаксис bash (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)
  • Папка «Ресурсы» принудительно скрыта в проектах расширений просмотра (4.3.1.1).The 'Resources' folder is being forcibly hidden in watch extension projects.(4.3.1.1)
  • Невозможно скрыть папку «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 для 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). Включение в Visual Studio динамической перезагрузки и симуляции подключаемого модуля, а также поддержки платформы Ionic обеспечивает самый быстрый рабочий процесс разработки на рынке.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 — обновление агента сервера remotebuild для разработки в iOS теперь включает поддержку 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. Для сборки и развертывания в Visual Studio 2017 проектов, предназначенных для версий Cordova ниже 6.0.0, их потребуется обновить в файле 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 для Visual Studio Node.js Tools for Visual Studio

Инструменты Node.js превращают 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 Language Service.Better integration with the new Salsa JavaScript language service.
  • Пониженный уровень использования памяти и ЦП и сокращенное время загрузки проекта.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 для Visual Studio.Thank you to all the amazing contributors who made this release of Node.js Tools for Visual Studio possible. Для получения дополнительной информации ознакомьтесь с проектом инструментов Node.js с открытым исходным кодом на сайте GitHub.For more information, check out the open source Node.js Tools project on GitHub.


Набор средств Visual Studio для Unity Visual Studio Tools for Unity

Используйте Visual Studio для создания и отладки игр Unity для всех платформ.Use Visual Studio to write and debug Unity games for all platforms. Инструменты Visual Studio для Unity 3 (рис. 49) теперь можно установить вместе с рабочей нагрузкой "Разработка игр с помощью Unity" в новом установщике Visual Studio 2017.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 для 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

Инструменты данных Redgate теперь включены в Visual Studio.Redgate Data Tools Included with Visual Studio

Для разработки баз данных SQL с помощью DevOps в Visual Studio 2017 включены инструменты Redgate Data Tools, которые включают Redgate SQL Prompt Core, Redgate SQL Search и Redgate ReadyRoll Core (они доступны в рабочей нагрузке "Хранение и обработка данных").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.
  • Redgate SQL Prompt Core в составе Visual Studio Enterprise 2017 помогает повысить точность и скорость написания 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, входящий в состав всех выпусков 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 версии 4.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

Операция "Изменить и продолжить" XAMLXAML Edit & Continue

Теперь Visual Studio позволяет редактировать XAML во время работы универсального приложения для Windows или WPF.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.

Повышение производительности редактора XAMLXAML 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.
  • IntelliSense для x:Bind — мы включили режим завершения 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_without
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

  • Удаление и сортировка пространств имен — теперь можно удалить ненужные пространства имен (рис. 52) и отсортировать их с помощью контекстного меню или сочетания клавиш Ctrl+R+G.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 для ненужного пространства имен
Lightbulb_remove unnecessary namespace
(Figure 52) lightbulb_remove unnecessary namespace

  • Поддержка EDITORCONFIG в редакторе XAML — вы можете определить параметры для indent_style, indent_size и tab_width в EDITORCONFIG-файле, которые будут использоваться вместо параметров, заданных в разделе Сервис > Параметры..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

Повышение производительности XAMLXAML Performance Improvements

  • Скорость переключения между вкладками 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.

SQL Server Data Tools Data Tools and SQL Server

SQL Server Data ToolsSQL Server Data Tools

Visual Studio 2017 включает в себя последние обновления SQL Server Data Tools, обеспечивающие поддержку последних функций базы данных SQL Azure и 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.

Этот выпуск сочетает простоту разработки, тестирования и развертывания базы данных с помощью Visual Studio на всех поддерживаемых версиях SQL Server и платформах баз данных, как локальных, так и облачных.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 в SQL Server Data Tools — теперь базы данных SQL Server и базы данных SQL Azure обнаруживаются автоматически и к ним можно подключиться одним щелчком мыши.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 используются новые типы проверки подлинности базы данных SQL Azure, а также встроенная проверка подлинности 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

Visual Studio 2017 включает в себя средства анализа для разработчиков версии 8.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 для ссылок исключений на аналитику приложений, чтобы продемонстрировать пользователям влияние исключения.CodeLens for exceptions links to Application Analytics to show user impact of an exception.
  • CodeLens показывает запросы из сеансов локальной отладки для проектов с пакетом SDK Application Insights.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.
  • После публикации приложения из 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 показывает исключения, возникшие во время сеансов локальной отладки для проектов с пакетом SDK Application Insights.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 для исключений теперь имеет ссылку на аналитику приложений, чтобы можно было увидеть влияние, которое исключение оказало на пользователей.CodeLens for exceptions now has a link to Application Analytics to see the impact an exception has had on users.
  • Теперь при добавлении Application Insights в проект добавляется пакет SDK JavaScript для Application Insights для сбора данных телеметрии о просмотрах страниц.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.
  • Теперь для красных и желтых индикаторов CodeLens Application Insights отображаются метки полосы прокрутки.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 для 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:

  • Новые шаблоны надстроек Office для Excel, Word, PowerPoint и Outlook.New Office Add-in templates specific to Excel, Word, PowerPoint, and Outlook.
  • Поддержка новых функций надстроек Office, таких как команды надстроек, пользовательский интерфейс Fabric и новая версия Office.js.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 2016 в решениях и шаблонах надстроек SharePoint.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:
    • Чтобы получить дополнительные сведения, в командной строке вызовите common7\tools\vsdevcmd.bat -help (из каталога установки Visual Studio).In a command prompt, call common7\tools\vsdevcmd.bat -help (from the Visual Studio installation directory) for details.

Azure SDK для .NET Azure SDK for .NET

Azure SDK для .NET Visual Studio теперь можно установить через новый установщик Visual Studio.The Azure SDK for .NET Visual Studio is now available to be installed with the new Visual Studio installer. Если вы ранее установили пакет Azure SDK для .NET через установщик веб-платформы, теперь те же компоненты можно получить, установив рабочую нагрузку Azure с использованием нового установщика Visual Studio.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. Установленные пакеты находятся на одном функциональном уровне с версией 2.9.5 пакета SDK.The packages that are installed are at the same feature level as the 2.9.5 version of the SDK. Для этой и всех будущих версий Visual Studio пакет Azure SDK для .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 2017Visual Studio 2017 Release Notes History

Заметки о выпуске Visual Studio 2017 PreviewVisual 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 2017Visual 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.4Visual 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.3Visual 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.2Visual 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.1Visual 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