Логотип Visual Studio Заметки о выпуске Visual Studio 2022 Preview

Мы рады объявить о доступности Visual Studio 2022 версии 17.12. Это обновление фокусируется на предоставлении фантастических возможностей разработчиков для работы с проектами .NET 9 и новыми функциями производительности ИИ, а также непрерывным усовершенствованиям.

Функции

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

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

Копирование из списка ошибок 📣

При копировании ошибки из списка ошибок теперь копируется только описание вместо всей строки в буфер обмена.

Вы видите в списке ошибок ошибку, которую не знаете, как исправить. Поэтому вы выберете его и нажмите клавиши CTRL+C, чтобы скопировать описание для поиска в Интернете. После вставки текста в поисковую систему вы понимаете, что вместо одного описания были скопированы все заголовки столбцов и значения строк. В результате вам нужно удалить все кроме описания для выполнения поиска. Это лишние действия, но теперь у нас есть решение!

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

При копировании ошибки из списка ошибок с помощью ctrl+C только описание копируется в буфер обмена. Это упрощает поиск ошибки в Интернете или предоставление этой информации другим пользователям.

Вы по-прежнему можете скопировать всю строку, щелкнув ошибку правой кнопкой мыши и выбрав команду "Копировать строку" в контекстном меню или нажав клавиши CTRL SHIFT++C.

Если вы хотите сделать с описанием ошибки, чтобы выполнить поиск в Интернете, просто нажмите клавиши CTRL+F1, чтобы найти сведения об ошибке в Интернете.

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

Переход к строке в любом месте поиска кода 📣

В поиске кода теперь можно перейти к определенной строке в текущем документе или другом указанном документе.

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

Теперь поиск кода поддерживает быструю навигацию по определенной строке в коде.

Откройте поиск кода и перейдите к строке в текущем документе с помощью двоеточия и номера строки. Например, :39 переведет вас к строке 39 в активном файле.

Переход к строке в текущем документе

Вы также можете перейти к строке в другом документе, используя имя файла + двоеточие + номер строки. Например, Order:43 переведет вас к строке 43 в Order.cs. Если вы не укажете точное имя файла, поиск попытается найти наилучшее совпадение.

Переход к строке в другом документе

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

Закрепление окна поиска кода 📣

Теперь вы можете свободно разместить окно поиска кода с такими возможностями, как закрепление и автоматическое скрытие.

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

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

Окно поиска закреплено снизу

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

Второй значок в правой верхней части окна — значок окна инструмента

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

Первый значок в правом верхнем углу окна — значок панели предварительного просмотра

Расположение панели предварительного просмотра теперь изменяется в зависимости от размеров окна поиска.

Окно поиска закреплено справа

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

Настройка свернутого текстового индикатора 📣

Задайте настраиваемые цвета для свернутого текстового индикатора в редакторе Visual Studio.

Теперь вы можете настроить возможности редактора еще дальше с новыми параметрами для настройки свернутого текстового индикатора:

Настраиваемые развернутые и свернутые текстовые индикаторы в редакторе Visual Studio

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

Свернутые записи индикатора текста на странице

Там вы найдете два новых элемента для настройки:

  • Свернутый текстовый индикатор (свернутый)
  • Свернутый текстовый индикатор (развернутый)

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

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

Обновление результатов поиска 📣

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

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

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

Кнопка

Мы также изменили оформление бывшего параметра "Повторить поиск", чтобы отличить его от параметра "Обновить". Теперь он представлен как "Изменить поиск" со значком карандаша. Эта кнопка по-прежнему будет повторно открывать поиск в файлах с теми же условиями поиска, которые вы использовали для этого окна результатов.

Кнопка

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

Больше места для горизонтальной полосы прокрутки 📣

Теперь можно управлять видимостью индикаторов уровня файла в CodeLens.

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

Индикатор уровня файла CodeLens в нижнем поле редактора

Если вы хотите включить этот параметр, можно найти параметр индикатора "Показать уровень файла CodeLens" в разделе "Параметры текстового редактора> инструментов > >". Этот параметр влияет на видимость типов файлов, имеющих элемент управления CodeLens уровня файла в нижнем поле редактора, например XAML, HTML и CSS, и не влияет на файлы, содержащие встроенные CodeLens.

Параметр для индикатора

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

Очистка кода без блокировки при сохранении

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

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

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

Очистка кода при сохранении

GitHub Copilot

Проверка смарт-переменных ИИ

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

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

