Microsoft выпускает Visual Studio 2022 с несколькими новыми улучшениями

Значок времени чтения 12 минута. читать


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

Прочтите нашу страницу раскрытия информации, чтобы узнать, как вы можете помочь MSPoweruser поддержать редакционную команду. Читать далее

Предварительный просмотр Microsoft Visual Studio 2022

Предварительный просмотр Microsoft Visual Studio 2022

Сегодня Microsoft объявила об общедоступной версии Visual Studio 2022. Эта общедоступная версия Visual Studio 2022 поставляется с действующей лицензией для использования в производстве.

Основные возможности Visual Studio 2022:

64-бит

  • devenv.exe теперь только 64-битный

Облачные службы Azure

  • Теперь поддерживаются проекты облачной службы Azure (классическая версия) и облачной службы Azure (расширенная поддержка).

C + +

  • Инструменты сборки v143 теперь доступны через установщик Visual Studio, а также через автономные инструменты сборки.
  • Новый интерфейс Hot Reload теперь доступен для собственных приложений C++ при работе в отладчике. Он поддерживает проекты MSBuild и CMake. Для получения дополнительной информации см. наш Раздел «Горячая перезагрузка» внизу.
  • Теперь вы можете выполнять сборку и отладку непосредственно на WSL2, не устанавливая SSH-подключение. Поддерживаются как кроссплатформенные проекты CMake, так и проекты Linux на основе MSBuild.
  • Visual Studio теперь поддерживает buildPresets.targets параметр в CMakePresets.json. Это позволяет вам создать подмножество целей в вашем проекте CMake.
  • Меню «Проект» в проектах CMake было оптимизировано и предоставляет параметры «Удалить кэш и перенастроить» и «Просмотреть кэш».
  • Страницы обзора CMake обновлены для поддержки CMakePresets.json.
  • Реализован /scanDependencies флаг для вывода зависимостей модуля C++20 для проектов CMake, как описано в P1689r3. Это шаг к поддержке создания проектов на основе модулей с помощью CMake, и мы работаем над завершением этой поддержки в более поздних выпусках.
  • Теперь вы можете отлаживать процессы, запущенные в удаленных системах, из Visual Studio с помощью LLDB.
  • Мы обновили версию CMake, поставляемую с Visual Studio, до версии 3.21. См. Примечания к выпуску CMake 3.21 для получения подробной информации о том, что доступно.
  • Инструменты LLVM, поставляемые с Visual Studio, были обновлены до LLVM 12. См. Примечания к выпуску LLVM для получения информации.
  • Набор инструментов MSVC теперь по умолчанию использует SHA-256. исходное хеширование в отладочных записях. Ранее набор инструментов по умолчанию использовал MD5 для хеширования источника.
  • Рабочая нагрузка «Разработка игр на C++» теперь устанавливает последнюю версию Unreal Engine с поддержкой Visual Studio 2022.
  • Внесены улучшения в C++ IntelliSense при обеспечении навигации и подсветки синтаксиса для типов из импортированных модулей и блоков заголовков.
  • Повышенная производительность C ++ IntelliSense за счет оптимизации использования кэшированных заголовков и доступа к базе данных символов, что обеспечивает сокращение времени загрузки для входа в ваш код.
  • IntelliSense Code Linter для C ++ теперь включен по умолчанию, предлагая мгновенные предложения по мере ввода и предложения по исправлению распространенных дефектов кода.
  • Поддержка libfuzzer под коммутатором -fsanitize=fuzzer. Посмотреть документация Больше подробностей.
  • Мы улучшили обнаружение разыменования нулевого указателя в наших инструментах анализа кода.
  • Анализ кода теперь обеспечивает возврат значений функций, аннотированных с помощью _Check_return_ or _Must_inspect_result_ необходимо проверить.
  • Добавлена ​​поддержка gsl::not_null для анализа кода.
  • Обновлено до NDK r21 LTS в рабочей нагрузке C ++ Mobile Development.
  • Заголовки C++ AMP теперь устарели. В том числе в проекте C++ будет генерировать ошибки сборки. Чтобы заглушить ошибки, определите _SILENCE_AMP_DEPRECATION_WARNINGS, Посмотри пожалуйста наши ссылки на устаревшие AMP Больше подробностей.

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

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

