Microsoft випускає Visual Studio 2022 з кількома новими вдосконаленнями

Значок часу читання 12 хв. читати


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

Прочитайте нашу сторінку розкриття інформації, щоб дізнатися, як ви можете допомогти MSPoweruser підтримувати редакційну команду Читати далі

Попередній перегляд Microsoft Visual Studio 2022

Попередній перегляд Microsoft Visual Studio 2022

Сьогодні Microsoft оголосила про загальну доступність Visual Studio 2022. Ця версія GA Visual Studio 2022 постачається з ліцензією для використання у виробництві.

Основні функції Visual Studio 2022:

64-біт

  • devenv.exe тепер лише 64-розрядний

Хмарні служби Azure

  • Тепер підтримуються проекти Azure Cloud Service (класичний) і Azure Cloud Service (розширена підтримка).

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 for details.
  • Набір інструментів 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 для більш докладної інформації.

Налагодження та діагностика

  • Приєднати до покращень діалогу процесу
  • Покращення допоміжних винятків
  • Примусово Run to Click
  • Діагностичний аналіз дампу пам'яті
  • Ми випустили новий тип точки зупину під назвою Залежна точка зупину, яка дозволяє вам налаштувати точку зупину, щоб вона була ввімкнена, тільки якщо вперше була досягнута інша точка зупину.
  • Ми додали більше оновлень до вузла зовнішніх джерел , тепер ви можете побачити модуль у підвузлі «Модулі без джерел» і завантажити символи з самого провідника рішень.
  • Покращення водостоку точки зупинки
  • Тимчасова точка зупинки
  • Перетягніть точку зупинки
  • Вузол зовнішніх джерел у Solution Explorer
  • Приєднати до покращень діалогу процесу

Втілення

  • Додано кольорові вкладки для вертикальних і горизонтальних вкладок
  • Додано Theme Pack і працює з авторами теми VS Code для запуску колекція користувацьких тем
  • Побудований Конвертер тем щоб перетворити теми VS Code для роботи у Visual Studio 2022
  • Додана можливість синхронізації теми Visual Studio з темою Windows
  • Додані нові можливості керування документами, включаючи налаштування ширини вкладки, виділення жирним активним документом та додаткову кнопку закриття у вікні документа.

редактор

  • Додана навігація підсловами
  • Автозбереження тепер доступне як функція попереднього перегляду
  • Досвід копіювання/вставки з кількома вставками

Розширюваність

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

хмарні послуги

  • Азурит буде використовуватися для локальної емуляції Azure Storage замість старого і більше не активно розробляється емулятора Azure Storage.

Інструменти Git

Меню довідки

  • У версії 17.0 ми переробили меню «Довідка» з матеріалом «Початок роботи» та корисними порадами/підказками.
  • Забезпечує більше співпраці з нашою командою розробників, додаючи такі речі, як доступ до спільноти розробників, примітки до випуску, дорожню карту продукту Visual Studio та наші сторінки в соціальних мережах.

Гаряче перезавантаження

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

Більш детальну інформацію дивіться за посиланням вище

IntelliCode

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

JavaScript / TypeScript

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

.NET 6 SDK

  • Пакет SDK .NET 6 входить до Visual Studio 2022

Продуктивність .NET

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

Мови програмування

  • C # 10

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

  • Зменшено зависання інтерфейсу користувача та покращена продуктивність під час запуску рішення
  • Швидше семантичне забарвлення в 2 рази в деяких рішеннях
  • Підтримка F7 (код перегляду) у файлах Razor
  • Підтримка фрагментів у файлах Razor, яка завершить сеанс фрагмента однією вкладкою замість натискання tab-tab
  • Краще форматування в блоках @code, коли є вкладені HTML і компоненти Razor
  • Підтримка гарячого перезавантаження у файлах Razor
  • підвищення продуктивності
  • Покращення форматування та відступів
  • Нові кольори редактора Razor
  • TagHelpers тепер розфарбовані та мають швидку підтримку класифікації інформації та підказки щодо завершення
  • Підсвічування кутових дужок і навігація для конструкцій Razor
  • Коментарі тепер мають автоматичне завершення, розумний відступ, автоматичне включення продовження коментування та блокування навігації щодо коментарів

Дистанційне тестування

  • Дуже ранній експериментальний попередній перегляд, який дозволяє виконувати тести у віддалених середовищах, таких як контейнери Linux, WSL та з’єднання через SSH.

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

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

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

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

Довірені місця

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

Оновлення, LTSC та розгортання

  • У Visual Studio 2022 буде кілька базових ліній обслуговування, які будуть одночасно підтримуватися, які будуть випущені восени та навесні. Для отримання додаткової інформації див Документація Visual Studio Release Rhythm і Життєвий цикл продукту 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 Storage замість старого і більше не активно розробляється емулятора Azure Storage.
  • Ви можете додати автентифікацію до програми ASP.NET Core за допомогою Платформа ідентифікації Microsoft за допомогою підключених служб у Visual Studio.

WPF XAML Designer для .NET Framework

  • Поточний конструктор WPF XAML для .NET Framework замінено на новий WPF XAML Designer для .NET Framework, заснований на тій же архітектурі, що використовується для WPF XAML Designer для .NET (.NET Core). Досвід Visual Studio виглядатиме так само, але сторонні постачальники контролю повинні підтримувати нову модель розширюваності, оскільки попередня модель заснована на .design.dll та  Microsoft.Windows.Design.Extensibility є застарілим. Якщо ви вже створили a .designtools.dll розширення для .NET (.NET Core), те саме розширення працюватиме для нового WPF XAML Designer for .NET Framework. Будь ласка, зверніться до міграційний документ нижче для отримання додаткової інформації про те, як перейти до нової моделі розширюваності.

Гаряче перезавантаження XAML

  • Зміни гарячого перезавантаження XAML – незначні зміни панелі інструментів і налаштувань програми

Попередній перегляд XAML в реальному часі

  • XAML Live Preview тепер доступний для розробників WPF, UWP, WinUI і Xamarin.Forms, які запускають свої програми в емуляторі Android або як настільний додаток UWP. Попередній перегляд у реальному часі фіксує інтерфейс користувача запущених програм і переносить його у закріплене вікно в Visual Studio. Це полегшує використання XAML Hot Reload для зміни програми, переглядаючи ці зміни всередині самої Visual Studio, без необхідності переходити між запущеною програмою та Visual Studio під час внесення змін у код XAML в реальному часі.

Для отримання додаткової інформації натисніть на посилання вище.

Зразок даних XAML

  • Зразки даних часу розробки тепер будуть додаватися за замовчуванням під час створення елементів керування DataGrid, ListBox і ListView з панелі інструментів у програмах WPF. Щоб вимкнути цю поведінку, зніміть прапорець «Автоматично додавати зразки даних під час створення елемента» у розділі «Інструменти» -> «Параметри» -> «Конструктор XAML».
  • Щоб дізнатися більше про зразки даних, відвідайте сторінку Зразок документації з даними.

Покращений досвід зв’язування XAML

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

Для отримання додаткової інформації натисніть на посилання вище.

джерело: Microsoft

Детальніше про теми: Microsoft, Visual Studio 2022