<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Desktop | The .NET Blog</title><link>https://thedotnetblog.com/ru/tags/desktop/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ru</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ru/tags/desktop/index.xml" rel="self" type="application/rss+xml"/><item><title>Расширение WinApp для VS Code: Запускайте, Отлаживайте и Упаковывайте Windows-приложения Не Выходя из Редактора</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/winapp-vscode-extension-run-debug-windows-apps/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/winapp-vscode-extension-run-debug-windows-apps/</guid><description>Расширение WinApp для VS Code приносит полный CLI разработки Windows-приложений прямо в VS Code — запускайте, отлаживайте с идентификатором пакета, упаковывайте и подписывайте Windows-приложения без Visual Studio.</description><content:encoded>&lt;p&gt;&lt;em&gt;Этот пост переведён автоматически. Чтобы прочитать оригинал, &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/winapp-vscode-extension-run-debug-windows-apps/"&gt;нажмите здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Если вы когда-нибудь пробовали создавать Windows-приложение в VS Code, вы знаете этот момент. Вы работаете в потоке, редактируете код в любимом редакторе — и вдруг нужен идентификатор пакета для Windows API. Или надо создать MSIX. Или подписать пакет. И вот уже открываешь Visual Studio или в 23 часа ищешь в Google «msix packaging without visual studio».&lt;/p&gt;
&lt;p&gt;Этого трения больше нет. &lt;a href="https://marketplace.visualstudio.com/items?itemName=Microsoft-WinAppCLI.winapp"&gt;Расширение WinApp для VS Code&lt;/a&gt; вышло в публичный превью — и это полный &lt;a href="https://github.com/microsoft/WinAppCli"&gt;CLI разработки Windows-приложений&lt;/a&gt;, интегрированный непосредственно в VS Code. Никакой отдельной установки, никакого Visual Studio.&lt;/p&gt;
&lt;h2 id="идентификатор-пакета-по-f5"&gt;Идентификатор пакета по F5&lt;/h2&gt;
&lt;p&gt;Проблема с Windows API — уведомления, фоновые задачи, функции ИИ на устройстве, share targets — многие из них требуют, чтобы приложение имело &lt;strong&gt;идентификатор пакета&lt;/strong&gt;. Без него эти API просто не работают.&lt;/p&gt;
&lt;p&gt;Традиционно получение идентификатора пакета означало сборку полного MSIX-установщика или запуск из Visual Studio. Расширение WinApp полностью меняет это с помощью пользовательского типа отладки &lt;code&gt;winapp&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Добавьте это в ваш &lt;code&gt;launch.json&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.2.0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;configurations&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;winapp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;request&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;launch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;WinApp: Launch and Attach&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Нажмите F5. Расширение находит выходные данные сборки и манифест, присваивает приложению идентификатор пакета через &lt;code&gt;winapp run&lt;/code&gt; и подключает отладчик. Для .NET-приложений это &lt;code&gt;coreclr&lt;/code&gt; (требуется C# Dev Kit). C/C++ использует &lt;code&gt;cppvsdbg&lt;/code&gt;. Node/Electron использует встроенный отладчик.&lt;/p&gt;
&lt;p&gt;Можно настроить &lt;code&gt;preLaunchTask&lt;/code&gt;, чтобы проект автоматически собирался перед каждым нажатием F5 — тот же процесс сборки и запуска, что в Visual Studio, только в VS Code.&lt;/p&gt;
&lt;h2 id="всё-в-палитре-команд"&gt;Всё в палитре команд&lt;/h2&gt;
&lt;p&gt;Откройте &lt;code&gt;Ctrl+Shift+P&lt;/code&gt;, введите &lt;code&gt;WinApp&lt;/code&gt; — и получите полный набор инструментов:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Initialize Project&lt;/strong&gt; — настройка проекта с Windows SDK и/или Windows App SDK&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run Application&lt;/strong&gt; — запуск как упакованного приложения с идентификатором пакета&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create MSIX Package&lt;/strong&gt; — упаковка приложения с параметрами сертификата и среды выполнения&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Update Manifest Assets&lt;/strong&gt; — автоматическая генерация всех необходимых иконок из одного исходного изображения&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generate / Install Certificate&lt;/strong&gt; — управление сертификатами разработки&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sign Package&lt;/strong&gt; — подпись MSIX или исполняемого файла&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run SDK Tool&lt;/strong&gt; — запуск &lt;code&gt;makeappx&lt;/code&gt;, &lt;code&gt;signtool&lt;/code&gt;, &lt;code&gt;mt&lt;/code&gt; или &lt;code&gt;makepri&lt;/code&gt; напрямую&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Устанавливать CLI WinApp тоже не нужно. Он входит в комплект расширения.&lt;/p&gt;
&lt;h2 id="работает-с-несколькими-фреймворками"&gt;Работает с Несколькими Фреймворками&lt;/h2&gt;
&lt;p&gt;Это не только инструмент для .NET WPF/WinUI. Расширение работает с:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;.NET&lt;/strong&gt;: WPF, WinForms, Console, WinUI 3&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C/C++&lt;/strong&gt;: Win32, CMake, MSBuild&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Electron&lt;/strong&gt; / Node.js&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rust&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tauri&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flutter&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Такой охват намеренный. VS Code — это место, где живут веб- и кроссплатформенные разработчики. Если вы создаёте приложение Tauri или Electron, которому нужна Windows-упаковка, расширение поможет вам без необходимости переходить на Visual Studio.&lt;/p&gt;
&lt;h2 id="почему-это-важно-для-net-разработчиков"&gt;Почему Это Важно для .NET-разработчиков&lt;/h2&gt;
&lt;p&gt;Я много работаю в VS Code — там пишу Markdown, управляю конфигурациями, редактирую небольшие проекты и запускаю терминалы. Но для разработки .NET Windows-десктопных приложений Visual Studio был единственным реальным вариантом, как только требовалось что-то связанное с упаковкой.&lt;/p&gt;
&lt;p&gt;Это расширение закрывает данный пробел. Теперь можно иметь полный цикл разработки .NET Windows-десктопных приложений — редактирование, сборка, запуск с идентификатором пакета, отладка, упаковка, подпись — не выходя из VS Code. Это реальное улучшение качества работы.&lt;/p&gt;
&lt;h2 id="начало-работы"&gt;Начало Работы&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;code --install-extension Microsoft-WinAppCLI.winapp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Или найдите &lt;strong&gt;WinApp&lt;/strong&gt; в представлении расширений (&lt;code&gt;Ctrl+Shift+X&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Требования:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 10 и выше&lt;/li&gt;
&lt;li&gt;VS Code 1.109.0 и выше&lt;/li&gt;
&lt;li&gt;Расширение отладчика для языка вашего приложения&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Читайте &lt;a href="https://devblogs.microsoft.com/ifdef-windows/announcing-the-winapp-vs-code-extension-run-debug-and-package-windows-apps-in-vs-code/"&gt;полное объявление Chiara Mooney&lt;/a&gt; для получения подробностей.&lt;/p&gt;
&lt;h2 id="заключение"&gt;Заключение&lt;/h2&gt;
&lt;p&gt;Расширение WinApp для VS Code — долгожданное дополнение для .NET Windows-десктопных разработчиков, которые работают в VS Code, но были вынуждены переключаться на Visual Studio для задач упаковки. Идентификатор пакета по F5, упаковка MSIX из палитры команд, встроенное управление сертификатами — это правильный набор функций.&lt;/p&gt;
&lt;p&gt;Попробуйте на следующем проекте WPF или WinUI. Трение, которое вы обходили, теперь значительно уменьшилось.&lt;/p&gt;</content:encoded></item></channel></rss>