Заметки о выпуске Visual Studio 2022
Мы рады объявить о доступности Visual Studio 2022 версии 17.12. Это обновление фокусируется на предоставлении фантастических возможностей разработчиков для работы с проектами .NET 9 и новыми функциями производительности ИИ, а также непрерывным усовершенствованиям.
Функции
Список функций для версии 17.12 , выпущенный 12 ноября 2024 года.
Продуктивность
Копирование из списка ошибок 📣
При копировании ошибки из списка ошибок теперь копируется только описание вместо всей строки в буфер обмена.
Вы видите в списке ошибок ошибку, которую не знаете, как исправить. Поэтому вы выберете его и нажмите клавиши CTRL+C, чтобы скопировать описание для поиска в Интернете. После вставки текста в поисковую систему вы понимаете, что вместо одного описания были скопированы все заголовки столбцов и значения строк. В результате вам нужно удалить все кроме описания для выполнения поиска. Это лишние действия, но теперь у нас есть решение!
При копировании ошибки из списка ошибок с помощью ctrl+C только описание копируется в буфер обмена. Это упрощает поиск ошибки в Интернете или предоставление этой информации другим пользователям.
Вы по-прежнему можете скопировать всю строку, щелкнув ошибку правой кнопкой мыши и выбрав команду "Копировать строку" в контекстном меню или нажав клавиши CTRL SHIFT++C.
Если вы хотите сделать с описанием ошибки, чтобы выполнить поиск в Интернете, просто нажмите клавиши CTRL+F1, чтобы найти сведения об ошибке в Интернете.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Переход к строке в любом месте поиска кода 📣
В поиске кода теперь можно перейти к определенной строке в текущем документе или другом указанном документе.
Иногда вы знаете, что в определенной строке кода есть проблема, и хотите быстро ее устранить. Возможно, вам сообщили об ошибке, возникшей в строке 43 какого-то файла, или вы хотите добраться до сути определенного файла.
Теперь поиск кода поддерживает быструю навигацию по определенной строке в коде.
Откройте поиск кода и перейдите к строке в текущем документе с помощью двоеточия и номера строки. Например,
:39
переведет вас к строке 39 в активном файле.Вы также можете перейти к строке в другом документе, используя имя файла + двоеточие + номер строки. Например,
Order:43
переведет вас к строке 43 в Order.cs. Если вы не укажете точное имя файла, поиск попытается найти наилучшее совпадение.📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Закрепление окна поиска кода 📣
Теперь вы можете свободно разместить окно поиска кода с такими возможностями, как закрепление и автоматическое скрытие.
Если нужно убрать интерфейс поиска кода или поиска функций, чтобы он не мешал работать, теперь доступны более широкие возможности управления поведением окна поиска.
Теперь можно закрепить окно поиска и выполнять с ним действия с помощью инструментов, таких как Обозреватель решений.
Открыв поиск кода или поиск признаков, щелкните значок поля в правом верхнем углу, чтобы преобразовать его в окно инструментов. Можно закрепить это окно в другом месте, настроить его в качестве всплывающего окна, автоматически скрывать и т. д. Чтобы вернуться к скрываемому всплывающему окну, щелкните значок в правом верхнем углу.
Кроме того, упрощен и улучшен предварительный просмотр в интерфейсе поиска. Для включения и отключения предварительного просмотра предусмотрена одна кнопка со значком глаза.
Расположение панели предварительного просмотра теперь изменяется в зависимости от размеров окна поиска.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Настройка свернутого текстового индикатора 📣
Задайте настраиваемые цвета для свернутого текстового индикатора в редакторе Visual Studio.
Теперь вы можете настроить возможности редактора еще дальше с новыми параметрами для настройки свернутого текстового индикатора:
Чтобы попробовать его и задать настраиваемые цвета переднего плана и фона для каждого из них, перейдите к разделу "Параметры > среды" > и "Цвета среды>".
Там вы найдете два новых элемента для настройки:
- Свернутый текстовый индикатор (свернутый)
- Свернутый текстовый индикатор (развернутый)
Вы можете задать цвета для свернутых и развернутых индикаторов независимо друг от друга с помощью предопределенных цветов или настраиваемых цветов выбранного элемента.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Обновление результатов поиска 📣
Теперь можно обновить результаты до предыдущего поиска, чтобы получить актуальные совпадения поиска.
Мы слышали от многих пользователей, что необходимость повторно открывать окно поиска и выполнять действия по повторению поиска для получения обновленных результатов является раздражающей. Возможно, вы только что перестроили некоторый код и хотите подтвердить, что все изменения работают правильно, или вы извлекли некоторые недавние изменения и хотите, чтобы последняя операция поиска отражала эти обновления.
После завершения поиска в файлах теперь у вас будет возможность обновить результаты поиска в окне. Вы получите обновленные результаты без необходимости повторно выполнять поиск.
Мы также изменили оформление бывшего параметра "Повторить поиск", чтобы отличить его от параметра "Обновить". Теперь он представлен как "Изменить поиск" со значком карандаша. Эта кнопка по-прежнему будет повторно открывать поиск в файлах с теми же условиями поиска, которые вы использовали для этого окна результатов.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Больше места для горизонтальной полосы прокрутки 📣
Теперь можно управлять видимостью индикаторов уровня файла в CodeLens.
Область с горизонтальной полосой прокрутки может получить довольно загромождает в Visual Studio. Мы помогаем упростить ее очистку, отключив индикаторы уровня файлов в CodeLens по умолчанию.
Если вы хотите включить этот параметр, можно найти параметр индикатора "Показать уровень файла CodeLens" в разделе "Параметры текстового редактора> инструментов > >". Этот параметр влияет на видимость типов файлов, имеющих элемент управления CodeLens уровня файла в нижнем поле редактора, например XAML, HTML и CSS, и не влияет на файлы, содержащие встроенные CodeLens.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Очистка кода без блокировки при сохранении
Когда очистка кода выполняется в режиме сохранения, она теперь работает без блокировки для более плавного программирования.
Ранее при запуске очистки кода при сохранении невозможно выполнить какие-либо действия в интегрированной среде разработки. Теперь мы улучшили эту функцию для неблокировки.
Процесс очистки будет выполняться в фоновом режиме и может быть автоматически отменен, если вы возобновляете ввод, обеспечивая более плавное и более гибкое программирование.
GitHub Copilot
Вопросы и ответы на GitHub
Выполните поиск по GitHub, чтобы найти фиксации, проблемы, запросы на вытягивание, репозитории и разделы прямо из Visual Studio.
Теперь вы можете использовать GitHub Copilot Chat для поиска фиксаций, проблем, запросов на вытягивание, репозиториев и тем.
Вы можете задать такие вопросы:
- @github Каковы все открытые PR, назначенные мне?
- @github Каковы последние проблемы, назначенные мне?
- @github Когда был последний выпуск?
- @github Показать мне недавние объединенные PR из @davidfowl
Эта функция доступна всем пользователям GitHub Copilot. Дополнительные сведения о доступных навыках GitHub см. в документации по GitHub Copilot.
Внимание
Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot
Пользовательские инструкции для GitHub Copilot
Создайте файл, который автоматически добавляет сведения во все вопросы, которые вы задаете GitHub Copilot Chat.
С помощью GitHub Copilot вы можете получать ответы чата, адаптированные к рабочему процессу вашей команды, предпочитаемым средствам и конкретным проектам, просто предоставляя контекст. Вместо добавления этих контекстных сведений в каждый запрос чата можно создать файл, предоставляющий эти сведения автоматически. Хотя этот дополнительный контекст не будет отображаться в чате, он доступен для GitHub Copilot, что позволяет создавать более точные и соответствующие ответы.
Включение пользовательских инструкций
- Включите функцию с помощью > > параметров GitHub Copilot> и проверьте (предварительная версия) Включите пользовательские инструкции для загрузки из файлов .github>/copilot-instructions.md и добавленных в запросы.
- Добавьте copilot-instruction.md в корень репозитория в github-файле, создайте файл, если он еще не существует.
Дополнительные сведения о создании пользовательских инструкций см. здесь
Внимание
Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot
Выбор модели в чате GitHub Copilot
Теперь GitHub Copilot позволяет выбрать модель.
OpenAI o1-preview и o1-mini теперь доступны всем пользователям в GitHub Copilot Chat в Visual Studio.
Теперь эти модели можно попробовать с помощью o1-preview, o1-mini или модели GPT-4o по умолчанию для работы с GitHub Copilot Chat. С помощью переключения моделей вы можете легко перейти от объяснения API или создания базового кода до создания сложных алгоритмов или ошибок логики отладки.
Посетите журнал изменений GitHub, чтобы узнать больше об этой функции.
Внимание
Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot
Расширенное контекстное понимание
Расширенное контекстное понимание в GitHub Copilot предлагает более точные ответы.
Расширенное контекстное понимание в GitHub Copilot
GitHub Copilot теперь предлагает расширенное контекстное понимание, чтобы предложить еще более точные ответы. С помощью этого обновления GitHub Copilot интуитивно интерпретирует ключевые характеристики в коде, настраивая предложения в соответствии с уникальными потребностями проекта. Этот интеллектуальный подход к помощи в коде предназначен для более эффективной работы без необходимости частой корректировки контекста.
Попробуйте это с GitHub Copilot сегодня!
Внимание
Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot
Обновления исключений содержимого
Исключение содержимого теперь поддерживает подмодулы и вложенные репозитории.
Мы улучшили, как система обрабатывает вложенные репозитории и вложенные репозитории, что упрощает работу со сложными структурами проектов.
Кроме того, мы добавили поддержку репозиториев, отличных от Git, расширяя гибкость рабочего процесса и позволяя легко интегрировать более широкий спектр проектов.
Внимание
Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot
Проверка смарт-переменных ИИ
Оптимизируйте рабочий процесс отладки с помощью интегрированной проверки переменных ИИ.
Проверка и анализ значений из разделов "Локальные", "Авто" и "Подсказки данных" стала максимально простой благодаря функции "Спросить GitHub Copilot" в Visual Studio. Просто щелкните правой кнопкой мыши любое значение, чтобы получить подробную ИИ-аналитику об ошибках, непредвиденных результатах или аномалиях. Для этого вам не придется покидать интегрированную среду разработки.
Эта функция значительно повышает скорость устранения неполадок, анализируя переменные в режиме реального времени в интегрированной среде разработки при возникновении непредвиденных значений.
Внимание
Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot
Визуализатор iEnumerable с использованием ИИ
Управляемые искусственным интеллектом выражения LINQ Editable в визуализаторе IEnumerable.
Мы улучшили функцию изменяемых выражений в визуализаторе IEnumerable с помощью ИИ. Новая функция Спросить Copilot позволяет пользователям применять ИИ непосредственно в текстовом поле изменяемого выражения для создания сложных выражений LINQ.
Чтобы получить доступ к чату 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 теперь интегрирован в лампочку и список ошибок, предоставляя быстрые исправления и полезные объяснения проблем с кодом. Независимо от того, разрабатываете ли вы на C# или C++, эта функция помогает эффективнее понимать и устранять проблемы в базе кода.
Чтобы приступить к работе, просто вызовите лампочку и выберите Исправить с 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 в рамках Visual Studio!
Эта новая возможность обеспечивает прозрачность для разработчиков, уведомляя их, когда предложения GitHub Copilot совпадают с общедоступным кодом. Теперь вы можете увидеть совпадающий код, его исходный файл и любую связанную информацию о лицензировании. Это помогает принимать более обоснованные решения при написании кода.
Ссылки на код позволяют блокировать или разрешать предложения, содержащие совпадения с общедоступным кодом. Это повышает уровень управления и настройки.
Интеграция ссылок на код в GitHub Copilot способствует обмену знаниями, повышению прозрачности и расширению возможностей для уверенного создания решений. Независимо от того, являетесь ли вы индивидуальным разработчиком или участником более крупной команды, эта функция улучшает рабочий процесс и помогает легко разбираться в сложностях общедоступного кода.
Попробуйте GitHub Copilot в Visual Studio уже сегодня и управляйте своим процессом разработки с дополнительной прозрачностью и уверенностью!
Внимание
Чтобы использовать эту функцию, обязательно активируйте 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 в вашем рабочем процессе.
Библиотека запросов
Если вам нужно снова ссылаться на некоторые предварительно созданные запросы, нажмите кнопку "Библиотека запросов" (значок книги), чтобы просмотреть список всех доступных вам запросов. Эта библиотека содержит часто используемые запросы. Вам нужно щелкнуть всего один раз!
Если вы изучаете новые задачи для написания кода или просто ищете вдохновение, наши запросы помогут вам быстро приступить к работе и максимально эффективно использовать чат GitHub Copilot.
Попробуйте один из них и посмотрите, куда он вас приведет!
Внимание
Чтобы использовать эту функцию, обязательно активируйте GitHub Copilot
.NET
Дополнительные возможности с помощью .NET 9 📣
.NET 9 повышает уровень разработки облачных и интеллектуальных приложений, уделяя особое внимание улучшению производительности, упрощению развертываний и ускоренной интеграции СИ.
.NET 9 выводит на новый уровень разработку облачных и интеллектуальных приложений, уделяя особое внимание повышению производительности, упрощению развертывания и ускорению интеграции искусственного интеллекта, обеспечивая высокую производительность в широком спектре приложений. С полной поддержкой .NET 9 в Visual Studio 17.12 вы можете легко использовать все последние улучшения. Дополнительные сведения о новых возможностях см. в статье Новые возможности .NET 9.
Кроме того, вы найдете обновления компонентов интегрированной среды разработки, которые максимально повышают продуктивность работы с .NET и ASP.NET.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
NuGet проверяет транзитивные пакеты 📣
NuGet изменяет параметры аудита по умолчанию для включения транзитивных пакетов.
Аудит NuGet, впервые добавленный в Visual Studio 17.8 (и .NET 8), предоставляет предупреждения во время восстановления, если любые пакеты, используемые в проекте, содержат известные уязвимости.
Дополнительные сведения об аудите 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>
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Отладка и диагностика
Отладка Blazor WebAssembly 📣
Улучшенный интерфейс отладки для приложений Blazor WebAssembly, предназначенных для .NET 9 или более поздней версии.
Visual Studio теперь предлагает улучшенные возможности отладки для приложений Blazor WebAssembly, ориентированных на .NET 9 или более поздние версии:
- Типы данных, отображаемые в отладчике, теперь соответствуют ожидаемым типам данных .NET.
- Для членов типов и видимости членов используются ожидаемые значки.
- Отображаемый стек вызовов очищается и отображает только стек вызовов .NET, а также корректно учитывает настройку Только мой код.
- Теперь поддерживается окно модулей.
- Расширена и улучшена поддержка оценки выражений в окне интерпретации, а также для контрольных значений и условных точек останова.
Чтобы включить предварительную версию нового интерфейса отладки, выполните следующие действия:
- Включите настройку Включить новый отладчик .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 и делает их более точными.
Это улучшение упрощает создание и редактирование запросов, предлагая интеллектуальные рекомендации по коду, уменьшая вероятность ошибок и ускоряя разработку.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Анализ использования памяти с течением времени
Выберите и сравните два моментальных снимка памяти с помощью окна средства диагностики.
Окно средства диагностики теперь поддерживает сравнение моментальных снимков памяти, что упрощает анализ изменений памяти с течением времени.
Чтобы использовать эту функцию, убедитесь, что на вкладке "Память" в окне средства диагностики записано не менее двух моментальных снимков памяти .
Выбор моментальных снимков для сравнения
- Удерживайте клавишу CTRL и щелкните строки моментального снимка, чтобы выбрать все два моментальных снимка.
- Кроме того, удерживайте клавишу SHIFT и используйте
up/down
клавиши со стрелками для выбора двух последовательных моментальных снимков.Отмена выбора моментальных снимков
- Удерживайте клавишу CTRL и щелкните моментальный снимок, который требуется отменить.
Просмотр различий
Выбрав моментальные снимки памяти для сравнения, нажмите кнопку Просмотр различий, расположенную над списком моментальных снимков, чтобы просмотреть различия между ними.
Инструменты Git
Управление переименованием файлов с помощью Git 📣
Получите спокойствие при переименовании файлов с новым уведомлением.
При переименовании файлов из обозревателя решений вы получите напоминание о том, как выполнить изменения, чтобы увидеть переименование в Git. Это повышает уверенность в том, что Git распознает изменение файла и правильно отслеживает его. Мы обнаружили, что это была точка путаницы для многих клиентов, поэтому мы работали с людьми в Сообщество разработчиков, чтобы создать новое уведомление.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Черновики запросов на вытягивание и шаблоны 📣
Создайте черновики запросов на вытягивание и запустите описания с помощью шаблонов в 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. Это упрощает совместную работу и процесс взаимодействия между интегрированной средой разработки и удаленными репозиториями в Интернете.
Вы также можете получать ссылки для общего доступа непосредственно из журнала фиксаций. Это позволяет легко ссылаться на код, на который в настоящее время не извлечен.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Поддержка нескольких репозиторий Git 📣
Теперь вы можете создавать запросы на вытягивание и связывать рабочие элементы в сценариях с несколькими репозиториями для GitHub и Azure DevOps.
Теперь вы можете создавать запросы на вытягивание и связывать рабочие элементы в сценариях с несколькими репозиториями. Для GitHub и Azure DevOps мы поддерживаем интеграцию при использовании средства выбора репозитория, чтобы сосредоточиться на определенном репозитории в сценариях с несколькими репозиториями.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Настройка сообщения фиксации AI Git 📣
Дополнительные инструкции можно добавить в запрос на создание сообщения фиксации Git с помощью GitHub Copilot.
Теперь вы можете добавлять дополнительные инструкции в запрос на создание сообщения фиксации Git с помощью GitHub Copilot. Это позволяет настроить сообщение фиксации, чтобы оно лучше соответствовало рабочему процессу и стандартам команды. Вы можете указать количество строк для создания, длину строк и даже продемонстрировать пример стиля фиксации. Измените сообщение в поле запроса в разделе "Параметры > средств>" GitHub > Copilot > Source Control Integration.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
IDE
Конфигурация запуска с несколькими проектами 📣
Упростите отладку, настраивая и сохраняя профили запуска для конкретных проектов в рамках решений с несколькими проектами. Легко делитесь конфигурациями со своей командой.
Функция конфигурации запуска с несколькими проектами позволяет настраивать и сохранять профили для запуска конкретных проектов в решении с несколькими проектами в предопределенных состояниях для отладки.
Это упрощает работу со сложными решениями, повышает эффективность отладки и позволяет легко обмениваться конфигурациями между участниками команды.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Примечание.
Эта функция должна быть включена в разделе "Средства —> управление предварительными версиями компонентов"
Предупреждения системы безопасности MotW
Предупреждение системы безопасности (MotW) в Интернете теперь интегрировано в общую функциональность доверия.
Visual Studio будет отображать предупреждение системы безопасности при обнаружении попытки открыть содержимое, помеченное идентификатором веб-метки безопасности (MotW).
Это новое предупреждение, связанное с доверием, сообщает о рисках открытия содержимого из потенциально небезопасных источников, например из интернет-загрузок.
Вы можете изменить интерфейс доверия по умолчанию, перейдя в раздел "Параметры доверия" в разделе "Параметры > инструментов>".
Новые шаблоны ИИ Набора средств Teams
Набор средств Teams подключен к новым шаблонам приложений AI Teams.
Набор средств Teams добавляет три новых ИИ-шаблона приложений Teams:
В их число входят:
Чат-бот с базовым ИИ — ваши собственные помощники в Microsoft Teams, созданные с использованием библиотеки ИИ Teams
Чат с собственными данными — интеллектуальный шаблон чат-бота со знаниями о домене из пользовательского источника данных.
Набор средств Teams теперь позволяет создать настраиваемого Copilot, который является чат-ботом на базе искусственного интеллекта с возможностью RAG и может понимать естественный язык и получать данные домена для ответа на вопросы, относящиеся к домену. Этот шаблон поддерживает доступ к пользовательским данным в настраиваемом приложении Copilot.
При выборе этого шаблона можно выбрать два способа подключения к данным:
a. Поиск ИИ Azure: чат-бот может получить доступ к данным в службе поиска ИИ Azure и использовать ее в беседе с пользователями.
b. Пользовательский источник данных: можно добавить любой источник данных для настраиваемого приложения Copilot, например файловую систему или векторную базу данных.
Агент ИИ — агент ИИ в Teams, который может принимать решения и выполнять действия на основе причин LLM.
Попробуйте новые ИИ-шаблоны приложений, чтобы начать использование ИИ в Teams!
Копирование файлов между экземплярами 📣
Теперь вы можете копировать файлы и папки из Обозреватель решений в одном экземпляре Visual Studio в другой.
Мы рады представить очень востребованную функцию в Visual Studio! Теперь вы можете легко копировать и вставлять файлы кода и папки между различными экземплярами Visual Studio с помощью Обозревателя решений. Просто выберите нужный файл или папку, нажмите клавиши CTRL+C или CTRL+X, переключитесь на другой экземпляр Visual Studio и используйте CTRL+V, чтобы включить эти файлы или папки в новое решение. Все изменения будут точно отражены в файловой системе.
Помимо копирования и вставки, вы также можете перетаскивать файлы и папки из одного экземпляра Visual Studio в другой.
Ранее эта функция была доступна только для нескольких типов проектов, но теперь мы расширили ее, чтобы включить все основные типы проектов в Visual Studio.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Облако
приложение Azure служба публикует обновления системы безопасности
Публикация в службе приложение Azure безопасно с помощью интегрированных обновлений системы безопасности.
Руководство по публикации Службы приложений Azure рекомендует клиентам отключить обычную проверку подлинности и включить публикацию с помощью интегрированной проверки подлинности.
Новая функция в Visual Studio 2022 отключает обычную проверку подлинности и обеспечивает встроенную безопасность публикации в Службе приложений Azure. Это гарантирует безопасную обработку учетных данных публикации, что снижает риски, связанные с обычной проверкой подлинности.
При публикации в Службе приложений Azure с включенной обычной проверкой подлинности (которая не рекомендуется) пользователи увидят параметр Включить обычную проверку подлинности, флажок которого будет снят по умолчанию. Клиенты, которым необходимо сохранить обычную проверку подлинности, могут установить флажок. Но с учетом того, что рекомендуется отключить обычную проверку подлинности, этот флажок по умолчанию снят. Поэтому вы начинаете с безопасными параметрами, если это ваша первая публикация, или получаете безопасные параметры при выполнении публикации после обновления Visual Studio.
Если вы недавно создали веб-приложение с помощью портала, текущей или любой будущей версии Visual Studio, обычная проверка подлинности будет отключена по умолчанию. Для любого веб-приложения, у которого уже отключена обычная проверка подлинности, мы избегаем непреднамеренного снижения уровня безопасности веб-приложения путем отключения флажка полностью, чтобы обеспечить вашу безопасность.
Поддержка Linux для веб-заданий Azure 📣
Публикация в веб-заданиях Azure в Linux теперь поддерживается правой кнопкой мыши публикации в Visual Studio.
Кроссплатформенные консольные приложения .NET 5.0+ поддерживаются в Linux для веб-заданий Azure, и теперь вы также можете публиковать правой кнопкой мыши код в веб-заданиях Azure в Linux из Visual Studio!
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Функции Azure потребления Flex
Публикация в плане размещения Azure Flex Consumption в настоящее время в предварительной версии.
Если вы пытаетесь использовать новый план размещения потребления Flex в Функциях Azure (сейчас доступно в предварительной версии), вы сможете щелкнуть правой кнопкой мыши публикацию во Flex из Visual Studio.
Потребление Flex дополнительно расширяет функции приложений и предоставляет следующие возможности:
- Интеграция виртуальной сети без дополнительных затрат
- Быстрое и прогнозируемое масштабирование с помощью выбора размера экземпляра и управления параллелизмом на экземпляр
- Бессерверные решения с масштабированием до нуля, и вы оплачиваете только экземпляры во время их активности
- Устранение проблем с холодным запуском с помощью необязательной функции экземпляров Always Ready
Узнайте больше о потреблении Flex в записи блога с объявлением или документации. Также попробуйте один из наших примеров.
Обновление безопасности подключенных служб
Обеспечение безопасности приложений и разработки.
В этом обновлении Connected Services вы теперь можете подключать код своего проекта к ресурсам Azure, таким как хранилище Azure, без необходимости использования секретов или строк подключения в вашем коде или конфигурации.
Теперь вы дадите своему подключению имя, а конечные точки будут сохраняться в конфигурации вместо полной строки подключения. Это означает меньше секретов на диске, поэтому время разработки будет по умолчанию более защищенным и возникнет меньше ошибок при передаче секретов в систему контроля версий.
Мы также используем новейшие пакеты SDK Azure, поэтому вы получите поддержку для подключения к ресурсам Azure с использованием учетной записи Visual Studio (или Azure CLI) вместо подключения через строку подключения. При локальном запуске ваш код будет использовать ваши учетные данные для доступа к ресурсам. При работе в Azure Azure SDK будет использовать управляемую идентификацию службы приложения для доступа к ресурсам.
Подключенные службы все настраивают за вас и внедряют соответствующий код для использования интегрированной идентификации вместо секретов. Во время публикации ваше приложение будет настроено с использованием соответствующих идентификаторов и ролей, необходимых для доступа к ресурсам.
Персональный компьютер
Улучшено средство MSIX для приложений UWP в .NET 9 📣
Visual Studio теперь ссылается на новое автономное средство MSIX для упаковки приложений UWP в .NET 9.
В начальной предварительной версии поддержки UWP для .NET 9 мы использовали WindowsAppSDK, чтобы предоставить средства MSIX для упаковки приложений с помощью одной конфигурации проекта (в отличие от использования проекта упаковки приложений Windows, т. е. wapproj-файла). Это ввело несколько проблем, главным из которых является то, что транзитивная зависимость WebView2 от WindowsAppSDK была автоматически добавлена ко всем приложениям UWP, даже если это не требуется.
Теперь мы полностью отделили один проект MSIX и опубликовали его как новый автономный пакет NuGet: Microsoft.Windows.SDK.BuildTools.MSIX. Сюда входят все необходимые для сборки, развертывания и запуска приложений UWP в .NET 9, а также создания пакетов MSIX для публикации в Microsoft Store или неопубликованных данных. Средство UWP в .NET 9 в Visual Studio автоматически добавит эти две ссылки на пакеты при необходимости:
Это полностью удаляет транзитивную зависимость WebView2 и ошибку сборки, которая была представлена для новых проектов в предыдущих предварительных версиях, если не настроить свойство WindowsSdkPackageVersion в CSPROJ-файле вручную. При этом изменении новые проекты будут просто создавать и запускаться без каких-либо дополнительных изменений!
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
Расширенный поиск компонентов WinUI
Улучшение настройки проекта WinUI с улучшенным поиском установщика Visual Studio, упрощая расположение компонентов для разработчиков.
Воспользуйтесь последним обновлением Visual Studio Installer, чтобы сделать более удобной настройку проектов WinUI. Теперь разработчики смогут быстро находить компоненты, связанные с WinUI: больше не требуется, как раньше, просматривать пустые результаты поиска. Благодаря этому улучшению упрощается настройка среды разработки, а пользовательский интерфейс становится более интуитивным и эффективным.
Откройте 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
используется правильный относительный путь к расположению тестовых файлов.Добавьте тесты в правильную папку и создайте проект/решение. После этого вы увидите тестовые случаи в Обозревателе тестов.
В Обозревателе тестов вы увидите различные обнаруженные тестовые случаи, которые можно выполнить.
Мы еще не добавили поддержку отладки, но скоро добавим ее. Другая известная проблема заключается в том, что при двойном щелчке по тестовому случаю в Обозревателе тестов выполняется переход в первую строку файла, в котором определен тестовый случай. Вскоре мы также улучшим этот интерфейс.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
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.
Эти параметры показаны на следующем изображении.
По умолчанию все эти параметры отключены. Нужно включить отображение интересующих вас подсказок для файлов 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 команды могут более эффективно работать над большими базами данных в одном проекте или компилировать несколько наборов объектов из нескольких проектов.
Развертывание баз данных из проекта Microsoft.Build.Sql можно автоматизировать в средах Windows и Linux, где средство dotnet Microsoft.SqlPackage публикует артефакт сборки (DACPAC) из проекта SQL. Узнайте больше о предварительной версии проектов SQL в стиле пакета SDK и DevOps для SQL.
Пакет SDK для проекта Microsoft.Build.Sql является решением с открытым кодом, разработанным в GitHub.
Устанавливайте новейший компонент предварительной версии SSDT в установщике Visual Studio, чтобы использовать проекты SQL в стиле пакета SDK в своем решении.
📣Ознакомьтесь с запросом на функцию, чтобы поделиться своими отзывами и продолжить беседу.
C++
Установка аргументов командной строки C++
Новый способ задать аргументы командной строки прямо на панели инструментов.
Быстро задавайте аргументы командной строки для своего проекта C++ с помощью нового элемента панели инструментов Задать аргументы. В этом поле со списком можно указывать аргументы для командной строки непосредственно на панели инструментов, поэтому можно быстро менять аргументы. При запуске проекта все аргументы, введенные в поле, будут переданы.
Этот компонент панели инструментов будет отображаться по умолчанию, если у вас установлена рабочая нагрузка Разработка игр с рабочей нагрузкой C++. Если вы его не видите, вы можете добавить его, щелкнув правой кнопкой мыши на панели инструментов и выбрав Задать аргументы.
Примечание. В настоящее время эта функция доступна только для проектов Unreal Engine. Обычные проекты C++ будут поддерживаться в дальнейших выпусках.
Объяснения представления "Аналитика сборки"
Узнайте, как использовать каждую вкладку Build Insights с помощью только что добавленной ссылки на документацию.
Теперь вы увидите краткое описание того, как можно использовать каждую вкладку Build Insights, а также ссылку на документацию для подробного объяснения.
Корректировки пути Build Insights
Получите более четкое представление файла в Build Insights, просмотрите полный путь при наведении указателя мыши.
Мы скрываем полные и относительные пути для поддержания порядка. Чтобы просмотреть полные пути, просто наведите курсор на файл. Вы также увидите новый столбец Имя файла для файлов и единиц перевода, отображаемый по умолчанию, чтобы помочь вам быстро идентифицировать файлы без анализа длинных путей.
Открытие папки для uproject Unreal Engine
Новый способ открытия вашего выхода.
Добавлена дополнительная точка входа, чтобы открывать файлы проектов Unreal Engine uproject: реализована поддержка таких файлов в Visual Studio. Теперь вы можете открыть свой проект непосредственно в меню "Файл ", выбрав "Открыть > проект Unreal Engine...". Откроется проект Unreal Engine в Visual Studio.
Дополнительные сведения об использовании этой функции см. в статье Прямое редактирование файлов .uproject в Visual Studio.
Улучшенная подпись изменения
Теперь вы можете изменить подписи с помощью улучшенного интерфейса C++.
Мы обновили интерфейс изменения подписи для C++. Теперь вы можете добавлять, удалять и изменять параметры в разделе конфигурации параметров. Кроме того, вы можете изменять их порядок путем выбора и перетаскивания в новую позицию.
Методы доступа остаются неизменными: нажмите клавиши CTRL+, чтобы активировать меню "Быстрые действия" и "Рефакторинг" и выберите "Изменить подпись".
Основные исправления ошибок, сообщаемых пользователем
- Редактор C# не может найти элементы управления, определенные в xaml-файле
- Команда GIT (синхронизация, вытягивание, отправка) и список ветвей, отсутствующие в строке состояния
- VSSDK/CPS/Расширяемость: загрузка изображений в расширениях VS с помощью imagemanifest не работает в VS2022
- Backspace и т. д. Иногда перестают работать
- Обозреватель ресурсов не может открывать файлы resx
- Сброс всех параметров всегда приводит к ошибке
- VS2022 17.10.0 Preview 7: внутренняя ошибка компилятора
- Файлы Javascript теряют цветовую кодировку после 10000 строк кода
- Использование std::format в модуле требует включения заголовка формата в файлы .cpp с помощью этого модуля.
- Ошибка синтаксиса C++ после обновления до Visual Studio 17.11.0
- Не удается переместить блок кода вверх и вниз после обновления VS
- Создание кэша CMake на удаленном узле Linux завершается сбоем в запросе ctest
- Ошибка в конвейерах Azure DevOps с VSTest@2
- Не удается добавить учетную запись Apple (vs 2022, корпоративная учетная запись)
📣Полный список всех исправлений ошибок, сообщаемых пользователем, которые сделали его в этом выпуске.
Известные проблемы
- Ошибка "Сбой экспорта сертификата" возникает при попытке отладки веб-проекта ASP.NET Core с включенным протоколом HTTPS и использованием профиля отладки WSL. Это происходит из-за критического изменения: экспорт сертификата разработки больше не создает папку.
Это можно обойти, создав папку
%appdata%\ASP.NET\Https
перед отладкой.
Версия 17.12.1
Выпущен Novemeber 19th, 2024
Основные исправления ошибок | От сообщества |
---|---|
Исправлена проблема с цветом синтаксического мерцания при прокрутке через https://github.com/dotnet/roslyn/pull/75796 | |
В этом выпуске содержатся обновления для обеспечения соответствия международным законам о языке. |
От всех нас в команде спасибо за выбор Visual Studio. Если у вас есть вопросы, обратитесь к нам в Twitter или Сообщество разработчиков.
Удачного программирования!
Команда Visual Studio
Примечание.
Это обновление может включать новое программное обеспечение Майкрософт или стороннее программное обеспечение, лицензированное отдельно, как указано в уведомлениях сторонних поставщиков или в соответствующей лицензии.