ИИ-поиск переменной

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

Внимание

Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot


Визуализатор iEnumerable с использованием ИИ

Управляемые искусственным интеллектом выражения LINQ Editable в визуализаторе IEnumerable.

Мы улучшили функцию изменяемых выражений в визуализаторе IEnumerable с помощью ИИ. Новая функция Спросить Copilot позволяет пользователям применять ИИ непосредственно в текстовом поле изменяемого выражения для создания сложных выражений LINQ.

Визуализатор IEnumerable изменяемых выражений с использованием ИИ

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

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

Внимание

Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot


Отладка тестов с помощью GitHub Copilot

Получите справку по отладке неудачных тестов с помощью отладочных тестов с помощью GitHub Copilot.

Нужна помощь при отладке неудачных модульных тестов? Теперь GitHub Copilot может помогать вам, предоставляя план отладки и поддерживая вас при отладке неудачных тестов. Чтобы добиться успешной отладки, нажмите кнопку Отладка с помощью GitHub Copilot в Обозревателе тестов.

Отладка с помощью GitHub Copilot

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

Чат GitHub Copilot с планом отладки и дальнейшими действиями

Внимание

Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot


Исправление кода с помощью GitHub Copilot 📣

GitHub Copilot помогает решить проблемы с кодом.

GitHub Copilot теперь интегрирован в лампочку и список ошибок, предоставляя быстрые исправления и полезные объяснения проблем с кодом. Независимо от того, разрабатываете ли вы на C# или C++, эта функция помогает эффективнее понимать и устранять проблемы в базе кода.

Чтобы приступить к работе, просто вызовите лампочку и выберите Исправить с Copilot. Это запустит встроенный чат с GitHub Copilot, предлагающий вам доступное исправление.

Исправление кода с помощью GitHub Copilot из лампочки

Вы также можете выбрать значок GitHub Copilot из списка ошибок, чтобы открыть панель чата, где вы найдете подробные объяснения и решения возникшей ошибки.

Исправление кода с помощью GitHub Copilot из списка ошибок

Используя LLM, GitHub Copilot предоставляет полезные объяснения и исправления непосредственно в лампочке и списке ошибок, улучшая интерфейс написания кода.

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

Внимание

Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot


Улучшение завершения ИИ для C#

GitHub Copilot содержит дополнительный контекст из соответствующих исходных файлов для улучшения завершения для C#.

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

Чтобы улучшить взаимодействие для разработчиков C#, мы обновили GitHub Copilot с целью включения в завершения дополнительного контекста C#, например доступных типов и методов.

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

Ранее: семантически релевантные файлы не считаются контекстом для завершений GitHub Copilot

Семантически релевантные файлы не считаются контекстом для завершений GitHub Copilot

После: семантически релевантные файлы считаются контекстом для завершений GitHub Copilot

Семантически релевантные файлы считаются контекстом для завершений GitHub Copilot

Внимание

Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot


Ссылка на код в GitHub Copilot

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

Мы рады объявить, что ссылки на код теперь доступны в GitHub Copilot в рамках Visual Studio!

Пример ссылки на общедоступный код

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

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

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

Попробуйте GitHub Copilot в Visual Studio уже сегодня и управляйте своим процессом разработки с дополнительной прозрачностью и уверенностью!

Внимание

Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot


Интерактивный чат в GitHub Copilot

Знакомство с новым, более общения с GitHub Copilot.

Мы представляем новый, более разговорный способ взаимодействия с GitHub Copilot Chat!

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

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

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

Дайте новому интерактивному чату попробовать сегодня и увидеть разницу для себя!

Внимание

Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot


Начальные запросы в GitHub Copilot

Краткое руководство по началу работы с начальными запросами в чате GitHub Copilot!

Начните работу с чатом GitHub Copilot при помощи наших новых начальных запросов.

Начальные запросы GitHub Copilot

Нужна помощь с началом работы в чате GitHub Copilot? Мы добавили несколько начальных запросов, чтобы вдохновлять и направлять вас в рамках первых взаимодействий. Эти предварительно выбранные вопросы предназначены для создания идей и помогут вам изучить весь потенциал возможностей GitHub Copilot.

Если вы изучаете новые задачи для написания кода или просто ищете вдохновение, наши запросы помогут вам быстро приступить к работе и максимально эффективно использовать чат GitHub Copilot.

Попробуйте один из них и посмотрите, куда он вас приведет!

Внимание

Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot


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

Отладка Blazor WebAssembly 📣

