Поделиться через


2022LogoЗаметки о выпуске Visual Studio 2022 версии 17.8


Совет

Просмотрите записи с мероприятия по запуску Visual Studio 2022, чтобы узнать о новых возможностях, услышать советы и скачать бесплатные цифровые образцы.

Сообщество разработчиков | Дорожная карта Visual Studio 2022 | Требования к системе | Совместимость | Распространяемый код | Журнал выпусков | Условия лицензии | Блоги | Известные проблемы последнего выпуска | Документация по новым возможностям в Visual Studio


Нажмите кнопку, чтобы скачать последнюю версию Visual Studio 2022. Инструкции по установке и обновлению Visual Studio 2022 см. в документации по обновлению до последнего выпуска Visual Studio 2022. Кроме того, см. инструкции по установке в автономном режиме.

Кнопка Скачивание профессиональной кнопкиСкачать корпоративную кнопку

Посетите сайт Visual Studio, чтобы скачать другие продукты Visual Studio 2022.


Выпуски Visual Studio 2022 версии 17.8

Блог Visual Studio 2022

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


17.8.14 Visual Studio 2022 версии 17.8.14

Выпущено 10 сентября 2024 г.

Новые возможности этого выпуска

  • Обновление метода проверки подлинности, используемого при взаимодействии с Microsoft Store.

Сообщество разработчиков

Устранены рекомендации по безопасности

CVE-2024-35272 SQL Server Native Client OLE DB Provider Remote Code Execution


17.8.13 Visual Studio 2022 версии 17.8.13

Выпущено 13 августа 2024 г.

Сводка о новых возможностях в этом выпуске

  • Уменьшите размер файла ILK во время добавочного связывания.

Устранены рекомендации по безопасности

  • CVE-2024-38167 Уязвимость существует в tlsStream среды выполнения .NET, что может привести к раскрытию информации.
  • CVE-2024-38168 Уязвимость существует в .NET, когда злоумышленник через неуправляемые запросы может активировать отказ в обслуживании на веб-сервере ASP.NET HTTP.sys. Это только уязвимость ос Windows.

17.8.12 Visual Studio 2022 версии 17.8.12

Выпущено 9 июля 2024 г.

Сводка о новых возможностях в этом выпуске

  • Обновите MinGit до версии 2.45.2.1, включающую GCM 2.5, которая устраняет проблему с предыдущей версией GCM, в которой она сообщила об ошибке обратно в Git после клонирования и сделала ее похожей на сбой клонирования.

Устранены рекомендации по безопасности

  • CVE-2024-38081 Уязвимость существует в установщике Visual Studio в ОС Windows, где непривилегированного пользователя разрешено управлять установкой Visual Studio, что приводит к повышению привилегий.
  • CVE-2024-30105 Уязвимость существует в .NET при вызове метода JsonSerializer.DeserializeAsyncEnumerable для ненадежных входных данных с помощью System.Text.Json может привести к отказу в обслуживании.
  • CVE-2024-38095 Уязвимость существует, когда System.Formats.Asn1 в .NET анализирует сертификат X.509 или коллекцию сертификатов, вредоносный сертификат может привести к чрезмерному потреблению ЦП на всех платформах, что приводит к отказу в обслуживании.
  • CVE-2024-35264 Уязвимость существует в ASP.NET Core 8, где повреждение данных в Kestrel HTTP/3 может привести к удаленному выполнению кода.

17.8.11 Visual Studio 2022 версии 17.8.11

Выпущено 11 июня 2024 г.

Сводка о новых возможностях в этом выпуске

  • После обновления до сборки Germanium в Windows WSL требуется обновление вручную. Это может привести к зависаю Visual Studio при открытии проектов CMake.
  • Исправлена ошибка в коде чтения PDB, чтобы игнорировать ожидаемые сбои в некоторых PDOB-файлах FASTLINK.

Сообщество разработчиков

Устранены рекомендации по безопасности

  • CVE-2024-30052 Удаленное выполнение кода при отладке файлов дампа, содержащих вредоносный файл с соответствующим расширением
  • CVE-2024-29060 Повышение привилегий, в которых запущена затронутая установка Visual Studio
  • Установщики на основе WIX CVE-2024-29187 уязвимы для двоичного перехвата при запуске от имени SYSTEM

