Заметки о выпуске Visual Studio 2017 (версия 15.0)

Last Update: 22.05.2017

Примечание. Этот выпуск не является последней версией Visual Studio 2017. Чтобы скачать последний выпуск, посетите страницу заметок о текущем выпуске для Visual Studio 2017 или откройте страницу Загрузки.

В этой статье содержатся сведения о выпусках Visual Studio 2017 (версия 15.0).

Отзывы

Мы будем рады узнать ваше мнение! Вы можете сообщить о проблемах, щелкнув пункт Сообщить о проблеме в установщике или непосредственно в интегрированной среде разработки Visual Studio. Он находится в правом верхнем углу окна. Отслеживать свои отзывы можно на портале сообщества разработчиков. Свои предложения отправляйте через сайт UserVoice.


Дата выпуска: 31 марта 2017 г. — сборка 15.0 (26228.12)

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

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

Дата выпуска: 28 марта 2017 г. — версия 15.0 (26228.10)

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

Эти проблемы, о которых сообщили клиенты, исправлены в сборке 26228.10.


Дата выпуска: 14 марта 2017 г. — версия 15.0 (26228.09)

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

Эти проблемы, о которых сообщили клиенты, исправлены в сборке 26228.09:


Дата выпуска: 7 марта 2017 г. — версия 15.0 (26228.04)

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

Разработка: быстрая навигация, написание и исправление кода

  • Новые возможности установки — уменьшено минимальное занимаемое место для ускоренной установки с расширенными возможностями настройки, а также добавлена поддержка автономных установок.
  • Интегрированная среда разработки Visual Studio обеспечивает множество усовершенствований в Visual Studio 2017, включая ускоренный запуск и загрузку решения, улучшения входа и удостоверений, улучшенную навигацию по коду, представление открытых папок и подключенные службы, позволяют устанавливать подключение между приложением и любой локальной или облачной службой.
  • Критические изменения в Visual C++ в версиях 2015–2017 отсутствуют. Улучшенный уровень согласованности C++14, поддержка CMake, ускоренная сборка и производительность в редакторе.
  • C# и Visual Basic — расширена поддержка возможностей языка C# 7.0 и Visual Basic 15, а также добавлены новые процедуры рефакторинга, позволяющие организовать исходный код одним действием.
  • Поддержка F# для возможностей языка F# 4.1, усовершенствования компилятора F# и FSharp.Core, а также новый редактор на базе Roslyn Workspaces.
  • JavaScript и TypeScript — TypeScript 2.1 доступен для всех проектов TypeScript в Visual Studio. Доступна новая языковая служба JavaScript, которая включена по умолчанию.

Отладка: легкая отладка, профилирование и диагностика кода

  • Отладка и диагностика — пересмотрен помощник по исправлению ошибок и ускорена навигация по коду с помощью функции Run to Click. Кроме того, появилась новая сводка событий приложений в окне средств диагностики и внесено несколько улучшений в средство ЦП.

Тестирование: комплексные инструменты тестирования помогают писать высококачественный код

  • Динамическое модульное тестирование теперь позволяет взуализировать результаты модульного тестирования и объема протестированного кода прямо в редакторе.
  • Средства тестирования обеспечивают связь автоматизации с рабочими элементами тестового случая с помощью обозревателя тестов.

Совместная работа. Система управления версиями делает разработку гибкой, а совместную работу — эффективной.

  • Новые функции Git в Team Explorer и обновление возможностей подключения обеспечивают эффективность работы с Git в Visual Studio 2017 и позволяют легко находить проекты и репозитории, к которым необходимо подключиться.
  • Улучшенный рабочий процесс отправки отзывов о Visual Studio теперь предлагает более удобный для совместной работы процесс создания отчета о проблеме. Выполняйте поиск, подписывайтесь и голосуйте для получения последних обновлений по всем отзывам.

Расширение. Разработка собственных расширений для настройки в соответствии со своими потребностями.

  • Расширения Visual Studio. Разрабатывайте собственные расширения, чтобы настроить Visual Studio под себя.
  • Возможности обнаружения шаблонов проектов и элементов. Полностью изменен способ потребления шаблонов проектов и элементов средой Visual Studio, чтобы повысить производительность обнаружения шаблонов.

Инструменты: используйте средства повышения производительности и исследуйте новые возможности.

  • .NET Core и ASP.NET Core. Окончательный выпуск средств .NET Core 1.0 на базе MSBuild. С помощью Visual Studio 2017 можно создать библиотеки .NET Standard, приложения и библиотеки .NET Core и веб-проекты ASP.NET, использующие новый формат CSPROJ.
  • Средства для разработки универсальных приложений Windows. Сюда входят обновления для цепочки инструментов .NET Native, платформа NuGet для .NET Core, новые средства для повышения производительности и поддержка пакета SDK для обновления Windows 10 для дизайнеров.
  • Xamarin. В Xamarin 4.3 добавлена поддержка tvOS, улучшена поддержка каталога ресурсов iOS и возможности редактирования XML.
  • Инструменты Visual Studio для Apache Cordova. Новый симулятор на базе браузера позволяет быстро писать код и сразу же просматривать результаты.
  • Инструменты Node.js для Visual Studio. Упор сделан на стабильность, производительность и качество продукта.
  • Инструменты Visual Studio для Unity. Инструменты Visual Studio для Unity 3 теперь доступны вместе с рабочей нагрузкой "Разработка игр с помощью Unity" в новом установщике Visual Studio.
  • Redgate Data Tools. Для разработки баз данных SQL с помощью DevOps в Visual Studio включены инструменты Redgate Data Tools, которые включают Redgate ReadyRoll Core, SQL Search и SQL Prompt Core.
  • NuGet. Теперь NuGet поддерживает хранение сведений о зависимостях пакета непосредственно в файлах проекта в качестве ссылок на пакет, а также возможности переходных ссылок на пакет.
  • Средства для приложений XAML. Панель инструментов среды выполнения XAML теперь позволяет отслеживать фокус. Производительность XAML улучшена за счет операции "Изменить и продолжить" XAML, усовершенствований редактора XAML и оптимизации производительности.
  • SQL Server Data Tools. Последняя версия SQL Server Data Tools обеспечивает поддержку новых функций базы данных SQL Azure и SQL Server 2016.
  • Средства анализа для разработчиков. Visual Studio 2017 включает в себя средства анализа для разработчиков версии 8.6 с множеством улучшений функций Application Insights и HockeyApp в Visual Studio.
  • Инструменты разработчика Office для Visual Studio. В состав входят инструменты разработчика Office с последними функциями и обновлениями.
  • Динамическая проверка зависимостей архитектуры. Уведомления в реальном времени для схем проверки зависимостей (которые также называются схемами слоев).
  • Командная строка разработчика. Оптимизация скриптов для поддержки нового процесса установки.
  • Пакет Azure SDK для .NET. Теперь этот пакет доступен в новом установщике Visual Studio.

Новые возможности этой версии

Возможности установки

Мы рады представить наш новый установщик, который был разработан с нуля для решения следующих задач:

  • сокращение места, занимаемого Visual Studio;
  • более быстрая установка с меньшим влиянием на систему и полное удаление;
  • удобство выбора и возможность установки необходимых компонентов.

При первой установке Visual Studio 2017 вы увидите внесенные изменения (рис. 1).

(рис. 1) Новые возможности установки Visual Studio 2017

Минимальная установка занимает всего несколько сотен мегабайт, но по-прежнему обеспечивает набор базовых инструментов для редактирования кода более чем на 20 языках, а также управление исходным кодом. Большинству пользователей потребуется выполнить установку, которая занимает больше места. Вы можете добавить одну или несколько рабочих нагрузок, которые представляют распространенные платформы и языки — от разработки классических приложений для .NET до разработки игр на Unity.

Обновление Visual Studio

Чтобы обновить Visual Studio, запустите установщик Visual Studio и нажмите кнопку "Обновить".

Отзывы о новом установщике

Сообщить о проблемах или выразить благодарность можно с помощью команд Сообщить о проблеме и Отправить предложение в новом клиенте установщика, которые находятся в правом верхнем углу строки меню. Мы хотим знать, возникают ли ошибки при установке, удалении или изменении установки, а также о нестандартном времени установки (например, зависаниях) или сообщениях о неожиданных ошибках.

Создание макета для автономной установки и поддержка новой установки с помощью командной строки

Системные администраторы и другие пользователи теперь могут создавать автономный макет Visual Studio, который содержит все необходимое для установки продукта без доступа к Интернету. Этот макет может быть полной версией продукта, подмножеством рабочих нагрузок и/или компонентов, а также одним или несколькими языковыми стандартами продукта. Обратите внимание, что для создания автономного макета требуется доступ к Интернету. Дополнительные сведения см. в статье Create an offline installation of Visual Studio 2017 (Создание автономной установки Visual Studio 2017).

Псевдоним установки

Visual Studio Enterprise и Community (вместе с другими продуктами) теперь можно установить параллельно на одном компьютере. Чтобы упростить идентификацию этих установок, можно указать короткое имя или "псевдоним". Например, если вы сначала установили Visual Studio Enterprise, а затем Visual Studio Community, в меню "Пуск" оба этих продукта будут иметь одинаковое название. Второму продукту можно присвоить псевдоним, например "community", после чего пункты меню "Пуск" будут отображаться с такими именами, как "Visual Studio 2017 (community)" и "Командная строка разработчика для Visual Studio 2017 (community)".


Интегрированная среда разработки Visual Studio