Улучшенный интерфейс отладки для приложений Blazor WebAssembly, предназначенных для .NET 9 или более поздней версии.

Visual Studio теперь предлагает улучшенные возможности отладки для приложений Blazor WebAssembly, ориентированных на .NET 9 или более поздние версии:

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

Улучшения отладки Blazor

Чтобы включить предварительную версию нового интерфейса отладки, выполните следующие действия:

  • Включите настройку Включить новый отладчик .NET 9+ Mono.
  • Установите последнюю версию SDK .NET 9.
  • Обновите приложение Blazor до целевой версии .NET 9.

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

Гистограмма измерения в профилировщике

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

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

Гистограмма счетчиков в средстве

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

Отображение возвращаемых значений метода 📣

Теперь отладчик отображает встроенные возвращаемые значения с помощью ИИ для повышения эффективности.

Значения операторов return теперь отображаются непосредственно в коде в отладчике Visual Studio. Эта функция была одной из наиболее востребованных в сообществе разработчиков.

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

Встроенные возвращаемые значения

С помощью GitHub Copilot вы можете продвинуться дальше, используя параметр Спросить Copilot при наведении курсора, чтобы анализировать возвращаемые значения непосредственно в Visual Studio. Это позволяет быстро устранять проблемы.

Эта функция поддерживается как для собственного кода, так и для управляемого кода.

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

Экспорт групп точек останова с легкостью 📣

Простой импорт и экспорт групп точек останова.

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

Импорт и экспорт групп точек останова

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

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

IntelliSense для визуализатора IEnumerable 📣

Расширенный визуализатор IEnumerable с intelliSense для ускорения запросов LINQ.

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

IntelliSense в визуализаторе IEnumerable

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

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

Анализ использования памяти с течением времени

Выберите и сравните несколько моментальных снимков памяти с помощью окна средства диагностики.

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

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

Выбор моментальных снимков для сравнения
  • Удерживайте клавишу CTRL и щелкните строки моментального снимка, чтобы выбрать несколько моментальных снимков.
  • Кроме того, удерживайте клавишу SHIFT и используйте up/down клавиши со стрелками для выбора нескольких последовательных моментальных снимков.
Отмена выбора моментальных снимков
  • Удерживайте клавишу CTRL и щелкните моментальный снимок, который требуется отменить.
Просмотр различий

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

Просмотр различий моментальных снимков M M A

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

Управление переименованием файлов с помощью Git 📣

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

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

Уведомление Git mv

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

Черновики запросов на вытягивание и шаблоны 📣

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

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

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

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

Параметр создания черновика запросов на вытягивание

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

Ваш стандартный шаблон запроса на вытягивание будет использоваться при создании нового запроса на вытягивание для GitHub и Azure DevOps. Дополнительные сведения о добавлении шаблона запроса на вытягивание в репозиторий см. в документации по GitHub и документации по Azure DevOps.

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

Примечание.

Эта функция должна быть включена в разделе "Средства —> управление предварительными версиями компонентов"


Создание внутренних репозиториев GitHub 📣

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

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

Диалоговое окно нового репозитория

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

Копирование ссылки на Git 📣

Вы можете получить ссылку на GitHub или Azure DevOps с определенной строкой кода, чтобы упростить совместное использование с коллегами.

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

Теперь вы можете выделить код, которым хотите поделиться в редакторе, открыть контекстное меню правой кнопкой мыши и в подменю Git получить ссылку для общего доступа к вашему коду в GitHub или Azure DevOps. Это упрощает совместную работу и процесс взаимодействия между интегрированной средой разработки и удаленными репозиториями в Интернете.

Контекстное меню копирования URL-адреса Git

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

Копирование URL-адреса Git в окне репозитория Git

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

Поддержка нескольких репозиторий Git 📣

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

Теперь вы можете создавать запросы на вытягивание и связывать рабочие элементы в сценариях с несколькими репозиториями. Для GitHub и Azure DevOps мы поддерживаем интеграцию при использовании средства выбора репозитория, чтобы сосредоточиться на определенном репозитории в сценариях с несколькими репозиториями.

Средство выбора репозитория

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

Настройка сообщения фиксации AI Git 📣

Дополнительные инструкции можно добавить в запрос на создание сообщения фиксации Git с помощью GitHub Copilot.