17.8.10 Visual Studio 2022 версии 17.8.10

Выпущено 14 мая 2024 г.

Сводка о новых возможностях в этом выпуске

  • Компоненты установщика Xamarin и Xamarin Profiler отмечены как "Вне поддержки".
  • Исправлены эти структуры данных, которые не отображаются правильно в отладчике VS: Concurrency::concurrent_unordered_set, Concurrency::concurrent_unordered_multiset, Concurrency::concurrent_unordered_map, Concurrency::concurrent_unordered_multimap.
  • Исправлена ошибка соглашения о вызове в arm64, в которой вызывающий и вызывающий объект не согласились с тем, где найти параметры по значению, превышающие 16 байт.
  • Этот выпуск также включает обновление OpenSSL до версии 3.2.1

Сообщество разработчиков

Устранены рекомендации по безопасности

  • CVE-2024-32002 Рекурсивные клоны на файловых системах без учета регистра, поддерживающих символы, подвержены удаленному выполнению кода.
  • CVE-2024-32004 Удаленное выполнение кода при клонирование специальных локальных репозиториев
  • CVE-2024-30045 Уязвимость удаленного выполнения кода существует в .NET 7.0 и .NET 8.0, где переполнение буфера стека происходит в подпрограмме двойного анализа .NET.
  • CVE-2024-30046 Уязвимость существует в Microsoft.AspNetCore.Server.Kestrel.Core.dll где может произойти взаимоблокировка, что приводит к отказу в обслуживании.

17.8.9 Visual Studio 2022 версии 17.8.9

Выпущено 9 апреля 2024 г.

Сводка о новых возможностях этого выпуска Visual Studio 2022 версии 17.8.9

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

Устранены рекомендации по безопасности

  • CVE-2024-21409 Уязвимость после использования существует в WPF, что может привести к повышению привилегий при просмотре недоверенных документов.
  • CVE-2024-28929 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28930 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28931 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28932 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-289333 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28934 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28935 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28936 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28937 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28938 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28941 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-28943 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
  • CVE-2024-29043 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.

17.8.8 Visual Studio 2022 версии 17.8.8

Выпущено 12 марта 2024 г.

Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.8

  • Исправлены ложные отрицательные значения адреса для устаревших распределителей Окна, а также состояние гонки при запуске в зависимости от загрузки библиотеки Dll Sanitizer address.
  • Исправлено, чтобы предотвратить скалярную нагрузку памяти в встроенном расширении функций std::round() в векторный доступ. Хотя векторный доступ не изменяет результат вычисления, он дольше и может завершиться ошибкой при успешной скалярной нагрузке.
  • Исправлена ошибка, из-за которой libconcrt.lib, используемая при статической компоновке, могла содержать инструкцию SSE 4.2, которая была незаконной в старых системах X64.

Сообщество разработчиков

Устранены рекомендации по безопасности

  • CVE-2024-21392 Уязвимость существует в .NET, где специально созданные запросы могут привести к утечке ресурсов, что приводит к отказу в обслуживании.
  • CVE-2024-26190 Уязвимость существует в MsQuic.dll, что может привести к выделению небольших блоков памяти до тех пор, пока подключение остается в живых.
  • CVE-2023-27911 Эта рекомендация повторно публикуется, чтобы указать, что пакет SDK для Autodesk® FBX® больше не поддерживается в Visual Studio 2022.

17.8.7 Visual Studio 2022 версии 17.8.7

Выпущено 13 февраля 2024 г.

Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.7

  • Visual Studio может запускать форму в учетной записи SYSTEM.
  • Обновляет .NET MAUI до версии 8.0.6 SR1.

Сообщество разработчиков

Устранены рекомендации по безопасности

  • CVE-2024-0057 — уязвимость обхода функций безопасности существует, когда приложения на основе Microsoft платформа .NET Framework используют API-интерфейсы сборки цепочки X.509, но не полностью проверяют сертификат X.509 из-за ошибки логики.
  • CVE-2024-21386 Уязвимость существует в ASP.NET приложениях с помощью SignalR, где вредоносный клиент может привести к отказу в обслуживании.
  • CVE-2024-21404 Уязвимость типа "отказ в обслуживании" существует в .NET с поддержкой OpenSSL при анализе сертификатов X509.