Усовершенствования IDE

  • Visual Studio была оптимизирована для сокращения времени запуска и загрузки решения. Первый запуск Visual Studio происходит по меньшей мере на 50 % быстрее.
  • Visual Studio теперь осуществляет мониторинг производительности расширений, которые влияют на запуск, загрузку решения и редактирование. На панели уведомлений в среде IDE будут отображаться оповещения о плохо работающих расширениях. Новый центр производительности (также доступный в разделе "Справка > Управление производительностью Visual Studio") позволяет не только просматривать влияющие на производительность расширения, но и находить окна средств, которые влияют на производительность при запуске, и изменять их поведение при загрузке.
  • Расширение GitHub для Visual Studio можно выбрать в новом установщике Visual Studio.
  • Для повышения производительности при переключении ветвей, не входящих в Visual Studio, команда Reload All Projects (Перезагрузить все проекты) заменена на "Перезагрузить решение". Для максимального повышения производительности при переключении ветвей через командную строку Git после переключения ветки выберите команду "Перезагрузить решение".
  • Улучшены возможности подстановки файлов для проектов ASP.NET Core и .NET Core. Дополнительные сведения см. в разделе о подстановке файлов проекта.
  • Теперь после клонирования вы автоматически переходите к представлению папки репозитория. Вы можете просмотреть файлы или открыть решения с помощью нового списка выбора решения в обозревателе решений.
  • Добавлен новый узел внешней службы, который заменит VSHub. Он представляет собой внешний процесс и отображается в диспетчере задач как ServiceHub.Host.CLR.*.exe, а также ServiceHub.Host.Node.x86.exe. Этот узел в конечном итоге устранит HTTP-трафик локального узла, который возник с появлением VSHub. Это должно снизить шум, о котором сообщают пользователи Fiddler.
  • В сообщениях об истечении срока действия лицензии на предварительную версию более четко отражается текущее состояние лицензии.
  • Теперь диалоговое окно "Параметры учетной записи" стало более удобным при использовании средств чтения с экрана.
  • Теперь можно использовать автономную справку, установив компонент окна справки в установщике Visual Studio.
  • Теперь вы можете добавить или удалить несколько языков пользовательского интерфейса в любое время с помощью установщика Visual Studio на вкладке "Языковые пакеты". Выбрать текущий язык пользовательского интерфейса из набора установленных языков можно в разделе "Сервис" > "Параметры" > "Выбор языка".
  • Строка состояния системы управления версиями упрощает публикацию локальных репозиториев на узле SCC и отслеживание незафиксированной (рис. 2)и неотправленной (рис. 3) работы.

Version Control - Unpublished commits example

(рис. 2) Управление версиями — пример "Неопубликованные фиксации"

Version Control - No pending changes example

(рис. 3) Управление версиями — пример "Нет ожидающих изменений"

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

Представлена новая служба идентификации, позволяющая использовать одни и те же учетные записи пользователя в разных средствах Майкрософт для разработчиков. В среде Visual Studio этим охватываются Team Explorer, Azure Tools, публикация в Магазине Windows и многое другое. Теперь для всех этих компонентов действует единая система входа.

Помимо усовершенствований в Visual Studio мы завершили развертывание некоторых улучшений на стороне службы, которые позволяют пользователям безопасно оставаться в системе после входа, не выполняя принудительный вход каждые 12 часов. Это решает проблему с входом в систему, на которую поступало больше всего жалоб. Подробности об уменьшении числа запросов со стороны Visual Studio.

Начальная страница

Начальная страница была переработана, на нее добавлены новые возможности открытия и создания элементов:

  • получите удаленные репозитории из VSTS или используйте наше более показательное меню последних выбранных файлов, чтобы легко открывать локальные проекты и решения;
  • В списке последних выбиравшихся файлов на начальной странице отображаются репозитории, которые вы клонировали на других компьютерах, так что их легко клонировать на текущий компьютер.
  • создайте проект непосредственно с начальной страницы с помощью шаблонов, поддерживающих поиск, и списка недавно используемых шаблонов; Недавно использовавшиеся шаблоны также передаются между экземплярами Visual Studio с помощью персонализированной учетной записи.
  • Быстрый запуск нового клона из VSTS командой Checkout from VSTS (Извлечь из VSTS) на начальной странице.
  • Раздел "Начало работы", который можно скрыть.
  • Раздел "Новости" теперь можно свернуть.
    • Обновленный значок на добавленных элементах в канале новостей.
    • Отображение значка на расширителе канала новостей (свернутого) при появлении новых элементов.
  • Улучшенный дизайн, устраняющий проблему с усечением элементов на небольших экранах и оптимизирующий использование пустого пространства.

Новая начальная страница показана ниже (рис.4).

Start Page with Get Started and News

(рис. 4) Начальная страница с разделами "Начало работы" и "Новости"

Улучшенная навигация по коду

В Visual Studio 2017 мы существенно усовершенствовали навигацию по коду.

  • Команда "Перейти к..." (CTRL+ или CTRL+T) позволяет быстро находить файлы, типы, методы и другие элементы в коде и переходить к ним. С ее помощью можно найти любой элемент даже в крупных базах кода. Более того, если вы знаете, какой элемент вам нужен, вы легко сможете отфильтровать код. В C#, Visual Basic и F# добавлена возможность "нечеткого" сопоставления. Таким образом, сделав опечатку в имени типа, вы все равно сможете его найти. Мы также улучшили функцию перехода к строке (CTRL+G). Группа команд перехода находится вверху меню "Правка" (рис. 5) и (рис. 6).

Go To Results Filtered

(рис. 5) Переход к отфильтрованным результатам

Go To Line