Теперь вы можете добавлять дополнительные инструкции в запрос на создание сообщения фиксации Git с помощью GitHub Copilot. Это позволяет настроить сообщение фиксации, чтобы оно лучше соответствовало рабочему процессу и стандартам команды. Вы можете указать количество строк для создания, длину строк и даже продемонстрировать пример стиля фиксации. Измените сообщение в сообщении "Параметры > управления > версиями > Copilot>" дополнительные инструкции: поле запроса.

Настройка сообщения Git

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

IDE

Конфигурация запуска с несколькими проектами 📣

Упростите отладку, настраивая и сохраняя профили запуска для конкретных проектов в рамках решений с несколькими проектами. Легко делитесь конфигурациями со своей командой.

Функция конфигурации запуска с несколькими проектами позволяет настраивать и сохранять профили для запуска конкретных проектов в решении с несколькими проектами в предопределенных состояниях для отладки.

Конфигурация запуска с несколькими проектами

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

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

Примечание.

Эта функция должна быть включена в разделе "Средства —> управление предварительными версиями компонентов"


Предупреждения системы безопасности MotW

Предупреждение системы безопасности (MotW) в Интернете теперь интегрировано в общую функциональность доверия.

Visual Studio будет отображать предупреждение системы безопасности при обнаружении попытки открыть содержимое, помеченное идентификатором веб-метки безопасности (MotW).

Это новое предупреждение, связанное с доверием, сообщает о рисках открытия содержимого из потенциально небезопасных источников, например из интернет-загрузок.

Диалоговое окно доверия, оповещающее о рисках безопасности при открытии веб-загрузок в Visual Studio

Вы можете изменить интерфейс доверия по умолчанию, перейдя в раздел "Параметры доверия" в разделе "Параметры > инструментов>".

Параметры доверия позволяют настроить интерфейс доверия по умолчанию

Сохранение шрифта между изменениями темы 📣

Изменение тем теперь запоминает параметры шрифта и размера шрифта.

Мы понимаем, что выбор шрифтов разработчиками при написании кода — это личный выбор, на который влияют предпочтения в отношении читабельности, доступности или эстетики. Темы Visual Studio в первую очередь ориентированы на цвета представления и не зависят от предпочитаемых шрифтов.

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

Редактор Visual Studio, показывающий один фрагмент кода с использованием одного шрифта, но половина кода выполнена в темной теме, а половина — в светлой.

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

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

Новые шаблоны ИИ Набора средств Teams

Набор средств Teams подключен к новым шаблонам приложений AI Teams.

Набор средств Teams добавляет три новых ИИ-шаблона приложений Teams:

В их число входят:

ИИ-шаблоны приложений Teams

  1. Чат-бот с базовым ИИ — ваши собственные помощники в Microsoft Teams, созданные с использованием библиотеки ИИ Teams

  2. Чат с собственными данными — интеллектуальный шаблон чат-бота со знаниями о домене из пользовательского источника данных.

    Набор средств Teams теперь позволяет создать настраиваемого Copilot, который является чат-ботом на базе искусственного интеллекта с возможностью RAG и может понимать естественный язык и получать данные домена для ответа на вопросы, относящиеся к домену. Этот шаблон поддерживает доступ к пользовательским данным в настраиваемом приложении Copilot.

    При выборе этого шаблона можно выбрать два способа подключения к данным:

    a. Поиск ИИ Azure: чат-бот может получить доступ к данным в службе поиска ИИ Azure и использовать ее в беседе с пользователями.

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

  3. Агент ИИ — агент ИИ в Teams, который может принимать решения и выполнять действия на основе причин LLM.

Попробуйте новые ИИ-шаблоны приложений, чтобы начать использование ИИ в Teams!

Копирование файлов между экземплярами 📣

Теперь вы можете копировать файлы и папки из Обозреватель решений в одном экземпляре Visual Studio в другой.

Мы рады представить очень востребованную функцию в Visual Studio! Теперь вы можете легко копировать и вставлять файлы кода и папки между различными экземплярами Visual Studio с помощью Обозревателя решений. Просто выберите нужный файл или папку, нажмите клавиши CTRL+C или CTRL+X, переключитесь на другой экземпляр Visual Studio и используйте CTRL+V, чтобы включить эти файлы или папки в новое решение. Все изменения будут точно отражены в файловой системе.

Помимо копирования и вставки, вы также можете перетаскивать файлы и папки из одного экземпляра Visual Studio в другой.

Копирование файлов между экземплярами Visual Studio

Ранее эта функция была доступна только для нескольких типов проектов, но теперь мы расширили ее, чтобы включить все основные типы проектов в Visual Studio.

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