17.8.6 Visual Studio 2022 версии 17.8.6

Выпущено 30 января 2024 г.

Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.6

Сообщество разработчиков


17.8.5 Visual Studio 2022 версии 17.8.5

Выпущено 17 января 2024 г.

Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.5

  • Добавляет исправления поддержки xcode 15.1 и API, чтобы получить полные заметки о выпуске, посетите страницу выпусков macios.
  • Исправлена проблема, при которой некоторые клиенты, после изменения целевой платформы для своего проекта Razor, не смогли увидеть компоненты, которые впоследствии были добавлены.
  • Исправлен сбой при запуске диалогового окна "Подключение отладки > к процессу".
  • Исправляет сбой при изменении модификатора доступа в конструкторе параметров.

Сообщество разработчиков


17.8.4 Visual Studio 2022 версии 17.8.4

Выпущено 9 января 2024 г.

Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.4

Сообщество разработчиков

Устранены рекомендации по безопасности

  • CVE-2024-20656 Уязвимость существует в службе VSStandardCollectorService150, где локальные злоумышленники могут повысить привилегии на узлах, где запущена затронутая установка Microsoft Visual Studio.
  • CVE-2023-32027 Эта рекомендация повторно публикуется для решения уязвимости microsoft ODBC Driver for SQL Server Remote Code Execution в Visual Studio.
  • CVE-2023-32025 Эта рекомендация повторно публикуется для решения уязвимости microsoft ODBC Driver for SQL Server Remote Code Execution в Visual Studio.
  • CVE-2023-32026 Эта рекомендация повторно публикуется для решения уязвимости microsoft ODBC Driver for SQL Server Remote Code Execution в Visual Studio.
  • CVE-2023-29356 Эта рекомендация повторно публикуется для устранения уязвимости microsoft ODBC Driver for SQL Server Remote Code Execution в Visual Studio.
  • CVE-2023-32028 Эта рекомендация повторно публикуется для решения уязвимости удаленного выполнения кода Microsoft SQL OLE DB в Visual Studio.
  • CVE-2023-29349 Эта рекомендация повторно публикуется для решения уязвимости microsoft ODBC и OLE DB Remote Code Execution в Visual Studio.
  • CVE-2024-0057 — уязвимость обхода функций безопасности существует, когда приложения на основе Microsoft платформа .NET Framework используют API-интерфейсы сборки цепочки X.509, но не полностью проверяют сертификат X.509 из-за ошибки логики.
  • CVE-2024-0056 Уязвимость существует в поставщике данных SQL Microsoft.Data.SqlClient и System.Data.SqlClient, где злоумышленник может выполнять атаку перехвата (иногда называется MITM или злоумышленником в середине, атакой) между клиентом SQL и сервером SQL.
  • CVE-2024-21319 Корпорация Майкрософт выпускает эти рекомендации по безопасности, чтобы предоставить сведения об уязвимости в шаблонах проектов ASP.NET Core.

17.8.3 Visual Studio 2022 версии 17.8.3

Выпущено 5 декабря 2023 г.

Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.3

  • Устранена проблема, из-за которой проекты, использующие razor-файлы в качестве связанных файлов или из общих проектов.

Сообщество разработчиков

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

  • Пользователи, имеющие программное обеспечение для управления привилегиями из Delinea, могут столкнуться с проблемами при запуске Visual Studio. Delinea знает об этой проблеме и устранена. Обратитесь к ним https://delinea.com/support , чтобы получить инструкции по устранению этой проблемы".

17.8.2 Visual Studio 2022 версии 17.8.2

Выпущено 28 ноября 2023 г.

Сводка о новых возможностях этого выпуска Visual Studio 2022 версии 17.8.2

  • Исправлена проблема, из-за которой в определенных ситуациях окно документа может застрять в сообщении о загрузке.
  • В некоторых случаях при сохранении проекта в папке решения может возникнуть ошибка. Проект будет сохранен, но вы увидите ошибку о невозможности приведения com-объекта. Эта проблема исправлена, поэтому ошибка больше не отображается.