Персонализация

  • Добавлены цветные вкладки для вертикальных и горизонтальных вкладок.
  • Добавлен пакет тем и работа с авторами тем VS Code для запуска. коллекция пользовательских тем
  • Построенный Конвертер тем для преобразования тем VS Code для работы в Visual Studio 2022
  • Добавлена ​​возможность синхронизации темы Visual Studio с темой Windows.
  • Добавлены новые возможности управления документами, включая настройку ширины вкладок, выделение активного документа полужирным шрифтом и дополнительную кнопку закрытия в docwell.

редактор

  • Добавлена ​​навигация по подсловам
  • Автосохранение теперь доступно в качестве функции предварительного просмотра
  • Копирование / вставка с несколькими картами

растяжимость

  • Удалены API из сборок Microsoft.VisualStudio.Language.Client.
  • VS SDK содержит несколько критических изменений, а расширения Visual Studio 2019 не будут работать в 2022 году. См. Документация ВСДК чтобы получить больше информации.
  • Справочные сборки VS SDK больше не устанавливаются на VSSDK\VisualStudioIntegration\Common\Assemblies папка. Если ваша сборка зависела от этих сборок, перенесите свой проект, чтобы вместо этого использовать пакеты NuGet. Для офлайн-сценариев:
    1. Сохраняйте внутриорганизационный канал nuget, из которого можно восстановить пакеты nuget.
    2. Проверьте в бинарниках.
  • Добавлены исправления критических изменений ILanguageClient

Облачные сервисы

  • Азурит будет использоваться для локальной эмуляции службы хранилища Azure вместо старого и более активно не разрабатываемого эмулятора службы хранилища Azure.

Инструменты Git

Меню помощи

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

Опыт горячей перезагрузки

  • Горячая перезагрузка теперь доступна разработчикам .NET через отладчик Visual Studio и без отладчика для многих типов приложений .NET 6.
  • Горячая перезагрузка теперь доступна разработчикам C++ при использовании отладчика Visual Studio.

Для более подробной информации смотрите ссылку выше

IntelliCode

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

JavaScript / TypeScript

  • Мы выпустили новый тип проектов JavaScript/TypeScript, который позволяет создавать автономные проекты JavaScript/TypeScript с дополнительными инструментами. Вы сможете создавать проекты Angular и React в Visual Studio, используя версию фреймворка, установленную на вашем компьютере.
  • Тестирование JavaScript и TypeScript теперь доступно в обозревателе тестов Visual Studio.
  • Доступен графический интерфейс NPM, поэтому теперь вы можете загружать модули NPM так же, как загружаете пакеты Nuget.

Пакет SDK для .NET 6

  • Пакет SDK для .NET 6 включен в Visual Studio 2022.

.NET производительность

  • Внедрение рефакторинга параметров может переместить новый параметр из реализации метода в его вызывающие объекты.
  • Отслеживание источника значений для анализа потока данных
  • Возможность подчеркивания переменных, которые переназначаются
  • Добавлена ​​опция поиска в диалоговом окне «Создать переопределения».
  • Краткая информация для tags now preserve whitespace and CDATA blocks
  • Окно «Найти все ссылки» теперь будет группировать многоцелевые проекты.
  • Рефакторинг для удаления повторяющихся типов в Visual Basic
  • Перейти к реализации больше не будет переходить к членам с абстрактными объявлениями, которые также переопределены.
  • Синхронизируйте пространства имен в соответствии со структурой папок из обозревателя решений.
  • Настройка фонового анализа кода из обозревателя решений
  • Обнуляемые ссылочные типы теперь включены по умолчанию для новых проектов .NET.
  • C # 10.0 Рефакторинг пространства имен в области файлов
  • Переход к декомпилированным источникам теперь включен по умолчанию
  • Рефакторинг, чтобы предпочесть нулевую проверку проверке типа
  • XML-комментарии теперь будут автоматически генерировать <exception> тег, когда метод явно выдает исключения
  • Маржа наследования теперь включена по умолчанию