Проверки отзыва сертификатов

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

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

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

Диалоговое окно с ошибкой цифрового сертификата

Хотя мы рекомендуем всегда поддерживать эту функцию, ее можно отключить, перейдя к сертификатам среды > "Параметры > инструментов>"

Возможность отключения проверки отзыва цифровых сертификатов

Облако

приложение Azure служба публикует обновления системы безопасности

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

Руководство по публикации Службы приложений Azure рекомендует клиентам отключить обычную проверку подлинности и включить публикацию с помощью интегрированной проверки подлинности.

Безопасная публикация средств Azure

Новая функция в Visual Studio 2022 отключает обычную проверку подлинности и обеспечивает встроенную безопасность публикации в Службе приложений Azure. Это гарантирует безопасную обработку учетных данных публикации, что снижает риски, связанные с обычной проверкой подлинности.

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

Безопасная публикация средств Azure отключена

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

Безопасная публикация средств Azure включена

Поддержка Linux для веб-заданий Azure 📣

Публикация в веб-заданиях Azure в Linux теперь поддерживается правой кнопкой мыши публикации в Visual Studio.

Кроссплатформенные консольные приложения .NET 5.0+ поддерживаются в Linux для веб-заданий Azure, и теперь вы также можете публиковать правой кнопкой мыши код в веб-заданиях Azure в Linux из Visual Studio!

Диалоговое окно публикации с целевым объектом Linux

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

Функции Azure потребления Flex

Публикация в плане размещения Azure Flex Consumption в настоящее время в предварительной версии.

Если вы пытаетесь использовать новый план размещения потребления Flex в Функциях Azure (сейчас доступно в предварительной версии), вы сможете щелкнуть правой кнопкой мыши публикацию во Flex из Visual Studio.

Потребление Flex дополнительно расширяет функции приложений и предоставляет следующие возможности:

  • Интеграция виртуальной сети без дополнительных затрат
  • Быстрое и прогнозируемое масштабирование с помощью выбора размера экземпляра и управления параллелизмом на экземпляр
  • Бессерверные решения с масштабированием до нуля, и вы оплачиваете только экземпляры во время их активности
  • Устранение проблем с холодным запуском с помощью необязательной функции экземпляров Always Ready

Узнайте больше о потреблении Flex в записи блога с объявлением или документации. Также попробуйте один из наших примеров.

Публикация потребления Flex в Функциях Azure

Обновление безопасности подключенных служб

Обеспечение безопасности приложений и разработки.

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

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

Диалоговое окно

Мы также используем новейшие пакеты SDK Azure, поэтому вы получите поддержку для подключения к ресурсам Azure с использованием учетной записи Visual Studio (или Azure CLI) вместо подключения через строку подключения. При локальном запуске ваш код будет использовать ваши учетные данные для доступа к ресурсам. При работе в Azure Azure SDK будет использовать управляемую идентификацию службы приложения для доступа к ресурсам.

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

Персональный компьютер

Расширенный поиск компонентов WinUI

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

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

Изображение с новым интерфейсом поиска отдельных компонентов WinUI в Visual Studio Installer

Откройте Visual Studio Installer, перейдите на вкладку "Отдельные компоненты и выполните поиск по ключевым словам, связанным с WinUI (WinUI, WinRT).

Поддержка пакета SDK для .NET 9 для UWP 📣

Visual Studio теперь включает пакет SDK для .NET 9 с поддержкой UWP из коробки.

Одним из необходимых шагов, чтобы попробовать UWP в .NET 9 в первоначальной предварительной версии , было установить ночную сборку пакета SDK для .NET 9. В этом новом выпуске Visual Studio больше не требуется.

Visual Studio теперь включает пакет SDK для .NET 9, который имеет новую поддержку UWP в .NET 9 (в частности, логику для ссылки на проекции XAML UWP и настройку CsWinRT для типов проектов для приложений XAML UWP). Теперь вы можете создавать и запускать UWP в проектах .NET 9 с помощью пакета SDK для .NET, который автоматически установлен в Visual Studio.

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

Упрощенное .csproj для UWP 📣

UseUwpTools теперь автоматически устанавливается Visual Studio для современных проектов UWP в .NET 9.

Приложения и библиотеки UWP с помощью .NET 9, используемые для выполнения двух свойств в csproj-файлах: UseUwpкоторый настраивает пакет SDK для .NET для приложений XAML UWP и UseUwpToolsпозволяет создавать и запускать приложения XAML UWP в Visual Studio.