Сообщество разработчиков


17.8.1 Visual Studio 2022 версии 17.8.1

Выпущено 21 ноября 2023 г.

Сводка о новых возможностях этого выпуска Visual Studio 2022 версии 17.8.1

  • Обновленная версия IncrediBuild устраняет проблему, из-за которой сборка проектов CMake с помощью стандартных команд меню сборки неправильно перенаправляет сборку на использование IncrediBuild по умолчанию.

Сообщество разработчиков


17.8.0 Visual Studio 2022 версии 17.8.0

Выпущено 14 ноября 2023 г.

Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8

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

Функции Предложения сообщества
GitHub Copilot
Сохранение регистра поиска и замены 🙏– 76 голосов
Создать запрос на вытягивание 🙏– 293 голоса
Сводка диффа 🙏– 7 голосов
Увеличение ограничения мюлит-репозитория 🙏– 8 голосов
Аватары GitHub, добавленные в окно репозитория Git
Поддержка удаленного модульного теста Linux
Создание статической глобальной функции
Сортировка директив #include
Поиск кода и навигация
Набор средств Teams
Уведомление об обновлении Visual Studio

Разработка игр и C++

Функции Предложения сообщества
Фрагменты фрагментов обработчика Unreal
Адаптер тестирования Unreal Engine
Представление функций Build Insights 🙏– 141 голосов
Создание подсказок констант функции-члена
Указания по размеру и выравниванию

Улучшения F#

Функции Предложения сообщества
F#

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

Функции Предложения сообщества
Поддержка кроссплатформенной отладки Enc/Горячая перезагрузка
Отладка Служба приложений Linux с помощью подключения к процессу
BenchmarkDotNet IDiagnosers
Расширенная поддержка темы для окна параметров точки останова
Поддержка счетчиков .NET для новых инструментов с помощью API измерения
Тестирование профилирования с помощью VS Profiler
Средство счетчиков .NET в сценарии отладки

Инструмент Razor

Функции Предложения сообщества
Действие кода для создания метода обработчика событий
Цвет фона для кода C#

Разработка JavaScript и TypeScript

Функции Предложения сообщества
Новые шаблоны React TypeScript и ASP.NET Объединенные шаблоны
поддержка launch.json для открытой папки

SQL

Функции Предложения сообщества
Обновление Microsoft.Data.SQLClient (MDS) с версии 3.0 до версии 5.0 в SQL Server Data Tools

Тестирование

Функции Предложения сообщества
Новый IntelliTest теперь в предварительной версии

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

Функции Предложения сообщества
Улучшенная скорость реагирования Razor/Blazor
Улучшенная скорость F5
Оптимизированная технология IntelliSense для C++ Unreal Engine
Ускорение сборки для проектов .NET, отличных от пакета SDK

Управление предприятиями

Функции Предложения сообщества
Упрощенные шаги инициализации клиента для ИТ-администраторов

Другие Сообщество разработчиков предложения: Вы спросили, мы слушали!


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

GitHub Copilot

Повышение производительности с помощью Visual Studio становится гораздо проще в новом выпуске Visual Studio. Автозавершение GitHub Copilot теперь доступно как необязательный компонент, что упрощает установку вместе с новой установкой Visual Studio или для администратора для упаковки с обновлением. Для активации функций требуется подписка; доступна бесплатная пробная версия.

Сведения о компоненте здесь: идентификаторы рабочих нагрузок и компонентов Visual Studio Enterprise | Microsoft Learn.

Поиск и замена с сохранением регистра

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

Поиск и замена с сохранением регистра

Переключите сохранение регистра в окне замены с помощью Alt+V или путем выбора параметра Сохранить регистр.

Быстрая замена (Ctrl+H):

Быстрая замена с сохранением регистра

Замена в файлах (Ctrl+Shift+H):

Замена в файлах с сохранением регистра

Поделитесь своими мыслями об интерфейсе замены с сохранением регистра в этом билете сообщества разработчиков: Поиск и замена с сохранением регистра в нескольких файлах.