Языки программирования

  • C # 10

Редактор Razor (ASP.NET Core)

  • Уменьшение количества зависаний пользовательского интерфейса и повышение производительности при запуске решения
  • Более быстрая семантическая раскраска до 2x в некоторых решениях
  • Поддержка F7 (просмотр кода) в файлах Razor
  • Поддержка сниппетов в файлах razor, которые завершат сеанс сниппета с одной вкладкой вместо нажатия вкладки-вкладки
  • Лучшее форматирование в блоках @code при наличии вложенных компонентов HTML и Razor
  • Поддержка горячей перезагрузки в файлах Razor
  • повышение производительности
  • Улучшения форматирования и отступов
  • Новые цвета редактора Razor
  • TagHelpers теперь раскрашены и имеют поддержку классификации быстрой информации и всплывающие подсказки для завершения.
  • Подсветка угловых скобок и навигация для конструкций Razor
  • Комментарии теперь имеют автозаполнение, интеллектуальный отступ, автоматическое включение продолжения комментариев и блокировку навигации по комментариям.

Удаленное тестирование

  • Очень ранняя экспериментальная предварительная версия, позволяющая запускать тесты в удаленных средах, таких как контейнеры Linux, WSL и соединения через SSH.

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

  • Показать в обозревателе тестов
  • Новые версии тестовой платформы, начиная с 17.0, не смогут запускать общие и упорядоченные тесты. Эти специальные функции поставляются только как часть ранней версии MSTestv1 и не включены в MSTestv2. Мы видим очень низкий уровень использования этих функций, и упорядоченные тесты теперь считаются противоречащими передовым методам тестирования.
  • Некоторые возможности тестирования будут недоступны в версии 17.0, включая создание новых файлов TestSettings и редактор TestSettings. Тестовые прогоны по-прежнему смогут использовать файлы TestSettings, однако TestSettings были заменены на RunSettings, и мы рекомендуем пользователям перенести улучшенную производительность и функциональность. Читать далее.
  • Web Load Test и Coded UI Test поддерживают обновления. Закодированные тесты пользовательского интерфейса и [веб-нагрузочные тесты](прекращение срока службы облачной службы нагрузочного тестирования | Блог Azure DevOps (microsoft.com) официально признан устаревшим в 2019 году. Чтобы свести к минимуму влияние на пользователей, в Visual Studio 2022 поддерживается минимальная поддержка этих функций. поощрять пользователей отказываться от Coded UI Test и Web Load Test.

Наполнение панели инструментов для пакетов SDK расширений UWP

  • Пакеты SDK расширений UWP теперь должны явно объявлять типы, которые они хотят отображать на панели инструментов, перечисляя их в своих списках. Файл SdkManifest.xml. Поведение старых версий Visual Studio не изменилось; они будут игнорировать список элементов управления в манифесте и вместо этого будут динамически перечислять типы элементов управления в сборках SDK.

Надежные места

  • Мы переработали функциональность «Настройки доверия» и теперь можем отображать предупреждение всякий раз, когда в среде IDE собирается открыть ненадежный код (например, файлы, проекты или папки).
  • Проверки доверия теперь выполняются на уровне папки решения
  • Созданные пользователями проекты автоматически добавляются в список доверенных.
  • Пользователи могут пропускать проверки доверия для временных расположений, созданных Visual Studio.

Обновления, LTSC и развертывание

  • В Visual Studio 2022 будет одновременно поддерживаться несколько базовых уровней обслуживания, которые будут выпущены осенью и весной. Для получения более подробной информации см. Документация по ритму выпуска Visual Studio и Жизненный цикл продукта Visual Studio 2022.
  • Новый установщик, поставляемый с Visual Studio 2022, теперь позволяет настроить, откуда продукт Visual Studio должен получать обновления. Это позволяет вам выбирать обновления из другого LTSC или, если вы находитесь в управляемой корпоративной среде, вы можете настроить клиент для получения обновлений из макета. Возможность настроить источник обновлений — это новая функция, которая поставляется с установщиком Visual Studio, и поэтому поведение применимо и к более ранним версиям Visual Studio, таким как Visual Studio 2019. Дополнительные сведения о настройке канала обновления см. в Обновить Visual Studio документация. Для получения дополнительной информации о выполнении этой работы для сетевых макетов см. Руководство администратора Visual Studio.
  • ИТ-администраторы теперь могут сообщать о проблемах без установки Visual Studio.

Пользовательский интерфейс

  • Значки по умолчанию были обновлены и обновлены.

Web Tools

  • На странице сводки публикации теперь есть действия для запуска / остановки удаленной отладки и профилирования в меню «…» в правом верхнем углу раздела «Хостинг».
  • На странице «Подключенные службы» теперь есть действие для запуска Storage Explorer.
  • Шаблон «ASP.NET Core Empty», поставляемый с .NET 6, использует новый 'минимальные API' парадигмы, для которой мы начали добавлять поддержку
  • Азурит будет использоваться для локальной эмуляции службы хранилища Azure вместо старого и более активно не разрабатываемого эмулятора службы хранилища Azure.
  • Вы можете добавить аутентификацию в свое приложение ASP.NET Core, используя Платформа идентификации Майкрософт с помощью подключенных служб в Visual Studio.

Конструктор WPF XAML для .NET Framework

  • Текущий конструктор WPF XAML для .NET Framework заменен новым конструктором WPF XAML для .NET Framework, основанным на той же архитектуре, которая используется для конструктора WPF XAML для .NET (.NET Core). Работа с Visual Studio будет выглядеть так же, но сторонним поставщикам элементов управления необходимо поддерживать новую модель расширяемости, поскольку предыдущая модель, основанная на .design.dll и Microsoft.Windows.Design.Extensibility устарел. Если вы уже создали .designtools.dll расширение для .NET (.NET Core), это же расширение будет работать для нового конструктора WPF XAML для .NET Framework. Пожалуйста, обратитесь к миграционный документ ниже для получения дополнительной информации о том, как перейти на новую модель расширяемости.

Горячая перезагрузка XAML

  • XAML Hot Reload Changes - Незначительные изменения панели инструментов и настроек в приложении.

Интерактивная предварительная версия XAML

  • XAML Live Preview теперь доступен для разработчиков WPF, UWP, WinUI и Xamarin.Forms, запускающих свои приложения либо в эмуляторе Android, либо в виде классического приложения UWP. Live Preview фиксирует пользовательский интерфейс запущенных приложений и переносит его в закрепленное окно в Visual Studio. Это упрощает использование горячей перезагрузки XAML для изменения приложения, когда вы видите эти изменения в самой Visual Studio, без необходимости переключаться между работающим приложением и Visual Studio во время внесения изменений кода XAML в реальном времени.

Для получения дополнительной информации нажмите на ссылку выше.

Пример данных XAML

  • Образцы данных времени разработки теперь будут добавляться по умолчанию при создании элементов управления DataGrid, ListBox и ListView из панели инструментов в приложениях WPF. Чтобы отключить это поведение, снимите флажок «Автоматически добавлять образцы данных при создании элемента» в разделе «Инструменты» -> «Параметры» -> «Конструктор XAML».
  • Чтобы узнать больше о Sample Data, посетите Пример документации по данным.

Улучшенный интерфейс привязки XAML

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

Для получения дополнительной информации нажмите на ссылку выше.

Источник: Microsoft

Подробнее о темах: Microsoft, Visual Studio 2022