Теперь UseUwpTools свойство автоматически устанавливается Visual Studio при UseUwp установке, чтобы сделать CSPROJ менее подробным в общем сценарии. Для расширенных сценариев по-прежнему можно отказаться, отключив UseUwpToolsвручную.

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

Фиксированные идентификаторы RID для UWP в .NET 9 📣

Библиотеки классов UWP в .NET 9 правильно задают идентификаторы RID в правильные значения для Native AOT.

Исправлена ошибка в инструментах APPX для библиотек классов UWP (и компонентов WinRT) в .NET 9, которая применяла идентификаторы среды выполнения UWP в .NET Native по умолчанию (т. е. с помощью win10- префикса и включая платформы, которые больше не поддерживаются, например arm).

Теперь средства APPX будут задавать правильные ИДЕНТИФИКАТОРы для проектов .NET 9 по умолчанию: win-x86;win-x64;win-arm64 При необходимости их можно указать вручную.

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

Исправлено создание проекта UWP 📣

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

Если вы используете предварительную версию VSIX с новыми шаблонами проектов для UWP в .NET 9, возможно, вы заметили, что при создании нового проекта появится диалоговое окно об ошибке. Это особенно проблематично при создании нового решения, так как Visual Studio не будет правильно открывать его после создания проекта. Эта проблема устранена, и создание новых проектов, предназначенных для UWP в .NET 9, теперь будет работать правильно.

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

Интернет

Запрос переменных в HTTP-файлах 📣

HTTP-файлы теперь поддерживают переменные запроса. Это когда вы можете отправить запрос, а затем использовать данные из ответа или запроса в будущих запросах.

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

# @name login
POST {{TodoApi_HostAddress}}/users/token
Content-Type: application/json

{
  "username": "{{myusername}}",
  "password": "{{mypassword}}"
}

###

GET {{TodoApi_HostAddress}}/todos
Authorization: Bearer {{login.response.body.$.token}}

###

В приведенном выше фрагменте кода есть два запроса: первый вызывает в конечную точку /users/token для проверки подлинности пользователя. Сразу над строкой запроса вы увидите комментарий # @name login. Этот синтаксис присваивает запросу имя (login в данном случае) и настраивает его в качестве переменной запроса. Когда запрос отправляется, вы можете получить доступ к значениям из ответа или запроса в любом будущем запросе, который отправляется из этого HTTP-файла. Так как это запрос на вход, следует быть осторожным для защиты своих секретов. В Visual Studio поддерживается безопасный доступ к секретам. Дополнительные сведения об обработке секретов см. в этом разделе.

Второй запрос вызывает конечную точку проверки подлинности /todos, которая возвращает элементы (todo) для этого пользователя. В запросе маркер передается в виде заголовка со строкой.

Authorization: Bearer {{login.response.body.$.token}}

Конечная точка /users/token возвращает ответ в формате JSON. Маркер извлекается с помощью выражения пути JSON $.token в тексте ответа. Если вы используете конечную точку, которая возвращает XML, вместо выражения пути JSON можно передать выражение XPath. Поддержка в Visual Studio была вдохновлена существующим расширением OSS для клиента REST, доступным для Visual Studio Code. Дополнительные сведения о переменных запроса см. там. Мы добавим документацию в ближайшее время, чтобы подробнее обсудить эту поддержку.

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

Поддержка Vitest в JavaScript и TypeScript 📣

При использовании проектов JavaScript и TypeScript теперь можно создавать тестовые варианты с помощью Vitest.

В проектах JavaScript и TypeScript (JSTS), которые используют расширение .esproj, мы добавили поддержку для обнаружения и выполнения тестов, созданных с помощью Vitest. Чтобы приступить к работе с тестами Vitest, в проекте JSTS добавьте пакет vitest с помощью npm в Обозревателе решений, а затем измените файл проекта для объявления следующих свойств.

    <JavaScriptTestRoot>test\</JavaScriptTestRoot>
    <JavaScriptTestFramework>Vitest</JavaScriptTestFramework>

Убедитесь, что для значения JavaScriptTestRoot используется правильный относительный путь к расположению тестовых файлов.

Добавьте тесты в правильную папку и создайте проект/решение. После этого вы увидите тестовые случаи в Обозревателе тестов.

Обозреватель тестов с тестами vitest

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

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

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

Inlay Hints для дополнительных языков 📣