Создание запроса на вытягивание в Visual Studio

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

Использование Markdown и добавление рецензентов для запроса на вытягивание

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

Добавление рецензентов в запрос на вытягивание

Теперь вы можете добавить рецензентов в запросы на вытягивание в Visual Studio для Azure DevOps и GitHub.

Добавление рецензентов в запрос на вытягивание

Попробуйте это сделать, щелкнув ссылку "Создать запрос на вытягивание", которая отображается при отправке, или выбрав Git GitHub > или Azure DevOps > New Pull Request из меню верхнего уровня. Затем перейдите в раздел "Рецензенты" и найдите рецензентов, которых нужно добавить. Мы планируем продолжать выпускать обновления для улучшения этой функции запроса на вытягивание, поэтому, поделитесь своими отзывами об этой функции здесь и свяжитесь с нами по заявке на предложение в Сообществе разработчиков Visual Studio.

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

Сводка различий

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

Сводка различий

Сообщите нам, что вы думаете об этой функции, поделившись своими отзывами здесь и поделитесь с нами предложением в сообществе разработчиков.

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

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

Параметр нескольких репозиторий

Аватары GitHub, добавленные в окно репозитория Git

Просмотрите аватары GitHub в графе с несколькими филиалами в окне репозитория Git.

Аватары GitHub

Средства GitHub Actions

Мы рассмотрели непредвиденное поведение нового узла GitHub Actions в Обозреватель решений, отображаемого для репозиториев, не размещенных на GitHub.com. Теперь новый узел должен отображаться только для репозиториев, размещенных на GitHub.com. Далее мы работаем над возможностью отключения нового узла с помощью параметров инструментов > .

Поиск кода и навигация

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

Универсальный поиск

Набор средств Microsoft Teams

В последней версии Visual Studio 2022 версии 17.8 мы введем дополнительные шаблоны проектов, чтобы соответствовать более бизнес-сценариям и упростить начало работы. Новые шаблоны:

— шаблон Echo Bot, который отражает входные данные пользователей. — шаблон отмены ссылки, который является типом приложения расширений сообщений, которое может отображать URL-ссылки на адаптивные карточки. — шаблон пользовательского результата поиска, который является типом приложений расширений сообщений, которые позволяют пользователям напрямую искать результаты из области чата или панели поиска. — шаблон сбора входных данных и обработки данных, который является типом действия приложения расширений сообщений, которое получает входные данные пользователей, выполняет некоторую логику, а затем отправляет результаты пользователям обратно.

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

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

Уведомление об обновлении Visual Studio

Заметил что-то новое? Для Visual Studio 2022 мы добавили наложение на значок панели задач VS, чтобы узнать, когда vs будет обновляться.
Если доступно обновление, и вы включили параметр "Обновить при закрытии", появится значок. После закрытия VS обновление сразу начнется, и в результате значок также исчезнет. Дополнительные сведения об обновлении по закрытию см . в vs Update on Close.

Обновить

Кроме того, устранена проблема, из-за которой поставщик Git SCC привязывается к папкам без Git в режиме Open Folder и запрещает другим поставщикам, таким как VisualSVN.


Разработка игр и C++

  • Мы добавили поддержку для запуска удаленных модульных тестов Linux из обозревателя тестов в Visual Studio на все удаленные компьютеры Linux, к которых они подключены через диспетчер подключений

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

Структурированная диагностика

  • Теперь мы реализовали поддержку необязательной библиотеки потоков C11. К ним относятся потоки, мьютексы, переменные условий и локальное хранилище потоков.
  • CMake версии 3.27 теперь поставляется с Visual Studio в классической разработке с рабочей нагрузкой C++.
  • Теперь вы можете перейти к представлению целевых объектов CMake, щелкнув правой кнопкой мыши в любом месте Обозреватель решений и выбрав переключатель в представление целевых объектов CMake.

Кнопка

  • Теперь вы также можете получить доступ к представлению целевых объектов CMake, выбрав его в раскрывающемся списке "Вид".

Раскрывающийся список

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

Удаленный проводник

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

