Заметки о выпуске Visual Studio 2019 версии 16.1
Сообщество разработчиков System Requirementsy | Compatibilitable | Code | Release History | Terms Blogs | New in Visual Studio Docs | (Новые возможности в документации Visual Studio) |
Примечание.
Этот выпуск — не последняя версия Visual Studio. Чтобы скачать последний выпуск, посетите сайт Visual Studio .
Новые возможности Visual Studio 2019 версии 16.1
Поддержка диапазона времени
Эта версия теперь не поддерживается. Дополнительные сведения о поддержке Visual Studio см. в политике поддержки Visual Studio 2019.
Ознакомьтесь с последней версией заметок о выпуске или посетите сайт Visual Studio , чтобы скачать последнюю поддерживаемую версию Visual Studio 2019.
Выпуски Visual Studio 2019 версии 16.1
- 9 июля 2019 г.: Visual Studio 2019 версии 16.1.6
- 2 июля 2019 г.: Visual Studio 2019 версии 16.1.5
- 25 июня 2019 г.: Visual Studio 2019 версии 16.1.4
- 11 июня 2019 г.: Visual Studio 2019 версии 16.1.3
- 4 июня 2019 г.: Visual Studio 2019 версии 16.1.2
- 24 мая 2019 г.: Visual Studio 2019 версии 16.1.1
- 21 мая 2019 г.: Visual Studio 2019 версии 16.1
Блог Visual Studio 2019
Блог Visual Studio 2019 является официальным источником сведений о продукте от группы разработчиков Visual Studio. Более подробные сведения о выпусках Visual Studio 2019 версии 15.9 можно найти в следующих записях:
- Visual Studio 2019 версии 16.1 и 16.2, предварительная версия 1.
- Visual Studio 2019. Пишите код быстрее. Автоматизируйте работу. Создавайте будущее.
Visual Studio 2019 версии 16.1.6
Выпущено 9 июля 2019 г.
Уведомления с советами по обеспечению безопасности
CVE-2019-1077 Уязвимость автоматического обновления расширения Visual Studio
Уязвимость, которая может привести к несанкционированному повышению привилегий, возникает, когда процесс автоматического обновления расширения Visual Studio неправильно выполняет определенные операции с файлами. Злоумышленник, использующий эту уязвимость, может удалять файлы в произвольных расположениях. Чтобы воспользоваться этой уязвимостью, злоумышленник должен получить непривилегированный доступ к уязвимой системе. Обновление системы безопасности устраняет эту уязвимость, обеспечивая безопасность расположений, в которых автоматическое обновление расширения Visual Studio выполняет файловые операции.
CVE-2019-1075 Уязвимость спуфинга в ASP.NET Core
Уязвимость спуфинга в ASP.NET Core может привести к открытому перенаправлению. Воспользовавшись этой уязвимостью, злоумышленник может перенаправить пользователя на вредоносный веб-сайт. Чтобы воспользоваться этой уязвимостью, злоумышленник может отправить ссылку со специально созданным URL-адресом и убедить пользователя перейти по ней.
Это обновление для системы безопасности устраняет эту уязвимость, исправляя методы анализа URL-адресов в ASP.NET Core. Сведения см. в заметках о выпуске .NET Core.
CVE-2019-1113 Десериализация XOML в WorkflowDesigner допускает выполнение кода
XOML-файл, ссылающийся на определенные типы, может вызвать выполнение случайного кода при открытии в Visual Studio. Теперь существует ограничение на типы, которые разрешено использовать в XOML-файлах. При открытии XOML-файла, содержащего один из сделанных неавторизованными типов, отображается соответствующее сообщение.
Дополнительные сведения см. в статье https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.
Visual Studio 2019 версии 16.1.5
Выпущено 2 июля 2019 г.
###Summary проблем, устраненных в Visual Studio 2019 версии 16.1.5
- Исправлена известная проблема: средства слияния в поле "Разрешить конфликты" не отображаются.
Visual Studio 2019 версии 16.1.4
Выпущено 25 июня 2019 г.
Сводка проблем, устраненных в Visual Studio 2019 версии 16.1.4
- Исправлена известная проблема: рабочий процесс отладчика (msvsmon.exe) завершался непредвиденным образом, отладка прерывалась.
- Исправлена известная проблема: аварийное завершение VS 2019 при отладке асинхронного кода.
- Исправлена известная проблема: после обновления до VS2019 16.1 возникла проблема с Xamarin.
- Исправлена известная проблема: [Xcode11] [симулятор] обновление до Xcode 11 останавливает запуск симулятора.
- Повышена надежность Visual Studio благодаря исправлению нерегулярной проблемы, которая возникает при открытии решений.
- Исправлен сбой функции поиска в окнах "Локальные" / "Видимые" / "Контрольные значения", если интегрированная среда разработки находится не в режиме прерывания.
Visual Studio 2019 версии 16.1.3
Выпущено 11 июня 2019 г.
Сводка проблем, устраненных в Visual Studio 2019 версии 16.1.3
- Исправлена известная проблема: исправлена проблема с установщиком VSiX, возвращавшим IOException при выполнении из папки установки Visual Studio.
- Исправлена известная проблема: удалено двойное запрос на опрос при удалении.
- Включена ссылка на справочные материалы о выборе рабочей нагрузки для новых пользователей.
Visual Studio 2019 версии 16.1.2
Выпущено 4 июня 2019 г.
Сводка проблем, устраненных в Visual Studio 2019 версии 16.1.2
- Исправлена известная проблема: конструктор XAML для UWP — свойства элемента управления не отображаются
- Исправлена известная проблема: конструктор XAML UWP не обновляет элементы при обновлении кода XAML
- Исправлена известная проблема: свойства XAML и структура документа
- Исправлена известная проблема: окно свойств не отображать свойства при щелчке объекта
- Исправлена известная проблема: не удается просмотреть свойства элементов
- Исправлена известная проблема: ошибка установки при попытке подключения к Mac: "Версия Xamarin.iOS, установленная на x (12.8.0.2), является более новой, чем ваша версия.
- Исправлена известная проблема: исправлено имя решения правой кнопкой мыши в строке сбоя VS.
- Улучшена производительность для клиентов с установленной рабочей нагрузки Azure.
- Исправлены ошибки во время восстановления и сборки в проектах на основе пакета SDK, использующих сторонние пакеты SDK для платформ UWP.
- Исправлена ошибка в компиляторе C#, при которой он не предупреждал клиентов о неполных реализациях интерфейса.
- Улучшены сообщения об ошибках в Средствах Visual Studio для Kubernetes.
- Исправлена ошибка при добавлении комментария в запрос на вытягивание для SymbolCheck.
Visual Studio 2019 версии 16.1.1
Выпущено 24 мая 2019 г.
Сводка проблем, устраненных в Visual Studio 2019 версии 16.1.1
- Исправлена известная проблема: пользовательские задачи с контексттипом по умолчанию с помощью tasks.vs.json разбиты в открытой папке.
- Исправлена известная проблема: при отладке моментальный снимок не создан для машинного кода C++ в средстве использования памяти в окне средств диагностики.
- Исправлена известная проблема: сбой в VS 16.1.0 при нажатии ссылки "поиск в Интернете".
- Устранена проблема, из-за которой некоторые функции (например, Поиск всех ссылок) иногда не работали в гостевом сеансе LiveShare.
- Устранена проблема, из-за которой процесс devenv.exe после завершения работы Visual Studio до 30 секунд мог не отвечать на запросы.
Visual Studio 2019 версии 16.1
Выпущено 21 мая 2019 г.
Сводка о новых возможностях Visual Studio 2019 версии 16.1
IDE
- Visual Studio IntelliCode теперь является общедоступным решением. Оно поставляется с любой рабочей нагрузкой, которая поддерживает C#, C++, TypeScipt/JavaScript или XAML.
- Добавлена поддержка учета характеристик монитора.
- Доступны новые исправления кода для C#.
- В поиск Visual Studio добавлена функция просмотра недавно использованных элементов.
Отладчик
- Реализованы улучшения аутентификации ссылки на источник.
- Сервер символов nuget.org добавлен в список серверов символов по умолчанию.
- Предварительная версия отладки перехода по времени теперь поддерживает отладку исключений по шагам.
Расширяемость
- Снято требование наличия RESX-файла в проектах VSIX (обновление BuildTools).
- В шаблоне проекта VSIX теперь используется новая версия пакета SDK.
Производительность
- Выполнена оптимизация для ускорения загрузки очень больших решений.
- Создатели шаблонов могут добавлять настраиваемые теги в свои шаблоны.
- Поддержка CodeLens для настраиваемых пользовательских интерфейсов.
- Предоставлены обновления реализации протокола языкового сервера.
- Обновлено поведение переключения между решениями, папками и другими представлениями.
C++
- Добавлена внутренняя документация в редакторе для CMake.
- В Visual Studio реализована встроенная поддержка подсистемы Windows для Linux в сочетании с C++, а также AddressSanitizer для проектов Linux и WSL.
- Внесены улучшения и изменения в цветовые схемы подсказок C++ с краткими сведениями.
- Реализованы новые быстрые исправления для анализа кода C++.
F#
- Улучшена производительность и исправлены многие ошибки в F# и средствах для F#.
.NET
- В число новых функций для повышения производительности .NET входит очистка кода в проектах и решениях одним действием, новое сочетание клавиш для комментирования и раскомментирования блоков, рефакторинг для перемещения типов в другие пространства имен.
- Пользователи теперь могут клонировать код по URI SSH, используя экран клонирования в окне запуска.
- Улучшения производительности .NET включают в себя завершение IntelliSense для неимпортируемых типов, включение и отключение однострочных комментариев, экспорт стилей именования в editorconfig, а также новый параметр стиля кода для использования директивы using в пространстве имен и за его пределами.
- Реализованы дополнения средств пакета SDK для .NET для поддержки проектов WinForms и WPF для .NET Core 3.0, а также для исправления ошибок и улучшения производительности.
- Выпущен пакет SDK Visual Studio v16.0 для NuGet.
- Выпущена предварительная версия Конструктора XAML для .NET Core 3.0 WPF.
Xamarin
- Интерфейс Android по умолчанию для Xamarin теперь поддерживает API 28.
- Рекомендации по XAML для атрибутов, используемых во время разработки, в Xamarin.Forms.
Проблемы, исправленные в Visual Studio 2019 версии 16.1
- Исправлена известная проблема: не удается перейти к символу в ASP.NET MVC Projects.
- Исправлена известная проблема: редактор resx не отображается.
- Исправлена известная проблема: поиск всех ссылок минимизируется при использовании клавиш со стрелками.
- Исправлена известная проблема: не удалось скопировать файл obj\x64\Debug\Management.exe, так как он не найден.
- Исправлена известная проблема: Xamarin.iOS не удается найти манифест приложения. Убедитесь, что проект содержит файл манифеста с именем Info.plist.
- Исправленная известная проблема: в среде nmake отсутствует путь к средствам NETFX.
- Исправлена известная проблема: щелкнув проект ASP.NET Core в решении, открыв файл .
csproj
. - Исправленная известная проблема: [MSConnect 3142311] Visual Studio IDE 提示 E1449,但是代码能正常编译运行,结果也对 -> отображается ошибка E1449 для Visual Studio IDE, но код правильно компилируется и запускается с правильными результатами.
- Исправлена известная проблема: ссылка на сборку удаляется из проекта после запуска библиотеки ссылок на приложения.
- Исправлена известная проблема: при обновлении Visual Studio 2019 от RC до общедоступной версии сочетания клавиш RC для Visual Studio остаются позади.
Сведения о новых возможностях Visual Studio 2019 версии 16.1
IDE
- IntelliCode теперь является общедоступным решением. Оно поставляется с любой рабочей нагрузкой, которая поддерживает C#, C++, TypeScipt/JavaScript или XAML.
- Функции IntelliCode предварительной версии (пользовательские модели, поддержка C++, служб терминалов, JavaScript, а также вывод Editorconfig) отключены по умолчанию. Чтобы включить их, откройте меню Средства > Параметры > IntelliCode.
- Удален шаблон Editorconfig (IntelliCode) из мастера создания элемента. Чтобы добавить выводимый файл EditorConfig, щелкните правой кнопкой мыши в нужном месте в Обозревателе решений и выберите Добавить > Новая конфигурация редактора (IntelliCode).
- Используйте окно запуска, чтобы клонировать код из онлайн-репозитория по протоколу SSH.
- Visual Studio IntelliCode устанавливается по умолчанию при установке рабочей нагрузки, которая поддерживает C#, XAML или C++.
- Базовые модели C# и XAML будут включены по умолчанию.
- Предварительные версии функций, такие как обучение пользовательской модели и дополнение аргументов, можно включить, выбрав Сервис > Параметры > IntelliCode.
- Добавлена поддержка учета характеристик монитора
- Доступны новые исправления кода для C#.
- Добавлена поддержка учета характеристик монитора для WinForms на основе окна PropertyBrowser в Visual Studio. На компьютере должна быть установлена версия .NET Framework 4.8 RTM.
Отладчик
- Ссылки на источник теперь могут использовать проверку подлинности Windows для поддержки локальной системы управления версиями TFS.
- Сервер символов nuget.org добавлен в список серверов символов по умолчанию.
Project
- Теперь кнопка для переключения представлений обозревателя решений будет постоянно отображать раскрывающееся меню всех возможных представлений.
Улучшено время загрузки очень больших решений. Оно зависит от размера решения.
Удалено диалоговое окно преобразования в разделе "Файл" > "Преобразовать". Этот компонент был нерекомендуемым в Visual Studio 2015.
Обновлены правила проверки для схем task.vs.json и launch.vs.json и добавлены описания свойств.
Добавлена поддержка для удаленной отладки в Linux с помощью пользовательской программы, запускаемой через launch.vs.json.
Расширяемость
- Теперь в расширениях можно использовать последнюю версию Microsoft.VisualStudio.SDK, предназначенную для Visual Studio 2019. Эту версию пакета SDK следует использовать только в том случае, если наименьшей поддерживаемой версией Visual Studio является 16.0.
- При создании новых проектов VSIX теперь будет использоваться версия 16.0 пакета NuGet Microsoft.VisualStudio.SDK.
- Пользователи могут добавлять теги в шаблоны проектов для включения категоризации и фильтрации в диалоговом окне создания проекта в Visual Studio 2019. Можно выбрать встроенные теги или воспользоваться собственными пользовательскими тегами для языка, платформы и типа проекта.
Теперь расширения CodeLens могут отображать произвольное содержимое пользовательского интерфейса во всплывающих окнах сведений CodeLens.
Обновления протокола языкового сервера:
- поддержка проецируемых буферов для включения LSP для различий внутри кода и файлов Razor в LiveShare;
- поддержка ненужной диагностики;
- поддержка textDocument/typeDefinition;
- поддержка textDocument/foldingRange (структурирование).
Снято требование наличия RESX-файла в проектах VSIX (обновление BuildTools)
Пакет NuGet Microsoft.VSSDK.BuildTools теперь предоставляет пустой RESX-файл при построении, если RESX со свойством MergeWithCTO не существует. Большинству расширений для объединения RESX-файл не требуется (и не используется ими) — таким образом обеспечивается чистота проекта.
Изменения функции учета характеристик монитора могут повлиять на некоторые расширения. Узнайте больше о поддержке учета характеристик монитора для расширителей Visual Studio.
Редактор
- При получении фокуса поиск Visual Studio будет отображать три последних использованных действия, вызванных функцией поиска в Visual Studio, как показано в этом примере макета. (Примечание. Значки и определенные элементы строки не были полностью обновлены в этом макете.)
C++
- Используйте локальную подсистему Windows для установки Linux (WSL) с C++ без дополнительной настройки или SSH-подключения благодаря встроенной поддержке Visual Studio.
- AddressSanitizer теперь можно использовать в Visual Studio для проектов Linux и WSL.
- Теперь при разработке для Linux можно изолировать компьютеры удаленной сборки от компьютеров удаленной отладки (доступно для проектов MSBuild и CMake).
- Подсказки с краткими сведениями теперь содержат ссылку для поиска онлайн-документации, позволяя получить сведения о конструкциях в коде. Для кода, подчеркнутого волнистой красной линией, ссылка в кратких сведениях ведет на поиск ошибки в Интернете.
- Код внутри подсказки с краткими сведениями теперь выделяется теми же цветами, что и в редакторе.
- Автоматическое быстрое исправление предупреждений анализа кода C6001: using uninitialized memory <variable> и C26494 VAR_USE_BEFORE_INIT стали доступны с использование значка лампочки в соответствующих строках. По умолчанию они включены в минимальном наборе правил Майкрософт для машинного кода и наборах правил для типов в C++ Core Check соответственно.
- Усовершенствования редактора параметров CMake, включая поддержку для подсистемы Windows для Linux (WSL) и конфигураций из существующих кэшей, изменения корневых каталогов сборки и установки по умолчанию и поддержку переменных среды в конфигурациях Linux CMake.
- Улучшенное ведение журнала для удаленных подключений упрощает диагностику проблем, связанных с кроссплатформенной разработкой.
- Теперь при разработке для Linux можно отделить компьютер удаленной сборки от компьютера удаленной отладки (это особенность для проектов MSBuild, но скоро она будет доступна для CMake).
- Теперь панель шаблонов может заполнять раскрывающееся меню на основе экземпляров шаблона в базе кода.
- IntelliCode для C++ теперь поставляется вместе с рабочей нагрузкой и включается в разделе Сервис > Параметры > IntelliCode > Общие. В этой версии IntelliCode повышен уровень точности и включена поддержка бесплатных функций.
- Интеграция CMake теперь поддерживает цепочку инструментов Clang/LLVM для проектов, предназначенных для Windows или Linux. Вы можете создавать, редактировать и отлаживать проекты CMake, использующие Clang, MSVC или GCC.
- Лампочки для отсутствующих
#include
, которые могут быть установлены с помощью vcpkg, и автозавершение доступных пакетов для директивы find_package CMake.
Версия CMake, которая поставляется с Visual Studio, обновлена до версии 3.14. В этой версии появилась встроенная поддержка генераторов MSBuild, предназначенных для проектов Visual Studio 2019, а также API интеграции интегрированной среды разработки на основе файлов.
Были внесены изменения в страницы свойств "Общие" для проектов C++: некоторые параметры перенесены на новую страницу "Дополнительно". На странице "Дополнительно" также находятся дополнительные свойства для архитектуры набора инструментов, отладочных библиотек, дополнительного номера версии набора инструментов MSVC и сборок Unity (JUMBO).
В реализацию стандартной библиотеки C++, доступной в разделе
/std:c++latest
, добавлены следующие предварительные версии функций C++20:starts_with()
иends_with()
дляbasic_string
/basic_string_view
;contains()
для ассоциативных контейнеров;remove()
,remove_if()
иunique()
дляlist
иforward_list
теперь возвращаютsize_type
;shift_left()
иshift_right()
добавлены в<algorithm>
.
В компиляторе C++, доступном в разделе
/std:c++latest
, были реализованы следующие предварительные версии функций C++20:- улучшена возможность поиска шаблонов функций с помощью зависящего от аргументов поиска выражений вызова функции с явно заданными аргументами шаблона (P0846R0);
- выделена инициализация (P0329R4), что позволяет выбирать определенные члены в агрегатной инициализации, например с помощью синтаксиса
Type t { .member = expr }
.
Полностью переработана поддержка лямбда-выражений и устранено большое количество давних проблем. При использовании
/std:c++latest
это изменение включено по умолчанию. В других режимах языка/std:c++*
и в режиме по умолчанию новое средство синтаксического анализа можно включить с помощью/experimental:newLambdaProcessor
, например/std:c++17 /experimental:newLambdaProcessor
.Внутренняя документация в редакторе для CMake
Завершения и краткие сведения для встроенных команд, переменных и свойств CMake упрощают редактирование файлов CMakeLists.txt.
F# и средства для F#
В этом выпуске относительно мало обновления для языка и средств F#, но есть несколько приятных мелочей. Как и в случае с обновлением VS 16.0, основное внимание в этом выпуске уделялось производительности средств редактора.
Компилятор F# и F# interactive
- Добавлена поддержка
P/Invoke
в F# Interactive для .NET Core (#6544). - Оптимизирован компилятор для
Span<'T>
при использовании в циклеfor
(#6195). - Реализована оптимизация, позволяющая избежать лишних выделений
Some
для параметров F# в нескольких сценариях (#6532). - Изменен порядок выполнения выражений, которые используются при создании экземпляра анонимных записей. Теперь они выполняются не в алфавитном порядке, а сверху вниз, как в основном интерфейсе записей (#6487).
- Устранена ошибка, из-за которой очень большие литеральные выражения или объявления структур могли вызвать переполнение стека в компиляторе при сборке (#6258).
- Устранена ошибка, из-за которой точки останова не срабатывали при отладке функции с анонимными записями (#6512).
- Устранена ошибка, из-за которой передача анонимных записей в конструкции, ожидающие параметр
obj
, вызывала сбой компилятора (#6434). - Устранена ошибка, из-за которой цикл
for var expr1 to expr2 do ...
приводил к неожиданно правильному (и отклоняемому) синтаксису (#6586). - Устранена ошибка, из-за которой анонимные записи нельзя было использовать с событиями (#6572).
- Исправлена давняя ошибка, из-за которой в FsLexYacc создавались анализаторы огромных размеров (более 100 миллионов строк) (#5967).
- Устранена давняя ошибка в подключаемом модуле поставщика типов для компилятора, которая приводила к утечке памяти из-за поставщика типа (#6409).
- Добавлена поддержка
--pathmap
в компилятор F#, созданный Солом Реннисоном (Saul Rennison), что позволило устранить проблему, из-за которой созданный исполняемый файл содержал абсолютные пути к исходным файлам во внедренном ресурсе файла подписей F# (#5213). - Пользователем ncave добавлена оптимизация AST для F#, которая улучшает использование в других средствах и средах (например, Fable) (#6333).
- Стеффен Форкманн (Steffen Forkmann) добавил оптимизацию обхода информации при разрешении элементов (#4457).
- Готье Сигей (Gauthier Segay) улучшил некоторые сообщения об ошибках, связанных с отсутствием реализации типов, и теперь они выводят список отсутствующих необходимых переопределений (#4982).
Инструменты F#
- Раскрывающийся список требуемой версии .NET Framework для проектов F# в пакете SDK для .NET теперь будет содержать значения для всех доступных значений .NET Core, .NET Standard и .NET Framework, чтобы упростить миграцию на .NET Core из .NET Framework с помощью пакета SDK для .NET.
- Исправлена ошибка, из-за которой переименование параметров универсального типа создавало имена с двойным экранированием обратным апострофом (#5389).
- Устранена давняя проблема, из-за которой для поставщиков типов создавалось избыточное количество экземпляров, что со временем приводило к выделению больших объемов памяти (#5929).
- Устранена старая проблема, из-за которой чтение IL приводило к ненужному выделению 20 МБ за короткий период времени (#6403).
- Василий Кириченко устранил ошибку, из-за которой метод
GetToolTipText
в службе компиляции F# мог отображать одинаковую сигнатуру XML для нескольких перегрузок элементов (#6244).
Инфраструктура открытого кода F#
Наконец мы улучшили процедуру публикации следующим образом:
- Завершен процесс сборки из исходного кода, что позволяет создать компилятор и основную библиотеку F# из репозитория сборки исходного кода .NET Core.
- Удалена зависимость от
netstandard1.6
, и теперь вся база кода единообразно предназначена дляnetstandard2.0
иnet472
. - Добавлен файл
.vsconfig
в корневую папку репозитория, чтобы использующим Visual Studio участникам не нужно было заранее выяснять, какие элементы нужно устанавливать. - Переписан файл README проекта для удаления потенциально противоречивой информации, в том числе краткое руководство по началу работы в роли участника. Мы постарались включить больше возможностей в сообщения о типах изменений, которые мы хотели бы реализовать.
Производительность .NET
- Теперь доступно экспериментальное завершение IntelliSense для неимпортируемых типов. Пользователи теперь получают предложения IntelliSense для всех типов в зависимостях проекта, даже если соответствующая инструкция импорта еще не добавлена в рабочий файл. Этот параметр включается в меню Сервис > Параметры > Текстовый редактор > C# > Intellisense.
- Включение и отключение однострочного комментария теперь можно выполнять с помощью клавиш CTRL+K,/. Эта команда будет добавлять или удалять однострочный комментарий в зависимости от того, применен ли он к выделенному фрагменту кода.
- Можно экспортировать стили именования с помощью кнопки "Создать editorconfig" в разделе Сервис >>Параметры >>Текстовый редактор > C# > Стиль кода.
- Можно использовать новое правило стиля кода editorconfig, чтобы потребовать или запретить использование директив using в пространстве имен. Этот параметр экспортируется с помощью кнопки "Создать editorconfig" в разделе Сервис > Параметры > Текстовый редактор > C# > Стиль кода.
- Столбец Kind (Тип) средства "Поиск всех ссылок" теперь включает дополнительные параметры фильтрации и учитывает пространства имен и типы.
- Добавлено исправление кода для разбиения и объединения операторов If.
- Добавлено исправление кода для переноса двоичных выражений.
- К списку завершения регулярных выражений теперь можно перейти через меню Intellisense (CTRL + ПРОБЕЛ), находясь внутри строки регулярного выражения. Варианты завершения также включены во встроенное описание функций предложения.
- Добавлено исправление кода для распечатывания класса.
- Можно одним действием очищать код в документах, проектах и решениях. Правой кнопкой мыши щелкните проект или решение в обозревателе решений и выберите команду "Запустить очистку кода".
- Можно использовать диалоговое окно рефакторинга для перемещения типа в пространство имен или папку. Поместите курсор на имя класса и введите (CTRL+.), чтобы открыть меню быстрых действий и рефакторинга, и выберите "Переместить в пространство имен". Откроется диалоговое окно, где можно выбрать целевое пространство имен, в которое нужно переместить тип.
- Закомментировать или раскомментировать блок теперь можно с помощью сочетания клавиш CTRL+SHIFT+/ или с помощью команды Правка > Дополнительно > Закомментировать или раскомментировать блок. В зависимости от выбранного варианта эта команда добавит или удалит комментарии для блока.
- Доступно исправление, позволяющее делать поля структуры для чтения доступными для записи. Поместите курсор на имя структуры и введите (CTRL+.), чтобы открыть меню быстрых действий и рефакторинга, и выберите "Сделать поля только для чтения доступными для записи".
- Исправление для добавления частного поля в конструктор и наоборот стало проще для поиска. Оно будет отображаться при выборе любой части имени поля. Также этот рефакторинг предлагает все возможные конструкторы.
Предварительная версия конструктора XAML для разработки WPF для .NET Core 3.0
- Выпущена предварительная версия Конструктора XAML для разработчиков, которые создают приложения .NET Core 3.0 WPF в Visual Studio. Сейчас многие возможности разработки недоступны. Это ранняя предварительная версия, и мы просим вас сообщать о любых проблемах, например сбоях, через форму отзыва о Visual Studio, чтобы разработчики смогли оперативно улучшать взаимодействие.
- При каждом обновлении Visual Studio 2019 мы будем добавлять возможности, которые ранее были доступны в Конструкторе XAML для приложений .NET Framework WPF.
Инструменты пакета SDK для .NET
Для этого выпуска была проделана большая работа, чтобы реализовать возможность использования WPF в .NET Core.
- Устранена проблема, из-за которой диалоговое окно с сообщением об ошибке появлялось при каждом добавлении нового элемента в проект .NET Core WinForms или WPF (#4486).
- Добавлена поддержка файлов XAML в проектах пакета SDK для .NET (#1467), в том числе многие небольшие элементы для достижения соответствия интерфейса с проектами .NET старого стиля.
- Поддержка элементов контекстного меню для WinForms в .NET Core (#137): Windows Form, User Control, Component и Class.
- Поддержка элемента контекстного меню для WPF в .NET Core (#137): окно, страница, элемент управления пользователем, словарь ресурсов.
- Окно "Источники данных" теперь включено для проектов .NET SDK, позволяя использовать распространенные сценарии управления данными для WinForms (#4479).
Отдельно в этом выпуске добавлено много других исправлений.
- Проекты пакета SDK для .NET теперь поддерживают файлы
.razor
(#4468). - На странице свойств отладки добавлен доступный текст справки, который воспроизводится средствами чтения с экрана (#4568).
- Мы добавили параметр, который позволяет отключить открытие файла проекта двойным щелчком (#4493).
- Действие в контекстном меню, которое запускает редактирование файла проекта, теперь не отображает имя проекта. Это устраняет проблему со слишком широким контекстным меню при очень длинных именах проектов (#1492).
- Устранена ошибка, из-за которой создание источника данных с помощью пользовательского интерфейса привязки данных создавало два файла
.datasource
(#4485). - Устранена ошибка, из-за которой связанные файлы могли вызывать сбой проверки актуальности (#4580).
- Исправлено несколько ошибок, в том числе с разрешением пакетов и отображением состояния разрешения в узле зависимостей (#2924,#4577).
Полный список закрытых проблем можно увидеть на странице вехи 16.1 на GitHub.
Xamarin
- Пользовательский интерфейс Android по умолчанию обновлен до API 28 для шаблонов, создания устройств, установщиков и многого другого.
- Теперь при написании XAML Xamarin.Forms IntelliSense для Windows отображает рекомендации для атрибутов, используемых во время разработки.
Известные проблемы
Просмотрите все проблемы и доступные решения в Visual Studio 2019 версии 16.1, перейдя по ссылке ниже.
Отзывы и предложения
Мы будем рады узнать ваше мнение! Вы можете сообщить о проблемах, щелкнув пункт Сообщить о проблеме в правом верхнем углу установщика или самой IDE-среды Visual Studio. Значок находится в правом верхнем углу. Вы можете предлагать для продукта новые функции, задавать вопросы, находить ответы и отслеживать решение своих проблем в сообществе разработчиков Visual Studio. Кроме того, вам доступна бесплатная поддержка в чате по вопросам с установкой.
Блоги
Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.
Журнал заметок о выпуске Visual Studio 2019
Дополнительные сведения о предыдущих версиях Visual Studio 2019 см. на странице Журнал заметок о выпуске Visual Studio 2019.