Поддержка Inlay Hint добавлена в JavaScript, TypeScript, Python и Razor, а также параметр для управления его поведением.

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

Добавлена поддержка отображения встроенных подсказок для JavaScript, TypeScript, Razor и Python. Также добавлен новый параметр для настройки поведения подсказок для этих языков. Этот параметр пока не действует для C# и C++. Чтобы включить inlay Hints для этих языков, можно использовать новый параметр в текстовом редакторе > инструментов > > "Все языки > Inlay Hints". Новый параметр показан на следующем изображении.

Глобальный параметр встроенных подсказок

Для параметра встроенных подсказок поддерживается три значения.

  • Всегда: всегда показывать встроенные подсказки.
  • При нажатии клавиш ALT+F1: отображаются только подсказки Inlay, а клавиши ALT и F1 нажимаются. Это значение по умолчанию.
  • Никогда: встроенные подсказки не отображаются.

Для JavaScript и TypeScript предусмотрена дополнительная страница параметров для настройки поведения встроенных подсказок. Это можно найти в разделе "Параметры > текстового редактора>" > JavaScript/TypeScript > Advanced > General.

Эти параметры показаны на следующем изображении.

Глобальный параметр встроенных подсказок для TypeScript

По умолчанию все эти параметры отключены. Нужно включить отображение интересующих вас подсказок для файлов JavaScript и TypeScript. В будущем используемые по умолчанию значения этих параметров могут быть изменены. Ниже приведено изображение файла JavaScript с показанными встроенными подсказками.

Встроенные подсказки

На предыдущем изображении встроенные подсказки — серые поля с : number для указания типа переменной.

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

Общая среда HTTP-файлов 📣

В ФАЙЛАх среды HTTP мы добавили поддержку совместного использования переменных в средах.

При использовании HTTP-файлов в Visual Studio вы можете определить среды , чтобы иметь возможность создавать различные настройки для тестирования API. Ранее совместное использование переменной в этих средах было невозможно. Мы добавили поддержку новой записи $shared в файле среды, которая позволяет определять значения по умолчанию для переменных, доступных во всех средах.

Например, рассмотрим файл среды ( http-client.env.json ) ниже.

{
    "$shared": {
        "HostAddress": "https://localhost:7293"
    },
    "dev": {
        "username": "sayedha"
    },
    "dev2": {
        "username": "madsk"
    },
    "staging": {
        "username": "staginuser",
        "HostAddress": "https://sayedrest.example.com"
    }
}

Мы определили общие значения в $shared выше, которые состоят из переменной HostAddress , которая установлена в localhost:7293 .

Из трех определенных сред ни в одной из сред разработки не указано значение для HostAddress, но в среде подготовки значение для него указано.

При использовании среды dev или dev2 значение для HostAddress будет получено из $shared , поскольку в этих средах нет значения для HostAddress . При использовании промежуточной среды значение HostAddress будет установлено на https://sayedrest.example.com .

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

Data

Проекты SQL в стиле ПАКЕТА SDK в SSDT 📣

Теперь вы можете использовать формат файла проекта в стиле ПАКЕТА SDK в проектах SQL Server Data Tools.

Это обновление добавляет проекты SQL на основе пакета SDK Microsoft.Build.Sql, который внедряет кроссплатформенную поддержку и улучшенные ссылки на пакеты в проекты SQL Server Data Tools (SSDT). С менее подробными файлами проектов и ссылками базы данных на пакеты NuGet команды могут более эффективно работать над большими базами данных в одном проекте или компилировать несколько наборов объектов из нескольких проектов.

Проект SQL в стиле пакета SDK в обозревателе решений

Развертывание баз данных из проекта Microsoft.Build.Sql можно автоматизировать в средах Windows и Linux, где средство dotnet Microsoft.SqlPackage публикует артефакт сборки (DACPAC) из проекта SQL. Узнайте больше о предварительной версии проектов SQL в стиле пакета SDK и DevOps для SQL.

Пакет SDK для проекта Microsoft.Build.Sql является решением с открытым кодом, разработанным в GitHub.

Устанавливайте новейший компонент предварительной версии SSDT в установщике Visual Studio, чтобы использовать проекты SQL в стиле пакета SDK в своем решении.

Установщик включает предварительную версию функции SSDT

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

.NET

Дополнительные возможности с помощью .NET 9 📣

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

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

.NET 9

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

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

NuGet проверяет транзитивные пакеты 📣

NuGet изменяет параметры аудита по умолчанию для включения транзитивных пакетов.