Пример превращения глобальной функции в статическую

  • Параметры этой функции можно настроить, перейдя в > текстовый редактор > параметров > C/C++ > IntelliSense.

Параметр для превращения глобальной функции в статическую

  • Добавлены новые фрагменты кода для Unreal Engine. Начните вводить текст в окне редактора, а фрагменты кода UE начнут отображаться как элемент списка участников в проектах UE. Нажмите клавишу TAB или ВВОД, чтобы создать фрагмент кода. Поддерживаемые фрагменты: (UClass, UClassExported, UENUM, UFUNCTION, UINTERFACE, UINTERFACEExported, UPROPERTY, USTRUCT, USTRUCTExported, UELOG, SWidget, TActorRange, TObjectRange, WITH_EDITOR)

Фрагменты фрагментов unreal Engine

  • Вы теперь можете создавать, администрировать и запускать тесты Unreal Engine из Visual Studio. Чтобы убедиться, что адаптер тестирования Unreal Engine включен правильно, дважды проверьте, выбран ли в установщике Visual Studio установщик Visual Studio в рабочей нагрузке "Разработка игр с помощью C++". После установки адаптера тестов UE тесты Unreal Engine будут автоматически отображаться в обозревателе тестов при открытии Visual Studio. Требуется последняя версия подключаемого модуля Unreal Engine из UE Marketplace или GitHub .

Пример Tafue

  • Мы добавили представление функций для интеграции Build Insights в Visual Studio. Созданный диагностический отчет Build Insights теперь показывает время создания функций, а также ForceInlines.

Представление функций Build Insights

  • Добавлены автоматические предложения по созданию функций-членов const , если они логически не должны изменять состояние объекта. Наведите указатель мыши на функцию-член и щелкнув значок лампочки, вы можете быстро получить доступ к предложениям, чтобы пометить функцию как констант.

Констант функции-члены намекает на предложения лампочки

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

Размер и выравнивание

  • Теперь у вас есть возможность сортировать директивы #include. Эта функция доступна в раскрывающемся списке "Директивы #include" в контекстном меню. Вы также можете получить доступ к нему, добавив "Сортировка директив #include (C++)" в параметрах конфигурации очистки кода.

Сортировка включает запись

  • Вы можете настроить порядок сортировки, чтобы выровнять параметры, перейдя к > текстовому редактору > параметров > C/C++ > Code Cleanup.

Сортировка включает параметр

  • /FU больше не поддерживается для компиляций C, так как для C не /clr поддерживается.
  • /FU:asFriend добавлено для обеспечения четности с исходным кодом #using <assembly> as_friend.

