+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Visual Studio 2019 v.16.1 Preview 1 - перше прев'ю першого оновлення Visual Studio 2019

Visual Studio 2019 v.16.1 Preview 1 - перше прев'ю першого оновлення Visual Studio 2019

Microsoft випустив Visual Studio 2019 v.16.1 Preview 1. Це перше прев'ю першого оновлення Visual Studio 2019. Якщо ви ще не налаштували отримання Preview-версій, то зробіть це зараз. Preview-версія без проблем встановлюється поруч із Release-версією, тому вони не заважають один одному. Microsoft рекомендує всім авторам розширень встановити Preview-версію.

Деякі нові функції Visual Studio 2019 v.16.1 Preview 1, які можуть вам сподобатися.

Підтримка спільного проекту (Shared Project)

Існує кілька причин, через які авторам розширень іноді доводиться розбивати розширення на кілька проектів для підтримки різних версій Visual Studio. Якщо ви використовуєте API, який не існував для більш ранньої версії Visual Studio, або якщо між версіями, які потрібно підтримувати, є істотні зміни. Тепер тепер стало набагато простіше розділити розширення.

У Visual Studio 2019 v.16.1 Preview 1 ми додали підтримку посилань на Shared Project із проектів VSIX у тому ж рішенні.

Ви можете помістити спільний код в окремий Shared Project, який компілюється безпосередньо до проектів VSIX під час збирання. Єдиний код, який потім існує в самих проектах VSIX - це специфічний код для версії Visual Studio, що підтримується. Результатом є дві окремі VSIX, які орієнтовані на власний діапазон версій Visual Studio і спільно використовують більшу частину коду із загального проекту. Перевірте код для розширення Extension Manager, який робить саме це.

Більше немає потреби у файлі .resx

При додаванні команд, меню і т.д., використовуючи файл VSCT, необхідно вказати файл .resx, позначений властивістю MergeWithCTOMSBuild. Шаблони у Visual Studio дбають про додавання цього файлу, а також додають файл .ico, на який посилається файл .resx. Тим не менш, необхідність у .resx є деталлю імплементації, і більшості розширень її не потрібно використовувати.

З метою спрощення проекту VSIX вимога до файлів .resx /.ico була видалена для тих, хто використовує останню версію пакета NuGet Microsoft .VSSDK.BuildTools 16.0 або нову.

За лаштунками пакет NuGet надає порожній .resx для компіляції з властивістю MergeWithCTO доти, доки ви не зареєстрували свій власний у проекті.

Per-Monitor Awareness

Додаткова підтримка per-monitor включена в 16.1 із встановленою .NET Framework 4.8. Windows Forms UI тепер краще справляється із масштабуванням DPI на моніторах. Однак це може викликати проблеми з UI у вашому розширенні після установки .NET Framework 4.8. >DpiAwareness.EnterDpiScope.

Все, що вам потрібно, це додати посилання на пакет NuGet Microsoft.VisualStudio.DpiAwareness. Використовуйте цей пакет у розширеннях, орієнтованих на попередні версії Visual Studio, але майте на увазі, що він запрацює тільки при використанні у версії 16.1 і новіші. Таким чином, його можна використовувати в розширеннях, що охоплюють кілька версій Visual Studio. Щоб спростити імітацію кількох моніторів, що працюють з різним масштабуванням DPI, інженер з команди Visual Studio IDE створив невеликий зручний інструмент і помістив його на GitHub. Команда використовувала цей інструмент, коли додавала підтримку для per-monitor awareness, так що ви також можете вважати його корисним.

Докладніше про те, як працювати з Per-Monitor Awareness.

Відключено синхронне автозавантаження

18 місяців тому Microsoft відправив електронного листа партнерам з розширення, оголосивши про старіння синхронного автозавантаження пакетів розширень. Рік тому Microsoft опублікував пост у блозі з більш детальною інформацією про те, що синхронно автозавантажуваний пакет не буде підтримуватися в майбутній версії Visual Studio. Ця версія — 16.1.

Є відмінні приклади того, як перейти на AsyncPackage з включеним фоновим завантаженням, і більшість розширень сьогодні вже здійснили перехід. Якщо ви цього ще не зробили, зараз саме час зробити це до того, як 16.1 вийде з попереднього перегляду.

Новий метапакет SDK

Метапакет Microsoft.VisualStudio.SDK — це окремий пакет NuGet, який посилається на всі різні пакети Visual Studio, що становлять SDK. Найкрутіше в метапакеті це те, що у вас є доступ до всіх інтерфейсів і сервісів. Крім того, ви також уникаєте проблем з незбігаючими версіями пакетів.

Коли Microsoft випустив Visual Studio 2019 (16.0), шаблон проекту VSIX посилався на версію 15.9 метапакету SDK. Це було тому, що версія 16.0 все ще була у стадії розробки. Всі окремі пакети повинні були бути опубліковані в NuGet, перш ніж ми могли отримати залежність від них з метапакету.

Хорошою новиною є те, що тепер у Microsoft нарешті готова версія 16.0. Якщо ваше розширення підтримує версію 16.0, то ви повинні використовувати її.

Інші новини

Найкраща ціна