Аудит NuGet, впервые добавленный в Visual Studio 17.8 (и .NET 8), предоставляет предупреждения во время восстановления, если любые пакеты, используемые в проекте, содержат известные уязвимости.

Дополнительные сведения об аудите NuGet, включая все параметры конфигурации, см. в документации по аудиту NuGet.

Аудит NuGet

В этом выпуске изменились параметры аудита NuGet по умолчанию для NuGetAuditMode. Ранее по умолчанию сообщались ссылки только на прямые пакеты (<NuGetAuditMode>direct</NuGetAuditMode>). Теперь по умолчанию будут выдаваться предупреждения как о прямых, так и транзитивных пакетах (<NuGetAuditMode>all</NuGetAuditMode>) с известными уязвимостями. Чтобы сохранить предыдущие значения по умолчанию, вы можете явно задать предпочтительное значение NuGetAuditMode в проекте или файле Directory.Build.props.

Или можно настроить для SdkAnalysisLevel номер версии ниже 9.0.100. Но помните, что это повлияет на все функции, использующие SdkAnalysisLevel.

Для аудита NuGet требуется источник пакета, предоставляющий базу данных уязвимостей. NuGet.org предоставляет уязвимости из базы данных помощников по GitHub.

Начиная с Visual Studio 17.12 теперь можно указывать источники аудита в файлах NuGet.Config, поэтому больше не требуется использовать nuget.org в качестве источника пакета.

Если вы не используете nuget.org в качестве источника пакета и хотите применять аудит NuGet для отчетов об уязвимых пакетах во время восстановления, добавьте следующее в файл NuGet.Config в каталоге решения:

<confiuration>
  <!-- any existing config, including <packageSources> -->
  <auditSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </auditSources>
</configuration>

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

C++

Установка аргументов командной строки C++

Новый способ задать аргументы командной строки прямо на панели инструментов.

Быстро задавайте аргументы командной строки для своего проекта C++ с помощью нового элемента панели инструментов Задать аргументы. В этом поле со списком можно указывать аргументы для командной строки непосредственно на панели инструментов, поэтому можно быстро менять аргументы. При запуске проекта все аргументы, введенные в поле, будут переданы.

Этот компонент панели инструментов будет отображаться по умолчанию, если у вас установлена ​​рабочая нагрузка Разработка игр с рабочей нагрузкой C++. Если вы его не видите, вы можете добавить его, щелкнув правой кнопкой мыши на панели инструментов и выбрав Задать аргументы.

Примечание. В настоящее время эта функция доступна только для проектов Unreal Engine. Обычные проекты C++ будут поддерживаться в дальнейших выпусках.

Установка аргументов командной строки C++

Объяснения представления "Аналитика сборки"

Узнайте, как использовать каждую вкладку Build Insights с помощью только что добавленной ссылки на документацию.

Теперь вы увидите краткое описание того, как можно использовать каждую вкладку Build Insights, а также ссылку на документацию для подробного объяснения.

Объяснения представлений Build Insights

Корректировки пути Build Insights

Получите более четкое представление файла в Build Insights, просмотрите полный путь при наведении указателя мыши.

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

Корректировки путей Build Insights

Открытие папки для uproject Unreal Engine

Новый способ открытия вашего выхода.

Добавлена дополнительная точка входа, чтобы открывать файлы проектов Unreal Engine uproject: реализована поддержка таких файлов в Visual Studio. Теперь вы можете открыть проект непосредственно из меню "Файл ", выбрав команду "Открыть > папку...". Откроется проект Unreal Engine в Visual Studio.

Дополнительные сведения об использовании этой функции см. в статье Прямое редактирование файлов .uproject в Visual Studio.

Открытая папка Unreal Engine

Улучшена сигнатура изменений

Теперь вы можете эффективно изменять подписи с помощью улучшенных функций для C++.

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

Методы доступа остаются неизменными: нажмите клавиши CTRL+, чтобы активировать меню "Быстрые действия" и "Рефакторинг" и выберите "Изменить подпись".

Улучшенное изменение сигнатуры

Основные исправления ошибок, сообщаемых пользователем

📣Полный список всех исправлений ошибок, сообщаемых пользователем, которые сделали его в этом выпуске.

От всех нас в команде спасибо за выбор Visual Studio. Если у вас есть вопросы, обратитесь к нам в Twitter или Сообщество разработчиков.

Удачного программирования!
Команда Visual Studio


Примечание.

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