F#

  • Провел капитальный ремонт исправлений кода, устраняя многочисленные ошибки (подробные сведения здесь).
  • Появилось новое исправление кода, которое изменяет значение (=) на двоеточие (:) в определениях полей записи: Исправление нового кода F#
  • Реализован параметр активации диагностика для незакрытых файлов. Этот параметр отключен по умолчанию для соображений производительности (подробные сведения здесь).
  • Улучшенная автоматическая компиляция в различных сценариях, в том числе:
    • Поля анонимной записи: Улучшена автоматическая компиляция в полях анонимной записи
    • Поля регистра объединения: Улучшена автозавершение в полях регистра объединения
    • Поля регистра различаемого объединения: Улучшена автозавершение в полях регистра различаемого объединения
    • Выражения значения регистра перечисления: Улучшена автозавершение в выражениях значения регистра перечисления
  • Устранены проблемы, связанные с анонимной обработкой записей в FSI (No 15519).
  • Исправлены вводящие в заблуждение номера строк в FSI (No 15384).
  • Объединенные подсказки для автоматических свойств: Объединенные подсказки для автоматических свойств
  • Улучшенные указания по имени параметра, скрывая их для имен аргументов, которые соответствуют дискриминированным полям объединения: Улучшенные указания по имени параметра
  • Устранены проблемы с навигацией по определениям внешних перечислений и дискриминированных профсоюзов (No 15270).
  • Исправлены ссылки на поиск операторов, начиная с '>' (#15386).

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

Инструмент "Счетчики .NET" в сценарии отладки

Теперь у вас есть удобный доступ к счетчику .NET через окно диагностика, выбрав выбранные счетчики .NET в раскрывающемся меню "Выбор инструмента". Даже при проведении сеансов отладки можно использовать возможности счетчиков .NET для контроля и оценки важных метрик производительности.

Счетчики .NET

Поддержка кроссплатформенной отладки Enc/Горячая перезагрузка

Мы добавили поддержку сценариев редактирования и продолжения для F5 (с отладчиком) и CTRL-F5 (без отладчика) при диагностике и отладке приложений, размещенных в контейнерах Linux или в подсистема Windows для Linux (WSL). Обратите внимание, что сценарий отладки F5 зависит от .NET 8 RC1 и выше.

Отладка служб приложений Linux путем присоединения к процессу

Мы рады представить новую эффективную функцию, которая обеспечивает отладку процессов .NET в службах приложений Linux посредством возможности "Присоединение к процессу".
Эта функция позволяет разработчикам легко выполнять отладку и диагностику проблем в запущенных экземплярах Служб приложений Azure для Linux.

Присоединение к процессу:

1.Выберите "Присоединить отладку > к процессу" (или нажмите клавиши CTRL+ALT+P), чтобы открыть диалоговое окно "Присоединение к процессу".

2.Проверьте тип подключения. Оно должно быть "Служба приложений Microsoft Azure"

3.Задайте целевой объект подключения для имени компьютера Linux.

4.Выберите правильный доступный процесс и нажмите кнопку "Присоединить"

LinuxAppServices-Attach-to-Process

BenchmarkDotNet IDiagnosers

Visual Studio Profiler теперь поддерживает BenchmarkDotNet IDiagnosers. Эти элементы IDiagnosers играют важную роль в агрегации файлов diagsession в сценариях BenchmarkDotNet.
Вкладка "Эталон" предлагает визуализацию выполненных сравнений с эталонами. Она также предоставляет возможность точно выбрать эталон из дорожки путем двойного щелчка по определенной строке.

IDiagnosers-swimlane

Кроме того, вы можете перейти к исходному файлу через контекстное меню, вызываемое правой кнопкой мыши. Статистические данные извлекаются непосредственно из BenchmarkDotNet и представлены в формате структурированной сетки.

IDiagnosers-gotosource

Расширенная поддержка тем для окна параметров точек останова

Мы добавили поддержку тем в окно параметров точки останова, обеспечивая непрерывную согласованность между темами Visual Studio Light, Dark и Blue.

Параметры точки останова

Поддержка счетчиков .NET для новых инструментов с помощью API счетчиков

Теперь средство счетчиков .NET представляет интеграцию API счетчиков .NET, охватывая новые варианты инструментирования, включая "Счетчик" и "ObservableCounter".

Счетчик отслеживает значение, изменяющееся со временем, при этом вызывающие сообщения обновляются с помощью "Counter.Add". В отличие от этого, "ObservableCounter" похож на счетчик, но вызывающий отвечает за отслеживание общего значения. Сейчас средство счетчиков .NET сообщает о скорости изменения итогового значения.

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

17.8.p2. DotNetCounter-MetersApi.mp4

Тестирование профилирования с помощью Центра диагностики

Мы рады представить обновленную возможность профилирования тестов. Щелкнув тест правой кнопкой мыши в обозревателе тестов, выберите "Профиль", теперь можно выбрать один из доступных средств, включая:

  • Загрузка ЦП
  • Использование GPU
  • Операции ввода-вывода файлов
  • .NET Async
  • Средство просмотра событий

Выберите инструменты, которые вы хотите использовать, и нажмите кнопку "Пуск", а отчет будет предоставлен.

Тестирование профилирования


Инструмент Razor

Действие кода для создания метода обработчика событий

Если вы используете событие, например @onclick или @onactivate ссылаетесь на метод C#, который еще не определен, можно использовать новое действие кода Razor для автоматического создания этого метода обработчика событий. Это действие кода также поддерживает пользовательские аргументы событий.

Действие кода для создания метода обработчика событий

Цвет фона для кода C#

Теперь у вас есть возможность добавить цвет фона для кода C#, расположенного в файлах Razor. По умолчанию включите этот параметр, перейдя в редактор > ">Параметры > текста" Razor > "Расширенный" и установив фон для кода C# значение True.

Цвет фона для кода C#


Разработка JavaScript и TypeScript

Новые шаблоны React TypeScript и ASP.NET Объединенные шаблоны

Когда мы первоначально выпустили JavaScript/TypeScript с ASP.NET объединенными шаблонами в этой записи блога, мы получили отзывы о том, что пользователи заслуживают лучшего интерфейса создания проекта React TypeScript. Этот новый React TypeScript с ASP.NET объединенным шаблоном получает tsconfig и SpaProxy, настроенный из поля.

Объединенные шаблоны React TypeScript и ASP.NET

поддержка launch.json для открытой папки

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

поддержка launch.json для открытой папки


SQL

  • Обновление Microsoft.Data.SQLClient (MDS) версии 3.0 до версии 5.0 в SQL Server Data Tools (SSDT)
  • В диалоговое окно "Подключение" добавляются два новых поля Диалоговое окно подключения
  • Свойство Encrypt теперь по умолчанию имеет значение true (включено) при подключении. Если у сервера нет доверенного сертификата, может быть уместно использовать сертификат сервера доверия, равный true. Дополнительные сведения см. в документации

Новый IntelliTest теперь в предварительной версии

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

Предыдущие реализации этой функции выпуск Enterprise поддерживают только код для платформа .NET Framework и не поддерживают конфигурацию x64. Эта обновленная версия включает в себя следующее:

Эту функцию можно использовать с помощью средств > управления предварительными версиями функций и выбора поддержки IntelliTest для NetFx и Net6 с помощью Z3 версии 4 (требуется перезапуск).

Включение Intellitest

Затем в коде щелкните правой кнопкой мыши метод и выберите IntelliTest (предварительная версия) и создайте проект, в котором можно сохранить тесты или создать тесты, чтобы создать набор тестов для проверки и принятия решения о сохранении.

Активация Intellitest в коде


|

Средства повышения производительности

Улучшенная скорость реагирования Razor/Blazor

Решения с помощью Razor и Blazor будут лучше реагировать. Мы достигли этого, значительно сокращая выделение памяти во время межпроцессного взаимодействия между Visual Studio и Roslyn. Мы проверили решение OrchardCore, и результаты впечатляющие. Для открытия решения и подготовки Intellisense Razor мы выделяем около 1,4 ГБ меньше памяти. Меньшее количество выделений кучи означает меньшую работу для сборщика мусора, что приводит к повышению скорости реагирования.

Улучшенная скорость F5

Мы значительно улучшили производительность F5 для собственных проектов, оптимизируя настройку точек останова. Улучшения, видимые любым проектом, зависят от количества файлов с точками останова, количеством библиотек DLL с символами и т. д. Кроме того, мы оптимизируем процесс загрузки PDB для приложений Windows, уменьшая время загрузки PDB после его расположения. В нашем тестировании эти оптимизации обеспечивают замечательное улучшение скорости на 20 % для проектов Unreal Editor.

Улучшенная скорость F5

Оптимизированная технология IntelliSense для C++ Unreal Engine

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

IntellisenseCPlus

Ускорение сборки для проектов .NET, отличных от пакета SDK

Visual Studio 17.8 расширяет ускорение сборки для управляемых приложений, предназначенных для проектов стилей, отличных от пакета SDK (например, проектов, предназначенных для платформа .NET Framework 4.8 или более поздней версии), что значительно влияет на время сборки. Чтобы включить, задайте свойство проекта msbuild следующим образом:

<Project> 
    <PropertyGroup>  
        <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
    </PropertyGroup>  
</Project>   

Это основывается на успешном выполнении в 17.5 для проектов в стиле SDK, что значительно сокращает время добавочной сборки.

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

Управление предприятиями

Теперь администраторы могут легко инициализировать клиентские компьютеры перед делегированием управления стандартными пользователями об обновлении или изменении их установки Visual Studio. Теперь можно программно установить только установщик, выполнив инструкцию "vs_enterprise.exe установить --installerOnly".

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


Отзывы и предложения

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


Блоги

Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.


К началу страницы