(рис. 6) Переход к строке

  • Полностью переработана команда "Найти все ссылки" (SHIFT+F12) (сейчас доступна для C#, Visual Basic, F# и С++). Теперь эта команда позволяет группировать, фильтровать, сортировать ссылки, выполнять поиск по ссылкам и выделять результаты цветом (для C# и Visual Basic). С ее помощью вы сможете четко понять структуру ссылок и уверенно перейти к нужной строке кода. При наведении указателя мыши на элемент ссылки отображается подсказка с контекстом ссылки в исходном коде (для C# и VB). Если включить кнопку "Сохранить результаты" на панели инструментов, при следующем вызове функции "Найти все ссылки" результаты выводятся в новом окне. Это позволяет сохранить текущие результаты в открытом окне (рис. 7).

Find All References

(рис. 7) Найти все ссылки

  • В редакторе теперь отображаются направляющие структуры, что позволяет легко визуализировать структуру кода, с которым вы работаете. При наведении указателя мыши отображается подсказка (рис. 8) с контекстом текущего блока кода относительно его блоков-предков. Сейчас направляющие структуры поддерживаются для файлов C#, Visual Basic, F# и XAML, а также для всех файлов, поддерживаемых через грамматики TextMate. Эту функцию можно отключить в диалоговом окне "Сервис > Параметры", сняв флажок Показать направляющие структуры в категории Текстовый редактор > Общие.

Structure Guide Lines

(рис. 8) Направляющие структуры

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

Редактор Visual Studio теперь поддерживает EditorConfig, что позволяет разработчикам определять и соблюдать единые соглашения о стиле написания кода между разными редакторами и интегрированными средами разработки. Дополнительные сведения см. в документации. Дополнительные сведения об управлении стилем кода .NET с помощью EDITORCONFIG-файлов см. в документации по .NET. Известные ограничения для поддержки EditorConfig в этом выпуске см. в разделе об известных проблемах.

Открыть папку

Функция "Открыть папку" представляет удобный способ работы с базами кода без проектов и решений. Откройте представление папки, выбрав "Файл > Открыть > Папка", и выберите папку, в которую нужно перейти. Вы можете открывать и редактировать файлы с помощью обозревателя решений (рис. 9). Многие популярные языки имеют выделение синтаксических конструкций и поддержку символьной навигации (GoTo).

The new Open Folder feature in the Visual Studio IDE

(рис. 9) Новая функция "Открыть папку" в Visual Studio IDE

Кроме того, некоторые языки имеют расширенную поддержку IntelliSense и отладки непосредственно из папки:

  • C++ (CMake);
  • Node.js — JavaScript или TypeScript;
  • C# и VB.

Вы можете собирать и отлаживать приложения с помощью клавиши F5 и контекстного меню файла в обозревателе решений. Для достижения наилучших результатов обязательно установите рабочую нагрузку для используемых языков.

Представление папки также поддерживает следующие функции:

  • Поиск по коду в папке с помощью GoTo (CTRL+,).
  • Ограничение отображаемой информации в представлении папок обозревателя решений до вложенных папок.
  • Открытие папок в проводнике или командной строке из обозревателя решений.
  • Удобное переключение между решениями в открытой папке или репозитории при помощи раскрывающегося списка выбора решений.
  • Настройка параметров отладки и запуска с помощью launch.vs.json. Щелкните отлаживаемый файл правой кнопкой мыши и выберите "Параметры отладки и запуска".
  • Настройка задач и сборки с помощью tasks.vs.json. Щелкните любой файл правой кнопкой мыши и выберите "Configure Task Settings" (Настройка параметров задач).
  • Launch.vs.json и tasks.vs.json имеют IntelliSense в редакторе JSON.

Значительно повышена производительность при открытии папок и переключении между представлением папки и представлением решения.

Загрузка упрощенного решения

Загрузка упрощенного решения позволяет ускорить загрузку крупных решений. Для больших решений эта функция значительно улучшает время загрузки и использование памяти. Эта функция отключена по умолчанию и может быть включена как для отдельных решений, так и глобально — для всей интегрированной среды разработки. Чтобы включить ее глобально, щелкните "Сервис > Параметры" и в разделе "Проекты и решения" выберите элемент "Общие" (рис. 10) или выполните поиск строки "Загрузка упрощенного решения" с панели быстрого запуска. Для отдельные решений функцию можно включить и отключить в области "Свойства решения".

The new Lightweight Solution load feature in the Visual Studio IDE

(рис. 10) Новая функция загрузки упрощенного решения в интегрированной среде разработки Visual Studio

Загрузка упрощенного решения лучше всего подходит для больших решений, содержащих проекты C# или смесь из проектов C# и C++. Вам может быть предложено включить эту функцию, если будет обнаружено, что вы работаете с крупными решениями. Дополнительные сведения об этой функции см. в блоге по Visual Studio.

Производительность полных сборок решения значительно улучшена и теперь не уступает обычной нагрузке решения.

Поддержка цветовой разметки синтаксиса, автозаполнения, фрагментов кода и поиска с помощью команды "Перейти к" для расширения набора языков

Основываясь на поддержке, реализованной в Visual Studio 2015, в Visual Studio 2017 теперь поддерживается цветовая разметка синтаксических конструкций и автозаполнение для большего числа языков. Кроме того, некоторые из этих языков также поддерживают навигацию с помощью команды "Перейти к" (Ctrl+) и/или фрагментов кода.

Файлы для указанных ниже языков поддерживают эти функции в новом редакторе Visual Studio Core Editor, даже если не установлены рабочие нагрузки для явной поддержки этих языков. Если рабочая нагрузка, которая обеспечивает поддержку языка, установлена (например, рабочая нагрузка для разработки классических приложений на .NET, разработки классических приложений для Windows на C++ и т. д.), разработчикам может быть предоставлена более широкая поддержка в рамках конкретного языка, включая IntelliSense и другие дополнительные языковые возможности, например лампочки.

Типы языковых файлов, упорядоченные по уровню поддержки.

  • Поддерживают только окрашивание синтаксиса и автозаполнение:
    • 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.
  • Поддерживают фрагменты кода (в дополнение к окрашиванию синтаксиса и автозаполнению):
    • CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.
  • Поддерживают команду "Перейти к" (в дополнение к окрашиванию синтаксиса и автозаполнению):
    • C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.

Начало работы со страницами обзора проекта

Мы представили совершенно новые возможности начала работы для вновь создаваемых проектов. Мы заменили текущие страницы по началу работы на вкладку "Обзор" в нашем новом конструкторе конфигураций приложений и собрали на этой странице те действия, которые помогают быстрее приступить к работе. Эта функция была включена в проектах ASP.NET 4.x, ASP.NET Core и Cordova (рис. 11).

Project Overview

(рис. 11) Обзор проекта

Подключение к службам с помощью Подключенных служб

В предыдущем выпуске этот компонент назывался "Возможности службы". Мы изменили его имя на "Подключенные службы".

Подключенные службы — это обновленная версия функции "Добавить подключенную службу" или "Добавить ссылку на службу" в Visual Studio 2017. Функция Подключенных служб упрощает подключение приложения к службам. В обозревателе решений для мобильных и веб-проектов появился новый узел под названием "Подключенные службы". При двойном щелчке этого узла открывается новая вкладка полной страницы в Visual Studio, где можно просмотреть популярные службы Майкрософт, к которым вы можете подключиться.

При выборе службы на странице "Подключенные службы" (рис. 12) открывается мастер подключенных служб, который настраивает ваш проект и скачивает необходимые пакеты NuGet, чтобы вы могли начать процесс разработки для своей службы быстро и безболезненно.

Connected Services

(рис. 12) Подключенные службы

Приобретение инструментов и функций в продукте

Visual Studio 2017 позволяет легко получить дополнительные рабочие нагрузки, не выходя из интегрированной среды разработки (рис. 13). Используйте элемент "Быстрый запуск", чтобы найти и запустить установщик Visual Studio для любой рабочей нагрузки или отдельного компонента.

In-product acquisition via Quick Launch

(рис. 13) Получение в процессе разработки с помощью элемента "Быстрый запуск"

Если вам не удается найти нужные шаблоны, установщик Visual Studio можно также открыть из диалогового окна "Создание проекта" (рис. 14).

In-product acquisition via New Project Dialog

(рис. 14) Получение в процессе разработки с помощью элемента "Быстрый запуск"


Visual C++

В Visual Studio 2017 реализовано множество изменений и исправлений для среды Visual C++. Спасибо, что сообщаете нам об ошибках! Мы устранили более 250 ошибок и заявленных проблем в компиляторе и других инструментах. Информация о многих из этих ошибок поступила к нам от клиентов через Microsoft Connect. В этом выпуске мы работали над повышением производительности STL. По умолчанию теперь используется новое ядро СУБД на основе SQLite. Это позволяет ускорить операции базы данных, такие как переход к определению и поиск всех ссылок, а также значительно ускорить первоначальный анализ решения. Теперь предоставляется более точный контроль над процедурой установки исходной рабочей нагрузки C++. Мы добавили возможность выбора компонентов, чтобы вы могли устанавливать только необходимые инструменты. Поддержка CMake в Visual Studio готова к выходу! Загрузите свои проекты CMake непосредственно в VS и начинайте программировать. Функция "Открыть папку" C++ была улучшена. Теперь вы можете перенести исходный код в VS. Для этого не нужно создавать какие-либо решения и проекты VS. Теперь "Перейти к" является общим термином для набора новых фильтров навигации. Это позволит упростить поиск нужных результатов, особенно в больших базах кода.

Анализ кода C++

Средства проверки на соответствие кода C++ проверенным рекомендациям (C++ Core Checker) теперь распространяются вместе с Visual Studio. Просто включите средства проверки в диалоговом окне Code Analysis Extensions (Расширения анализа кода) на страницах свойств проекта (рис. 15), и расширения будут включены при выполнении анализа кода.

CppCoreCheck properties page

(рис. 15) Страница свойств CppCoreCheck

Компилятор C++

Мы обновили компилятор C++ и стандартную библиотеку, добавив расширенную поддержку функций C++11 и C++14, а также предварительную поддержку некоторых функций, которые должны появиться в стандарте C++17. Благодаря поддержке обобщенного constexpr и NSDMI для статистических выражений компилятор готов к использованию функций, добавленных в стандарте C++14. Обратите внимание, что в компиляторе по-прежнему отсутствует несколько функций из стандартов C++11 и C++98. В Visual Studio 2017 можно использовать /sdl с /await. Мы удалили ограничение /rtc для соподпрограмм.

В этом выпуске представлено несколько улучшений в области оптимизации и создания кода. К важным улучшениям можно отнести следующие:

  • Улучшенное создание кода циклов: поддержка автоматической векторизации деления целочисленных констант, улучшенное распознавание последовательностей memset.
  • Повышенная защищенность кода: улучшенное создание диагностики компилятора при переполнении буфера. Параметр /guard:cf теперь обеспечивает защиту операторов switch, которые создают таблицы переходов.
  • Параметр /debug:fastlink улучшен, чтобы на 30 % ускорить компоновку крупных компонентов в сравнении с компоновкой в Visual Studio 2015.
  • При использовании совместных подпрограмм экспериментальное ключевое слово yield (в параметре /await) удалено. Обновите код, чтобы использовать co_yield. Дополнительные сведения см. в блоге команды разработчиков Visual C++.

Библиотеки C++

  • [STL] Повышение производительности basic_string.
  • [STL] Добавлены <any>, <string_view>, apply(), make_from_tuple().
  • [STL] std::vector был переработан для обеспечения правильной работы и производительности.
  • [STL] STL теперь избегает разыменования пустых (NULL) указателей.
  • [STL] Добавлены <optional>, <variant>, shared_ptr::weak_type и <cstdalign>.
  • [STL] Включен C++14 constexpr в min/max/minmax(initializer_list) и min_element/max_element/minmax_element().
  • [STL] Производительность конструкторов перемещения std::string/std::wstring повышена более чем в 3 раза
  • [STL] Полный список улучшений STL см. в блоге команды разработчиков Visual C++.
  • [ATL] Еще один набор исправлений соответствия поиска по имени.
  • [ATL] Имеющиеся конструкторы перемещения и операторы присваивания перемещения теперь правильно помечены как не предусматривающие формирование исключений.
  • [ATL] Отменено отключение допустимого предупреждения C4640 о потокобезопасной инициализации локальных статических элементов в atlstr.h.
  • [ATL] Потокобезопасная инициализация локальных статических элементов была автоматически отключена в наборе инструментов XP при [использовании ATL и сборке библиотеки DLL]. Этот режим больше не используется. Если нужно отключить потокобезопасную инициализацию, в настройки проекта можно добавить /Zc:threadsafeinit.
  • [AMP] Проведен аудит библиотеки и исправлены опечатки.
  • [VCRuntime] Новый заголовок cfguard.h для символов защиты потока управления.

IDE C++

Повышена производительность изменения конфигурации для проектов в машинном коде на C++ и проектов C++/CLI. При первой активации конфигурации решения процесс теперь будет работать быстрее, а все последующие активации будут происходить практически мгновенно.

По умолчанию теперь используется новое ядро СУБД на основе SQLite. Это позволяет ускорить операции базы данных, такие как переход к определению и поиск всех ссылок, а также значительно ускорить первоначальный анализ решения. Параметр был перемещен в меню "Инструменты > Параметры > Текстовый редактор > C/C++ > Дополнительно" (ранее он был в разделе "...C/C++ > Экспериментальные").

Улучшена производительность IntelliSense в проектах и файлах, где не используются предкомпилированные заголовки. В текущем файле для заголовков будет создан автоматический предкомпилированный заголовок.

Другие обновления:

  • Добавлена фильтрация ошибок и справка по ошибкам IntelliSense для списка ошибок (рис. 16). Теперь выполнить фильтрацию можно, просто щелкнув столбец ошибок (рис. 17). Кроме того, если щелкнуть конкретные ошибки или нажать клавишу F1, запустится поиск сообщения об ошибке в сети.

Error List

(рис. 16) Список ошибок

Error List Filtered

(рис. 17) Отфильтрованный список ошибок

  • Добавлена фильтрация пунктов списка элементов по виду (рис. 18).

Member List Filtered

(рис. 18) Отфильтрованный список элементов

  • Добавлена новая экспериментальная возможность, прогнозный IntelliSense, обеспечивающая фильтрацию содержимого списка элементов с учетом контекста.
  • Новый компонент пользовательского интерфейса, "Найти все ссылки", содержит информацию о том, выполняется ли чтение из переменной или запись в переменную, в результатах для кода C++.

  • Функция замены точки на стрелку IntelliSense была перенесена из экспериментальных в расширенные и теперь включена по умолчанию. Функции расширения областей и приоритета расширения в редакторе также были перенесены из экспериментальных в расширенные.

  • Экспериментальные функции рефакторинга "Изменить сигнатуру" и "Извлечь функцию" теперь доступны по умолчанию.

  • Включена новая экспериментальная функция для проектов C++ — "Ускорение загрузки проекта". Когда вы в следующий раз откроете проект C++, он загрузится быстрее, а в последующий раз — очень быстро.

  • Улучшения в процедуре открытия папки. Изменяйте, собирайте и отлаживайте проект, отличный от MSBuild C++, загрузив источники с помощью функции "Открыть папку". Настройте процедуру с помощью следующих файлов JSON:

    • CppProperties.json используется для настройки работы с IntelliSense и браузером.
    • Tasks.vs.json используется для настройки этапов сборки.
    • Launch.vs.json используется для настройки процедуры отладки.
  • Для работы C++ IntelliSense не требуется создавать файл CppProperties.json в корневой папке. Кроме того, мы добавили новый раскрывающийся список, позволяющий пользователям легко переключаться между конфигурациями, предоставляемыми файлами CMake и CppProperties.json. Поддержка CMake в функции открытия папки. При открытии проектов CMake с помощью функции "Открыть папку" автоматически настраивается среда для редактирования, сборки и отладки C++.

  • Дальнейшая настройка поддерживается посредством файла CMakeSettings.json, который находится в одной папке с файлом CMakeLists.txt (рис. 19).

CMake Open Folder

(рис. 19) Функция "Открыть папку" в Cmake

Рабочие нагрузки установки C++

  • Разработка классических приложений для Windows на C++:

    • Теперь предоставляется более точный контроль над процедурой установки исходной рабочей нагрузки C++. Мы добавили возможность выбора компонентов, чтобы вы могли устанавливать только необходимые инструменты. Обратите внимание, что в пользовательском интерфейсе установщика указаны неточные размеры установки для компонентов. Таким образом, общий размер занижен.

    • Чтобы успешно создавать проекты Win32 в рабочей нагрузке для разработки приложений на C++, необходимо установить набор средств и пакет SDK для Windows. Для этого следует установить рекомендуемые (выбранные) компоненты "Набор средств VC++ 2017 v141 (x86, x64)" и "Пакет SDK Windows 10 (10.0.14393)". Если необходимые средства не установлены, создание проектов завершится ошибкой, а мастер может зависнуть.

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

    • Популярное расширение, Visual C++ для разработки приложений Linux, теперь стало частью Visual Studio. В этой установке представлено все необходимое для разработки и отладки приложений C++, работающих в среде Linux.
  • Разработка игр на C++:

    • Доступны все возможности C++ для создания профессиональных игр на базе DirectX или Cocos2d.
  • Разработка мобильных приложений на C++ (для iOS и Android):

    • Теперь в Visual Studio можно создавать мобильные приложения для Android и iOS и отлаживать их.
  • Разработка с помощью универсальной платформы Windows:

    • C++ поставляется как дополнительный компонент для рабочей нагрузки разработки с помощью универсальной платформы Windows. Сейчас обновление проектов C++ следует выполнять вручную. При открытии проекта, ориентированного на v140 UWP, в Visual Studio 2017 следует выбрать набор инструментов платформы v141 на страницах свойств проекта, если у вас не установлена среда Visual Studio 2015.

Набор средств платформы Clang/C2

Набор инструментов Clang/C2, который поставляется с Visual Studio 2017, теперь поддерживает параметр /bigobj, который крайне важен для сборки больших проектов. Он также включает несколько важных исправлений как во внутренней, так и во внешней части компилятора.


C# и Visual Basic

Расширения языка

В этом выпуске добавлена поддержка возможностей языка C# 7.0 и Visual Basic 15, включая следующие:

Для C#:

Для Visual Basic:

  • Кортежи значений представляют поддержку языка для использования кортежей, чтобы временно группировать набор вводимых значений: Dim point As (x As Integer, y As Integer) = GetOffset().
  • Потребление возврата ByRef расширяет возможности языка, обеспечивая поддержку потребления функций и свойств из библиотек с возвратами ByRef.
  • Двоичные литералы и разделители цифровых групп обеспечивают представление двоичных чисел в машинном коде. Это чрезвычайно удобно для битовых масок и перечислений флагов: &B1001_0011.

Дополнительные сведения об этих и других предлагаемых расширениях языка, следите за нашей разработкой языков в статьях о C# и Visual Basic на сайте GitHub.

Быстрые действия и операции рефакторинга

Visual Studio содержит множество операций рефакторинга, обеспечивающих высокую производительность работы и удобство чтения кода. Вот лишь несколько из них.

  • Упрощение инициализации объектов с помощью инициализатора (рис. 20).

<img src="media/ObjectInitializer-2.png" alt="Use object initializer" width="310" height="183" style="border:2px solid Silver; display: block; margin: auto;">

(рис. 20) Использование инициализатора объектов

  • Перемещение объявлений переменных out внутрь с использованием новой функции C#7 (рис. 21).

Move out variable inline

(рис. 21) Перемещение из встроенной переменной

  • Упрощение проверок значений NULL и выражений Throw с помощью оператора объединения со значением NULL благодаря использованию новой функции C#7 (рис. 22).

Use throw expression with null-coalescing operator

(рис. 22) Использование выражения Throw с оператором объединения со значением NULL

  • Перемещение типа в соответствующий файл: извлечение типа из одного файла и помещение его в другой файл с таким же именем по одному щелчку Ctrl+..
  • Синхронизация файла и имени типа: если файл и имя типа не синхронизированы, можно воспользоваться Ctrl+..
  • Преобразование String.Format в строковую интерполяцию: это быстрое действие позволяет воспользоваться возможностью из языка C# 6.
  • Добавьте отсутствующий параметр case в параметр C# или в операцию выбора Visual Basic.
  • Преобразуйте свойство в метод и наоборот.
  • Добавление ссылки на пакет. Позволяет автоматически получить и установить пакет NuGet (и добавить using/Import) для неизвестного типа. Чтобы включить эту функцию, выберите "Сервис > Параметры > Текстовый редактор > [C# или Basic] > Дополнительные параметры отбора > Suggest usings for types in reference assemblies" (Предлагать директивы using для типов из ссылочных сборок) или Suggest usings for types in NuGet packages (Предлагать директивы using для типов в пакетах NuGet).
  • Превратите асинхронные методы в синхронные там, где это применимо.
  • Поддержка неточного сопоставления при опечатках в указании типа.
Настройка рекомендаций по написанию кода и их применение

Взяв за основу поддержку EditorConfig в Visual Studio, при сотрудничестве с сообществом мы добавили параметры стиля кода .NET в формат файла. Это означает, что вы можете настроить соглашения о стиле кода в группе, вернуть их в систему управления версиями, после чего нарушения сразу же выводятся в редакторе по мере ввода текста разработчиками. Все параметры стиля кода можно просмотреть в файле EDITORCONFIG репозитория Roslyn или в документации. Параметры стиля кода конкретного компьютера по-прежнему можно настроить, выбрав "Сервис > Параметры > Текстовый редактор > [C# или Basic] > Стиль кода". Эти правила переопределяются при конфликтах в EditorConfig.

Мы также добавили и обновили анализаторы стиля, помогающие настроить и обеспечить соблюдение стандартов оформления кода в своей группе, включая следующие.

  • Правила именования стилей.
  • Использование "var" или явных типов.
  • Использование "this." или "Me." при доступе к членам.
  • Используйте тела выражений или блоков.
  • Используйте сопоставление шаблонов для проверок с приведением и проверок значений NULL.
  • Используйте явные имена кортежей.
  • Упростите проверку значений NULL, используя выражения throw, условные делегаты, выражения объединения и распространение значений NULL.
  • Требуются фигурные скобки.

Примечание. Некоторые из этих правил по стилю кода настраиваются по умолчанию в качестве предложений в редакторе (рис. 23).

Configure code style preferences and enforcement from EditorConfig

(рис. 23) Настройка параметров стиля кода и применение из EditorConfig

Улучшения в технологии IntelliSense

В этом выпуске также представлены усовершенствования IntelliSense, которые позволят писать код продуктивнее при работе над большим решением или с незнакомой кодовой базой. Мы добавили в IntelliSense область значков, которая позволяет фильтровать список членов по типу (например, методы, свойства, классы и т. д.). Каждый переключатель фильтра имеет связанное сочетание клавиш, которое можно увидеть при наведении курсора на значок. Чтобы включить эту функцию, выберите в меню "Сервис > Параметры > Текстовый редактор > [C# или Basic] > IntelliSense" и включите параметры фильтрации и выделения (рис. 24).

IntelliSense Completion Filtering

(рис. 24) Фильтрация списков завершения IntelliSense

Другие усовершенствования редакторов

  • Теперь вы можете разделять длинную строку на несколько соединенных строк, помещая курсор в середину строки и нажимая клавишу Enter.
  • Мы проделали значительную работу, чтобы повысить скорость реагирования интегрированной среды разработки при наличии фоновых операций, которые вычисляют сведения о диагностике и CodeLens.

F# 

Поддержка возможностей языка F# 4.1

  • Кортежи структур, взаимодействующие с кортежами C# 7/VB 15.
  • Возвраты Byref, поддерживающие потребление возвратов ссылок C# 7.
  • Поддержка записи структуры с помощью атрибута [<Struct>]. Автор: Уилл Смит (Will Smith).
  • Поддержка размеченного объединения структуры с атрибутом [<Struct>].
  • Новый тип Result<'TSuccess, 'TFailure> с вспомогательными функциями в FSharp.Core. Автор: Оскар Гевалли (Oskar Gewalli).
  • Ключевое слово fixed, которое поддерживает закрепление ссылочной переменной в памяти.
  • Символы подчеркивания в числовых литералах. Автор: Ави Авни (Avi Avni).
  • Аргументы атрибута сведений о вызывающем объекте. Авторы: Линкольн Аткинсон (Lincoln Atkinson) и Ави Авни (Avi Avni).
  • Взаимно ссылочные типы и модули в одном и том же файле через namespace rec и module rec.
  • Неявный суффикс Module в модулях, совместно использующих одно и то же имя как тип.

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

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

Новый редактор на основе рабочих областей Roslyn

(Многие новые функции среды IDE были реализованы выдающимся сообществом F#)

Дополнительные улучшения, реализованные сообществом F # 

Мы хотим поблагодарить все сообщество F# за тестовые сборки инструментов F# в Visual Studio 2017, выявление и описание ошибок, обсуждения и реализацию исправлений и функций. Успешная реализация F# в Visual Studio 2017 была бы невозможна без сообщества F#. Полный список авторов см. здесь.


JavaScript и TypeScript

TypeScript 2.1

TypeScript 2.1 доступен в рамках всех проектов TypeScript в Visual Studio. TypeScript 2.1 обеспечивает асинхронность и ожидание низкого уровня, улучшенный вывод локального типа, локальное расширение объектов и многое другое! Подробности об этом выпуске см. в публикации в блоге о выпуске или полном журнале изменений.

Служба языка JavaScript

Доступна новая языковая служба JavaScript (рис. 25), которая включена по умолчанию. Новая служба обеспечивает улучшение работы IntelliSense. В ней добавлена поддержка IntelliSense в заметках к комментариям JSDoc, ES6 и форматов модулей Common JS. Она также поддерживает синтаксис JSX и функции ES2016, такие как генераторы, модули и декораторы. Дополнительные сведения см. в этой записи блога или в документации по IntelliSense для JavaScript на GitHub.

Rich JavaScript IntelliSense for jQuery

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

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

В этом выпуске сделан упор на повышение производительности. Помимо нескольких оптимизаций для улучшения памяти и скорости реагирования вся языковая служба JavaScript и TypeScript перемещена во вспомогательный процесс за пределами devenv.exe, чтобы освободить память для крупных проектов VS. При работе с крупными проектами JavaScript процесс Visual Studio будет потреблять меньше памяти, а сбои из-за недостатка памяти будут происходить реже. Дополнительные сведения об этих улучшениях см. в этой записи блога.


Отладка и диагностика

Выполнение до щелкнутого

Просто щелкните значок рядом со строкой кода во время отладки, чтобы выполнить код до этой строки (рис. 26). Вам больше не нужно задавать временные точки останова или совершать несколько действий, чтобы выполнить код и остановиться на требуемой строке. Теперь, когда вы останавливаетесь в состоянии останова в отладчике, значок "Выполнение до щелкнутого" аккуратно отображается рядом со строкой кода, на которую наведена мышь. Наведите указатель мыши на значок и нажмите кнопку: выполнение кода остановится на выбранной строке кода, когда в следующий раз дойдет до нее. Его можно включить, выбрав "Отладка > Параметры > Enable Run To Click" (Включить выполнение до щелкнутого).

Run to Click Icon

(рис. 26) Значок "Выполнение до щелкнутого"

Фильтр присоединения к процессу

В диалоговом окне "Присоединение к процессу" (рис. 27) доступен удобный поиск, позволяющий быстро найти процесс, к которому нужно присоединить отладчик. Список выполняющихся процессов фильтруется до элементов, соответствующих условиям поиска. Фильтр поиска запоминает ваш предыдущий поиск при повторном открытии диалогового окна.

Attach to Process Filter

(рис. 27)Фильтр присоединения к процессу

Повторно подключиться к процессу

Теперь вы можете быстро повторно подключиться к процессам, отладку которых выполняли ранее. При включении функции "Отладка/Повторно подключиться к процессу" (SHIFT+ALT+P) немедленно выполняется попытка подключить отладчик к последнему процессу из предыдущего сеанса отладки, который был вызван из диалогового окна "Присоединение к процессу". Отладчик будет повторно подключаться к процессам, сначала пытаясь сопоставить идентификатор предыдущего процесса, а затем путем сопоставления с именем предыдущего процесса. При отсутствии совпадений либо наличии нескольких процессов с одинаковым именем отображается диалоговое окно "Присоединение к процессу", где можно выбрать нужный процесс.

Новый помощник по исправлению ошибок

Используйте новый помощник по исправлению ошибок (рис. 28) для беглого просмотра сведений об исключении в компактном немодальном диалоговом окне с мгновенным доступом к внутренним исключениям. Теперь при диагностике исключения NullReferenceException вы сможете быстро увидеть, какой параметр имел значение NULL, прямо в помощнике по исправлению ошибок. Теперь можно указать не прерывать работу на типах исключений, создаваемых определенными модулями. Для этого нужно установить флажок добавления условия во время остановки на созданном исключении. Прочитайте эту публикацию в блоге, чтобы получить более подробную информацию о новых преимуществах помощника по исправлению ошибок.

The New Exception Helper dialog

(рис. 28) Диалоговое окно нового помощника по исправлению ошибок

Добавление условий в параметры исключений

При настройке остановки отладчика на возникающих исключениях можно добавить условия, которые задают остановку отладчика, только когда исключения возникают в определенных модулях (рис. 29).

Edit Conditions dialog box

(рис. 29) Диалоговое окно изменения условий

Улучшения специальных возможностей отладчика

Теперь вы можете эффективнее использовать несколько окон отладчика (стек вызовов, локальные переменные, автоматические значения, контрольные значения и быстрая проверка) при работе со средствами чтения с экрана и другими специальными возможностями.

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

IntelliTrace теперь поддерживает события MVC, ADO.NET и HttpClient для приложений ASP.NET Core. Они будут отображаться на вкладке "События" в окне "Средства диагностики".

Обновления окна "Средства диагностики"

При запуске сеанса отладки вы увидите новое представление сводки (рис. 30) для приложения в окне "Средства диагностики". В нем можно сделать следующее:

Summary tab in Diagnostics Tools Window

(рис. 30) Вкладка "Сводка" в окне "Средства диагностики"

Обновления профилировщика производительности

Профилировщик производительности теперь можно подключить к выполняющемуся процессу. Средства "Загрузка ЦП" и "Использование GPU", а также мастер производительности теперь поддерживают присоединение к выполняющемуся процессу.

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

В средстве использования ЦП реализовано несколько улучшений.

  • Улучшенная поддержка внешнего кода: средство использования ЦП теперь предоставляет больше сведений о "затратах" на вызов функций библиотеки и платформы из пользовательского кода.
  • Представление "Функции" (рис. 31), которое ранжирует функции по "затратам" на использование ЦП.

Functions List

(рис. 31) Список функций

  • Новое представление "Вызывающий или вызываемый" (Рис. 32) позволяет отслеживать "затраты" для вызова выбранной функции и вызова из этой функции.

Caller / Callee View

(рис. 32) Представление "Вызывающий или вызываемый"

  • Представление "Исходный код", в котором отображается исходный код функции, которая выбрана в средстве использования ЦП.

Поддержка отладки Chrome

Если запустить отладку проектов ASP.NET и выбрать Google Chrome в качестве браузера, Visual Studio выполнит отладку JavaScript, запущенного в Chrome. Если вы предпочитаете использовать вместо этого средства разработки в браузере, можно отключить эту функцию в разделе "Сервис > Параметры > Отладка".


Динамическое модульное тестирование

Динамическое модульное тестирование (рис. 33) — это возможность в выпуске Visual Studio 2017 Enterprise, которая позволяет визуализировать результаты модульного теста и объем протестированного кода в редакторе. В проектах C# и Visual Basic для .NET Framework она поддерживает MSTest, Nunit и xUnit.

Live Unit Testing

(рис. 33) Динамическое модульное тестирование
Дополнительные сведения см. в блоге о динамическом модульном тестировании.


Средства тестирования

Связывание автоматизации с рабочими элементами тестового случая с помощью обозревателя тестов

Теперь можно связать автоматизацию с рабочими элементами тестового случая (рис. 34), выбрав метод теста в обозревателе тестов. Используя эту новую возможность, вы также сможете просматривать любые существующие ассоциации для выбранного метода теста.

Просто щелкните тест правой кнопкой мыши в обозревателе тестов

Test Explorer Associate Automation

(рис. 34) Связывание автоматизации с помощью обозревателя тестов

и укажите идентификатор тестового случая, чтобы создать ассоциацию (рис. 35).

Associate Automation

(рис. 35) Связывание автоматизации

В предыдущих версиях Visual Studio это можно было сделать с помощью формы рабочего элемента. Взаимодействие на основе формы рабочего элемента можно включить, включив режим совместимости ("Сервис | Параметры") (рис. 36).

Work Item Form Compatibility mode

(рис. 36) Режим совместимости формы рабочего элемента


Team Explorer

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

Мы добавили новые возможности Git в Visual Studio 2017, позволяющие выполнить большую часть сквозного рабочего процесса, не выходя из интегрированной среды разработки. Вы можете легко просматривать различия исходящих фиксаций, выполнить принудительную отправку, чтобы завершить перемещение изменения из одной ветви в другую или выполнить принудительную отправку исправленной фиксации, отменить вышестоящую ветвь и продолжить перемещение исправлений из одной ветви в другую из VS. Кроме того, мы переместили в git.exe. Это позволяет нам предоставлять самые новейшие функции. Мы поддерживаем SSH, принимаем во внимание ваши параметры конфигурации и отображаем в Team Explorer только то, что доступно в командной строке. Дополнительные сведения об этих функциях см. в записи блога.

Подключение к VSTS и Team Foundation Server

Процесс подключения к проектам и клонирования репозиториев в VSTS и Team Foundation Server на начальной странице Visual Studio и в Team Explorer персонализирован и упрощен. Поиск проектов и репозиториев, к которым следует подключиться, стал быстрее и проще. На нашей полностью переработанной странице подключения отображаются только проекты и репозитории, сопоставленные и клонированные вами для всех серверов VSTS и Team Foundation Server (а не каждый репозиторий для каждого проекта). Кроме того, перед клонированием репозиториев больше не требуется подключаться к проекту.

При запуске диалогового окна для подключения к VSTS и TFS появляется модернизированный пользовательский интерфейс. Отображаются все добавленные серверы TFS, а также все серверы VSTS, проекты и репозитории для выбранной учетной записи пользователя. Для улучшения навигации результаты представлены в виде дерева. Кроме репозиториев можно также подключиться к коллекциям и проектам. Дополнительные сведения см. в разделе Connect to Team Projects (Подключение к командным проектам).

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

Когда вы подключаетесь к Visual Studio Team Services из Visual Studio 2017 и открываете рабочий элемент, в веб-браузере открывается форма рабочего элемента (рис. 37). Но при подключении к Team Foundation Server 2015 или более ранней версии вы увидите устаревшие формы рабочих элементов.

Work Item Form in Team Explorer

(рис. 37) Форма рабочего элемента в Team Explorer


Улучшенный рабочий процесс отправки отзывов о Visual Studio

В Visual Studio 2017 обновлена система отправки отзывов, которая обеспечивает улучшенные возможности отслеживания и взаимодействия. После установки обновления в Visual Studio появится более интерактивное окно сообщения о проблемах, а также комплексный веб-портал, предназначенный для полной обработки ваших отзывов. Теперь вы можете искать, отслеживать, оценивать и получать последние обновления по всем своим отзывам, оставленным с помощью функции "Сообщить о проблеме" в интегрированной среде разработки Visual Studio. Эти улучшения являются результатом обработки большого объема информации, полученной от вас, и обеспечивают двустороннюю связь между вами и нашими командами разработчиков.


Расширяемость Visual Studio

Новый формат расширяемости

Новая технология, реализованная в установщике Visual Studio 2017, предоставляет вам расширенный контроль над устанавливаемыми инструментами. Некоторым пользователям нужен только базовый редактор Visual Studio, а другим — ряд рабочих нагрузок. Чтобы обеспечить установку обязательных компонентов, необходимых для работы расширений, авторы расширений теперь смогут указывать в манифесте, какие компоненты необходимы для работы того или иного расширения.

При попытке установить расширение, созданное без использования нового формата VSIX, пользователи будут получать предупреждение. Старый формат VSIX не указывает необходимые компоненты и может не работать, если такие компоненты недоступны в Visual Studio 2017. Новый формат VSIX обладает обратной совместимостью и может использоваться для предыдущих версий Visual Studio вплоть до Visual Studio 2012.

Конструктор манифеста VSIX был обновлен для отражения изменений в манифесте. На вкладке необходимых компонентов (рис. 38) разработчики расширений могут найти список установленных компонентов, чтобы указать необходимый компонент для своего расширения.

Prerequisite

(рис. 38) Вкладка необходимых компонентов

Во время установки расширения установщик VSIX (рис. 39) укажет, какие компоненты отсутствуют, и установит их вместе с расширением.

VSIXInstaller

(рис. 39) Установщик VSIX

Изменение расширений в пакетном режиме

В диалоговом окне "Расширения и обновления" (рис. 40) теперь можно запланировать установку, обновление и удаление нескольких расширений перед обязательным перезапуском Visual Studio. В правом нижнем углу выводится сводка по запланированным заданиям. Чтобы удалить запланированные изменения, нажмите кнопку X рядом с расширением, которое запланировано для установки.

Extensions and Updates Dialog

(рис. 40) Диалоговое окно "Расширения и обновления"

Когда установщик VSIX обнаружит, что закрыты все окна Visual Studio, он запускается для выполнения запланированных изменений (рис. 41).

Batched Modification Installer

(рис. 41) Установщик для изменения в пакетном режиме

Поддержка Ngen

Теперь сборки можно установить с помощью Ngen (рис. 42).

NGEN Properties

(рис. 42) Свойства NGEN

  • Ngen — указывает, следует ли использовать Ngen для сборки.
  • Приложение Ngen — приложение для передачи Ngen с помощью параметра /ExeConfig.
  • Архитектура Ngen — целевая архитектура для образа в машинном коде. Параметры: x86, x64 и all.
  • Приоритет Ngen — уровень приоритета Ngen.

Установка файлов за пределами каталога расширений

Теперь вы можете установить файлы в определенный список папок, которые находятся вне каталога расширений (рис. 43).

VSIX Properties

(рис. 43) Свойства VSIX

  • Включить в VSIX — указывает, нужно ли включить файл в VSIX.
  • Корневой каталог для установки — корневой каталог для установки файла. Параметры: "Default" (установка в каталоге расширений), "PublicAssemblies", "ReferenceAssemblies", "MSBuild", "Schemas", "RemoteDebugger" и "VSTargets".
  • Целевой путь — имя файла, который будет установлен на компьютере пользователя.
  • Вложенный путь VSIX — вложенный путь в корневом каталоге установки для установки файла.

Диспетчер перемещаемых расширений

Новые возможности Visual Studio 2017. Диспетчер перемещаемых расширений позволяет отслеживать избранные расширения во всех средах развертывания. Диспетчер перемещаемых расширений отслеживает установленные вами расширения, создавая синхронизированный список в облаке.

Войдя в Visual Studio, вы можете быстро просмотреть список расширений, выбрав пункты меню "Средства" > "Расширения" > "Обновления", а затем — "Диспетчер перемещаемых расширений" (рис. 44). Он отслеживает установленные расширения и позволяет добавлять их в список перемещаемых. Новые расширения появляются в коллекции каждый день, а этот инструмент помогает легко и быстро добавлять любимые расширения в любую среду разработки.

The new Roaming Extension Manager in the Visual Studio IDE

(рис. 44) Новый диспетчер перемещаемых расширений в интегрированной среде разработки Visual Studio

При использовании этой возможности вы увидите три типа значков.

  • Значок перемещаемого расширения Значок перемещаемого расширения означает, что расширение включено в список перемещаемых, но еще не установлено на этом компьютере. Такое расширение можно установить с помощью кнопки "Скачать".
  • Значок перемещаемого и установленного расширения Значок перемещаемого и установленного расширения означает, что расширение включено в список перемещаемых и установлено в данной среде. Если вы решите, что перемещать расширение не нужно, его можно удалить с помощью кнопки "Остановить перемещение".
  • Значок установленного расширения Значок установленного расширения означает, что расширение установлено в среде, но не включено в список перемещаемых. Расширения можно добавить в список перемещаемых расширений с помощью кнопки "Начать перемещение".

Эти значки отражают текущее состояние вашего списка. Меняйте состояние любых расширений и настраивайте содержимое среды как вам нравится. А если захотите, мы сделаем это за вас. Любое расширение, скачанное после того, как вы выполнили вход в систему, будет добавлено в список перемещаемых как перемещаемое и установленное, а значит, будет доступно на любом компьютере.

Обнаружение шаблонов проектов и элементов

Начиная с Visual Studio 2017, полностью изменен способ потребления шаблонов проектов и элементов средой Visual Studio, чтобы повысить производительность обнаружения шаблонов. Новый механизм обнаружения предусматривает, что все шаблоны проектов и элементов со схемой vstemplate должны быть определены в файлах манифеста шаблонов. Шаблоны Visual Studio, неопределенные в файле манифеста шаблонов, не будут отображаться в диалоговых окнах "Создать проект" или "Создать элемент". Хотя новые средства расширяемости создают манифест во время сборки VSIX, при наличии шаблонов Visual Studio, выпущенных в составе пакета MSI, для них необходимо вручную создать файлы манифеста шаблонов. Дополнительные сведения см. на странице MSDN Обновление настраиваемых шаблонов проектов и элементов для Visual Studio 2017.


.NET Core и ASP.NET Core

Окончательный выпуск средств .NET Core 1.0 на базе MSBuild. С помощью Visual Studio 2017 можно создать библиотеки .NET Standard, приложения и библиотеки .NET Core и веб-проекты ASP.NET, использующие новый формат CSPROJ.

В рабочей нагрузке "ASP.NET и разработка веб-приложений" инструментарий .NET Core является автоматически включенным компонентом, а в рабочей нагрузке "Разработка классических приложений .NET" — необязательным компонентом в установщике. Если вы хотите разрабатывать приложения .NET Core для использования на нескольких платформах, можно установить только инструменты .NET и ASP.NET Core, используя рабочую нагрузку "Кроссплатформенная разработка .NET Core" в разделе "Другие наборы инструментов" установщика.

Высокоуровневые функции в этом выпуске включают следующее:

  • Поддержка MSBuild для проектов .NET Core с упрощенным форматом проекта CSPROJ, который позволяет проще редактировать код вручную без выгрузки проекта.
  • Простое изменение CSPROJ-файла .NET Core: щелкните проект правой кнопкой мыши в обозревателе решений и выберите пункт "Изменить".
  • Поддержка файловых подстановочных знаков в файле проекта, где не нужно перечислять все имена файлов в исходном коде. Таким образом обеспечивается компактность CSPROJ-файла.
  • Ссылки на пакет NuGet теперь входят в состав CSPROJ-файла, что позволяет объединить все ссылки на проект в одном файле.
  • Взаимодействие между проектами .NET Core, .NET Standard и .NET Framework. Например, проект .NET Core может добавить ссылку проекта на проект в проект .NET Standard.
  • Ориентация на несколько целевых платформ в одном проекте.
  • При открытии в Visual Studio имеющиеся проекты .NET Core файла project.json будут автоматически перенесены в CSPROJ-файл. Их также можно перенести вручную с помощью интерфейса командной строки .NET..
  • Простая настройка непрерывной интеграции сборки для вашего приложения ASP.NET Core с поддержкой Docker и непрерывной доставки сборки в службы контейнеров Azure из интегрированной среды разработки Visual Studio.

Подробности см. в блоге по .NET.


Средства для разработки универсальных приложений Windows

Обновленная цепочка инструментов .NET Native

Эта обновленная цепочка инструментов .NET Native включает несколько оптимизаций для повышения производительности во время выполнения для управляемых приложений UWP в Visual Studio. Этот выпуск включает более 600 исправлений ошибок и функций, соответствующих основным пожеланиям клиентов и повышающих общее качество цепочки инструментов.

Пакет Microsoft.NETCore.UniversalWindowsPlatform 5.3.0

Это обновление библиотек платформы .NET Core NuGet устраняет множество ключевых проблем, о которых сообщили клиенты. Существующие проекты UWP могут использовать диспетчер ссылок NuGet для обновления до этой новой версии. Кроме того, новый пакет .NET Core включает в себя цепочку инструментов .NET Native.

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

В этот выпуск включены пакет Windows SDK и эмулятор Windows Phone для юбилейного обновления Windows 10.

  • Элементы пользовательского интерфейса, созданные из панели элементов, теперь будут создаваться с меньшим числом XAML-тегов, что сделает код XAML более чистым и читабельным.
  • Новый инструмент для работы с параметрами в конструкторе XAML позволяет разработчику выбирать тему пользовательского интерфейса и выполнять предпросмотр настроек высокой контрастности в области конструктора.
  • Редакторы значений в окне "Свойства" теперь принимают простые математические выражения, такие как "60+20". Результат вычисляется мгновенно (в данном случае 80), и результирующее значение отправляется в XAML.

Возможность создания визуальных ресурсов в конструкторе манифестов

Внешний вид конструктора манифестов (рис. 45) был обновлен и в него добавлена возможность создания визуальных ресурсов для приложений UWP. Теперь можно использовать одно исходное изображение для создания плиток, логотипов, значков и экранов-заставок в любых масштабах и для любых типов устройств, для которых предназначено ваше приложение.

Manifest Visual Asset Generator

(рис. 45) Генератор визуальных ресурсов манифеста

Анализ пользовательского интерфейса

Теперь инструментарий универсальной платформы Windows может обнаруживать некоторые распространенные проблемы, связанные с доступностью и производительностью. После включения инструмента "Анализ пользовательского интерфейса" в меню "Выбор инструментов" окна "Средства диагностики" об этих проблемах будет сообщено. Также будут представлены ссылки на полезные статьи, поясняющие, как и почему эти проблемы следует решить. При разработке приложения с включенным анализом пользовательского интерфейса производительность и доступность пользовательского интерфейса становится приоритетной задачей.


Xamarin

Версия Xamarin 4.4 включена в Visual Studio 2017. Дополнительные сведения см. в заметках о выпуске Xamarin.

Xamarin для Visual Studio 4.4 является обновлением выпусков Xamarin.iOS 10.8 и Xamarin.Android 7.2.

Исправления ошибок

Этот выпуск включает в себя следующие исправления.

  • Сборка приложений iOS Extension выполняется с ошибкой «невозможно прочитать данные Entitlements» (4.4.0.31).
  • Включает символы для отчетов «Доктор Ватсон» (4.4.0.6).
  • Развертывание Android завершается сбоем, если решение также содержит проект Wix (4.3.1.39).
  • Взаимоблокировка при открытии некоторых проектов iOS (4.3.1.39).
  • Точки останова не срабатывают на ссылках PCL второго уровня (4.3.1.39).
  • Устраняет проблему iOS из-за отсутствующей задачи CodeSignNativeLibraries (4.3.1.39).
  • Ошибка при открытии раскадровки после подключения к серверу Mac (4.3.1.39).
  • Проект библиотеки классов Android должен содержать на странице свойств только параметр «Компиляция с помощью версии Android» (4.3.1.39).
  • Visual Studio зависает при переходе на вкладку «Средства->Параметры-> Xamarin->Остальное» (4.3.1.39).
  • Visual Studio зависает при загрузке кроссплатформенного решения в некоторых средах (4.3.1.1).
  • На Microsoft.Csharp нет ссылок в шаблонах проектов VS (4.3.1.1).
  • Невозможно подключиться к серверу Mac, если настроенная оболочка пользователя не использует синтаксис bash (4.3.1.1).
  • Отсутствует параметр «Отправить в тестовое облако» (исправлено в VS2013 и VS2015) (4.3.1.1).
  • Отладчик путается, если имя переменной или свойства совпадает с именем какого-либо класса (4.3.1.1).
  • Невозможно переименовать набор изображений из каталога ресурсов (4.3.1.1).
  • Папка «Ресурсы» принудительно скрыта в проектах расширений просмотра (4.3.1.1).
  • Невозможно скрыть папку «Assets.xcasset» в папке «Ресурсы» для проектов tvOS (4.3.1.1).

Средства Visual Studio для Apache Cordova

Этот выпуск Visual Studio 2017 включает в себя следующие улучшения:

  • Cordova Simulate — новый имитатор позволяет быстро писать код и просматривать результаты прямо в браузере (рис. 46). Включение в Visual Studio динамической перезагрузки и симуляции подключаемого модуля, а также поддержки платформы Ionic обеспечивает самый быстрый рабочий процесс разработки на рынке.

Cordova simulate

(рис. 46) Cordova Simulate

  • Поддержка iOS 10 и XCode 8 — обновление агента сервера remotebuild для разработки в iOS теперь включает поддержку XCode 8.

  • Цветовое выделение ошибок — так как для диагностики ошибок сборки разработчикам часто приходится просматривать все выходные данные сборки, мы начали выделять цветом ошибки в окне выходных данных для удобства восприятия (рис. 47). Кроме того, мы добавили заголовки для обозначения отдельных действий в процессе сборки, чтобы помочь разработчикам точно выявить место ошибки в сборке.

Pretty printing

(рис. 47) Выделенные цветом ошибки

  • Получение дополнительных компонентов сборки в процессе разработки — в дополнение к новой простой установке (с которой вы сможете еще быстрее перейти к написанию приложений Cordova) мы добавили в Visual Studio механизмы для получения дополнительных компонентов сборки в процессе разработки (рис. 48). Если у вас не установлены компоненты Android или Windows, их можно получить с помощью панели развертывания, которая запускает настройку Visual Studio, помогая вам выполнить установку.

In-product acquisition

(рис. 48) Получение в процессе разработки

  • Быстрые и надежные сборки — новый установщик Visual Studio в сочетании с проверенной цепочкой инструментов сторонних производителей (которые устанавливаются автономно) ускоряет создание сборок, а также упрощает их диагностику и исправление ошибок.
Важно

Средства сборки и эмуляторы для Android и Windows теперь необязательны. Их можно получить динамически из строки меню сборки/развертывания. Этот выпуск Visual Studio не поддерживает проекты Магазина Windows 8.1. Рекомендуется обновить проекты Cordova до целевой платформы Windows 10. Теперь минимальная поддерживаемая версия Cordova — 6.0.0. Для сборки и развертывания в Visual Studio 2017 проектов, предназначенных для версий Cordova ниже 6.0.0, их потребуется обновить в файле config.xml.


Инструменты Node.js для Visual Studio

Инструменты Node.js превращают Visual Studio в эффективную среду разработки Node.js. В этом выпуске упор сделан на стабильность, производительность и качество продукта, включая следующее:

  • Улучшенная интеграция с новой службой Salsa JavaScript Language Service.
  • Пониженный уровень использования памяти и ЦП и сокращенное время загрузки проекта.
  • Поддержка файлов шаблонов Pug.
  • Больше актуальных шаблонов проектов.
  • Поддержка платформы тестирования Mocha 3.x.
  • Многочисленные исправления ошибок.

Благодарим всех активных участников, которые внесли свой вклад в эту версию инструментов Node.js для Visual Studio. Для получения дополнительной информации ознакомьтесь с проектом инструментов Node.js с открытым исходным кодом на сайте GitHub.


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

Используйте Visual Studio для создания и отладки игр Unity для всех платформ. Инструменты Visual Studio для Unity 3 (рис. 49) теперь можно установить вместе с рабочей нагрузкой "Разработка игр с помощью Unity" в новом установщике Visual Studio 2017. Инструменты Visual Studio для Unity 3 позволяют улучшить процедуру редактирования и отладки кода для разработчиков на Unity, а также общее качество продукта, включая следующее:

  • Поддержка IntelliSense для сообщений Unity.
  • Выделение кода цветом для сообщений Unity.
  • Улучшенная оценка выражений в отладчике Unity.
  • Усовершенствованные мастера сообщений Unity для поддержки всех типов Unity, способных получать сообщения.
  • Многочисленные исправления ошибок и оптимизации.

Code completion session for Unity messages

(рис. 49) Сеанс дополнения кода для сообщений Unity


Redgate

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

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

  • Redgate ReadyRoll Core в составе Visual Studio Enterprise 2017 помогает разрабатывать сценарии переноса, управлять базами данных с помощью системы управления версиями, а также автоматизировать безопасное развертывание изменений базы данных SQL Server вместе с изменениями приложений.
  • Redgate SQL Prompt Core в составе Visual Studio Enterprise 2017 помогает повысить точность и скорость написания SQL-запросов с помощью средства интеллектуального завершения кода. SQL Prompt автоматически завершает объекты и ключевые слова базы данных и системы и предлагает варианты при вводе текста. Код становится чище и содержит меньше ошибок, так как вам не нужно запоминать имя или псевдоним каждого столбца.
  • Поиск Redgate SQL, входящий в состав всех выпусков Visual Studio 2017, повышает продуктивность работы, позволяя быстро найти фрагменты и объекты SQL в нескольких базах данных.

NuGet

Visual Studio 2017 включает в себя NuGet 4.0. Этот выпуск ориентирован на поддержку ссылки на пакет для большинства типов проектов, улучшение качества и усовершенствования производительности:

  • Пакетами теперь можно управлять с помощью ссылок на пакеты в проектах WPF, WindowsForms и UWP.
  • Улучшена поддержка восстановления NuGet для восстановления упрощенного решения. Для выполнения восстановлений теперь не нужно загружать какие-либо проекты.
  • Теперь в проектах .NET Core и ASP.NET Core управление пакетами осуществляется с помощью ссылок на пакеты.
  • В Visual Studio 2017 (и более поздних версиях) файл NuGet.config, применяемый в масштабе всего компьютера, теперь расположен здесь: %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. Забегая вперед, отметим, что nuget.exe версии 4.0.0 и выше также будет использовать новое расположение для конфигурации всего компьютера. NuGet.config в данных программы больше не будет неявно указываться в ссылке или использоваться для иерархического слияния nuget.config.

Средства для приложений XAML

Операция "Изменить и продолжить" XAML

Теперь Visual Studio позволяет редактировать XAML во время работы универсального приложения для Windows или WPF. Выполняя отладку приложения в Visual Studio, в редакторе кода XAML можно внести изменение в разметку, и это изменение будет отражено в запущенном приложении без необходимости повторной компиляции.

Повышение производительности редактора XAML

  • Фильтрация IntelliSense — при вводе XAML-кода в списке завершения отображаются только соответствующие типы и выбирается наиболее полное соответствие.
  • IntelliSense для x:Bind — мы включили режим завершения IntelliSense для x:Bind при привязке к путям и событиям.
  • Автозаполнение пространств имен — если ссылка на пространство имен отсутствует (рис. 50), то IntelliSense при вводе текста также не будет работать. Однако завершив ввод, вы получите поддержку предложений лампочки для создания и вставки префикса для типа и добавления определения пространства имен в документ XAML.

IntelliSense_without namespace

* Для типов, требующих префикса, IntelliSense предложит автозавершение, если ссылка на пространство имен уже существует.

(рис. 50) Пространство имен IntelliSense_without

  • Рефакторинг для переименования префикса пространства имен — действие переименования (рис. 51) можно вызвать из контекстного меню или с помощью сочетания клавиш CTRL+R+R, когда курсор находится на префиксе. Кроме того, можно просмотреть изменения перед их применением.

Namespace Prefix Rename

(рис. 51) Переименование префикса пространства имен

  • Удаление и сортировка пространств имен — теперь можно удалить ненужные пространства имен (рис. 52) и отсортировать их с помощью контекстного меню или сочетания клавиш CTRL+R+G. Если в документе XAML есть ненужные пространства имен, отображается лампочка, позволяющая удалить их.

Lightbulb_remove unnecessary namespace

(рис. 52) lightbulb_remove для ненужного пространства имен

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

  • Визуализатор структуры для редактора XAML — визуализатор структуры (направляющие отступа) (рис. 53) теперь интегрирован в Visual Studio, отдельное расширение больше использовать не нужно. Эта возможность позволяет сразу, без прокрутки, оценить контекст блока кода, над которым вы работаете.

Structure Visualizer for XAML editor

(рис. 53) Визуализатор структуры для редактора XAML

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

  • Скорость переключения между вкладками XAML повысилась — скорость переключения между вкладками существенно повысилась. В образцах проектов наших клиентов время переключения в некоторых случаях сократилось более чем на 90 %.
  • Решение проблем с задержками при вводе текста в редакторе XAML — теперь текстовый ввод в редакторе XAML работает быстрее, чем когда-либо. Мы провели весьма серьезную работу над сокращением задержек при вводе текста в редакторе XAML, и большинство разработчиков заметят, что редактор XAML и XAML в IntelliSense стали реагировать гораздо быстрее. Это будет особенно заметно при редактировании файла XAML в проектах, в которых используются сторонние элементы управления или большие библиотеки элементов управления.

SQL Server Data Tools

SQL Server Data Tools

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

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

Кроме того, в Visual Studio 2017 используются новые типы проверки подлинности базы данных SQL Azure, а также встроенная проверка подлинности Azure Active Directory и проверка подлинности по паролю.


Средства анализа для разработчиков

Visual Studio 2017 включает в себя средства анализа для разработчиков версии 8.6 со следующими усовершенствованиями:

  • CodeLens теперь отображает данные отладки и динамические данные телеметрии в проектах, отправляющих данные в ресурс Application Insights.
  • CodeLens для ссылок исключений на аналитику приложений, чтобы продемонстрировать пользователям влияние исключения.
  • CodeLens показывает запросы из сеансов локальной отладки для проектов с пакетом SDK Application Insights.
  • CodeLens для запросов и исключений теперь доступны в проектах Visual Basic.
  • После публикации приложения из Visual Studio во всплывающем уведомлении появляются динамические метрики.
  • Сведения о ценах на Application Insights теперь отображаются в окне "Конфигурация".
  • События доступности теперь отображаются в инструментах поиска и тенденций.
  • В инструментах поиска и диагностики теперь отображаются показатели частоты возникновения событий на основе адаптивной выборки в пакете SDK.
  • CodeLens показывает исключения, возникшие во время сеансов локальной отладки для проектов с пакетом SDK Application Insights.
  • Новый дизайн окна "Конфигурация Application Insights".
  • CodeLens для исключений теперь имеет ссылку на аналитику приложений, чтобы можно было увидеть влияние, которое исключение оказало на пользователей.
  • Теперь при добавлении Application Insights в проект добавляется пакет SDK JavaScript для Application Insights для сбора данных телеметрии о просмотрах страниц.
  • Теперь при публикации приложения из Visual Studio заметки публикации отправляются в ресурс Application Insights.
  • Теперь для красных и желтых индикаторов CodeLens Application Insights отображаются метки полосы прокрутки.

Дополнительные сведения об Application Insights см. в документации Microsoft Azure.


Инструменты разработчика Office для Visual Studio

Этот выпуск включает Office Developer Tools со следующими последними функциями и обновлениями:

  • Новые шаблоны надстроек Office для Excel, Word, PowerPoint и Outlook.
  • Поддержка новых функций надстроек Office, таких как команды надстроек, пользовательский интерфейс Fabric и новая версия Office.js.
  • Новый начальный код в шаблонах, с помощью которого можно начать работать с новыми функциями надстроек Office.
  • Поддержка SharePoint 2016 в решениях и шаблонах надстроек SharePoint.

Динамическая проверка зависимостей архитектуры

Если настроены схемы проверки зависимостей (также называемые "схемы слоев"), в Visual Studio Enterprise теперь можно получать уведомления (рис. 54) о нарушениях правил архитектурных зависимостей в режиме реального времени при вводе кода в редакторе кода. Ошибки отображаются в списке ошибок, а точное расположение проблемы обозначается в текстовом редакторе волнистыми линиями. Это снижает вероятность привнесения нежелательных зависимостей.

Live Architecture Dependency validation

(рис. 54) Динамическая проверка зависимостей архитектуры


Командная строка разработчика

Скрипты командной строки разработчика Visual Studio 2017 оптимизированы с целью поддержки нового процесса установки:

  • переменные среды будут отражать только установленные рабочие нагрузки;
  • Ярлык командной строки разработчика Visual Studio должен быть совместим с предыдущими выпусками.
  • Теперь скрипты командной строки разработчика можно настроить с помощью аргументов командной строки:
    • Чтобы получить дополнительные сведения, в командной строке вызовите common7\tools\vsdevcmd.bat -help (из каталога установки Visual Studio).

Azure SDK для .NET

Azure SDK для .NET Visual Studio теперь можно установить через новый установщик Visual Studio. Если вы ранее установили пакет Azure SDK для .NET через установщик веб-платформы, теперь те же компоненты можно получить, установив рабочую нагрузку Azure с использованием нового установщика Visual Studio. Установленные пакеты находятся на одном функциональном уровне с версией 2.9.5 пакета SDK. Для этой и всех будущих версий Visual Studio пакет Azure SDK для .NET будет доступен только из установщика Visual Studio.


Посетите страницу заметок о текущем выпуске

Посетите страницу заметок о выпуске Visual Studio 2017 (версия 15.1)

The Developer Community Portal Просмотрите проблемы, о которых сообщили клиенты и которые были исправлены в Visual Studio 2017 (версия 15.1).

Известные проблемы

Просмотрите все существующие известные проблемы и доступные решения в Visual Studio 2017.