interfejs wiersza polecenia tworzenia aplikacji aplikacja dla systemu Windows (interfejs wiersza polecenia winapp)

Ważna

Interfejs wiersza polecenia programowania aplikacja dla systemu Windows jest obecnie dostępny w wersji public preview. Funkcje i polecenia mogą ulec zmianie przed ostateczną wersją. Podziel się swoją opinią, utwórz zgłoszenie.

aplikacja dla systemu Windows Development CLI (winapp CLI) to narzędzie wiersza polecenia służące do tworzenia aplikacji systemu Windows przy użyciu wybranej platformy. Działa on z poziomu terminalu, preferowanego edytora lub agenta kodowania sztucznej inteligencji.

  • Aplikacje WinUI: twórz, uruchamiaj, debuguj, testuj i pakuj aplikacje WinUI bez otwierania Visual Studio.
  • Frameworki międzyplatformowe i inne: dodaj funkcje systemu Windows do istniejącej aplikacji Electron, Flutter, Tauri, Rust, .NET lub C++ bez zmiany frameworków. Interfejs wiersza polecenia winapp konfiguruje Zestaw SDK do aplikacji systemu Windows i Windows SDK, udostępnia tożsamość pakietu aplikacji, aby można było wywoływać interfejsy API, takie jak powiadomienia i sztuczna inteligencja na urządzeniu, oraz pakuje ją jako MSIX dla Microsoft Store lub własnej dystrybucji.

Najważniejsze korzyści wynikające z winapp CLI

Ikona wiersza polecenia na podniesionym kafelku na niebieskiej fali pikseli

Tworzenie i uruchamianie aplikacji WinUI z poziomu terminalu
winapp new Tworzy aplikację WinUI na podstawie oficjalnych szablonów, w tym pustych, NavigationView, TabView i szablonów startowych MVVM. winapp runkompiluje projekt, instaluje pasujące środowisko aplikacja dla systemu Windows Runtime i uruchamia aplikację, niezależnie od tego, czy jest spakietowana czy niespakietowana.
Tworzenie pierwszej aplikacji WinUI

Ikona usterki na podniesionym kafelku na ukośnym pasmie niebieskich pikseli

Debugowanie przy użyciu tożsamości pakietu i diagnostyki awarii
Uruchom aplikację z identyfikatorem pakietu, aby można było testować powiadomienia, sztuczną inteligencję na urządzeniu i inne interfejsy API, które wymagają tożsamości. Dodaj --debug-output do przechwytywania komunikatów debugowania i zrzutów awaryjnych. W przypadku awarii WinUI winapp dekoduje stowed wyjątki, aby wskazać procedurę obsługi zdarzeń XAML, która zakończyła się niepowodzeniem.
Debugowanie przy użyciu tożsamości pakietu

Bąbelek czatu z ikoną iskier na podniesionym kafelku na niebieskiej fali pikseli

Oprzyj agentów AI do kodowania na rzeczywistym kodzie WinUI
winapp find-uiZwraca działający kod XAML i C# z galerii WinUI 3 i zestawu narzędzi Windows Community Toolkit. winapp find-api analizator sprawdza interfejsy API środowisko wykonawcze systemu Windows, do których odwołuje się projekt. Agenty używają ich do generowania kodu na podstawie rzeczywistych przykładów i metadanych zamiast odgadywania.
Używaj CLI winapp z agentami AI

Ikona wskaźnika i ikona dotykowa na podniesionym kafelku na ukośnym pasmie niebieskich pikseli

Automatyzuj i testuj interfejs użytkownika aplikacji
winapp ui sprawdza i wchodzi w interakcję z uruchomionymi aplikacjami za pośrednictwem automatyzacja interfejsu użytkownika oraz przechwytuje zrzuty ekranu i nagrania. Uruchom aplikację w Windows Sandbox, aby przetestować ją w czystym środowisku.
Automatyzacja interfejsu użytkownika

Ikona pakietu na podniesionym kafelku na niebieskiej fali pikseli

Spakuj, podpisz i wyślij
winapp pack kompiluje projekt, pakuje go jako plik MSIX i podpisuje go w jednym kroku. Generowanie certyfikatów programistycznych lokalnie, podpisywanie kompilacji wydania przy użyciu Azure Trusted Signing i instalowanie CLI winapp na runnerach GitHub Actions lub Azure DevOps.
Spakuj aplikację

Ikona układanki na podniesionym kafelku na ukośnym pasmie niebieskich pikseli

Wprowadź funkcje Windows do dowolnego frameworku
Dodaj zestaw SDK Windows i Zestaw SDK do aplikacji systemu Windows, tożsamość pakietu i pakiet MSIX do aplikacji utworzonych za pomocą .NET, C++, Electron, Flutter, Rust lub Tauri bez zmiany systemu kompilacji.
Zobacz obsługiwane frameworki

Wprowadzenie do interfejsu WinUI

Po zainstalowaniu interfejsu wiersza polecenia winapp i zestawu SDK .NET utwórz i uruchom aplikację WinUI:

winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run

Gdy będziesz gotowy do przetestowania pakietu lokalnie, wygeneruj certyfikat deweloperski i utwórz podpisany pakiet MSIX:

winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx

Certyfikat dewelopera używa domyślnego hasła i służy tylko do testowania lokalnego. Przed dystrybucją aplikacji podpisz ją za pomocą zaufanego certyfikatu, na przykład za pomocą winapp az-sign. Aby uzyskać więcej informacji, zobacz Security.

Aby zapoznać się z przewodnikiem krok po kroku zawierającym konfigurację i pierwszą zmianę interfejsu użytkownika, zobacz Tworzenie pierwszej aplikacji WinUI. Aby wyświetlić wszystkie dostępne szablony, uruchom polecenie winapp new --list. Pełny przepływ pracy, w tym debugowanie, automatyzacja interfejsu użytkownika i pakowanie, można znaleźć w temacie Using winapp CLI with WinUI.

Instalacja

WinGet

Najprostszym sposobem zainstalowania CLI jest użycie WinGet (Windows Menedżer pakietów):

winget install Microsoft.winappcli --source winget

Jeśli używasz modułu WinGet PowerShell, uruchom polecenie Install-WinGetPackage Microsoft.winappcli zamiast tego.

NPM

W przypadku projektów Electron zainstaluj za pomocą narzędzia NPM:

npm install @microsoft/winappcli --save-dev

GitHub Actions/Azure DevOps

W przypadku pipelines CI/CD użyj akcji setup-WinAppCli, aby automatycznie zainstalować CLI na runnerach/agentach.

Pobieranie ręczne

Pobierz najnowszą kompilację z GitHub Releases.

Weryfikowanie instalacji

Po zainstalowaniu zweryfikuj instalację, wywołując interfejs wiersza polecenia:

winapp --help

Lub jeśli używasz narzędzia Electron/Node.js:

npx winapp --help

Użyj winapp CLI z agentami AI

Interfejs wiersza polecenia winapp został zaprojektowany tak, aby działał dobrze z agentami kodowania sztucznej inteligencji. Polecenia, takie jak find-ui i find-api, zwracają dane wyjściowe w formacie czytelnym maszynowo za pomocą --json, dzięki czemu agent może wyszukać rzeczywiste przykłady WinUI i interfejsy API środowisko wykonawcze systemu Windows przed zapisaniem kodu.

Zainstaluj wtyczkę winapp, aby zapewnić swoim agentom umiejętności dotyczące przepływu pracy CLI winapp:

# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli

# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli

Jeśli pracujesz w Visual Studio Code, rozszerzenie WinApp VS Code uruchamia polecenia interfejsu wiersza polecenia winapp z edytora i uruchamia aplikację z tożsamością pakietu aplikacji po naciśnięciu klawisza F5. Zainstaluj go z witryny Visual Studio Marketplace.

Obsługiwane platformy

Interfejs wiersza polecenia winapp działa z interfejsem WinUI i innymi strukturami aplikacji:

Framework Przewodnik
WinUI Wprowadzenie do interfejsu WinUI
.NET/WPF/WinForms Rozpocznij z .NET
.NET MAUI Wprowadzenie do platformy .NET MAUI
C++ (CMake) Rozpocznij pracę z C++
Elektron Rozpocznij pracę z Electronem
Rust Zacznij z Rust
Tauri Zacznij pracę z Tauri
Trzepotać Rozpocznij pracę z Flutterem

Dodatkowe przewodniki:

  • Pakowanie EXE/CLI: przewodnik krok po kroku dotyczący spakowania istniejącego EXE/CLI jako MSIX
  • Pakiet rozrzedzony: nadaj aplikacji bez pakietu tożsamość pakietu za pomocą pakietu MSIX zawierającego wyłącznie tożsamość (rozrzedzonego) oraz zawartości zewnętrznej
  • Uzupełnianie powłoki: włącz uzupełnianie za pomocą klawisza Tab dla poleceń, opcji i wartości w PowerShell, bash, zsh i fish
  • Wskazówki dotyczące bezpieczeństwa: co certyfikaty deweloperskie i tryb dewelopera zmieniają na komputerze, jak obsługiwać devcert.pfx, i jak podpisywać na potrzeby środowiska produkcyjnego

Omówienie poleceń

Kategoria Commands
Utwórz i skonfiguruj new, init, restore, update
Uruchom i debuguj run, create-debug-identity, embed-identity, unregister
Pakowanie pakiet
Manifesty generowanie manifestu, aktualizacja zasobów manifestu, dodaj alias do manifestu
Certyfikaty i podpisywanie cert generate, cert install, sign, az-sign, create-external-catalog
Wyszukiwanie kodu dla agentów find-ui, find-api
Automatyzacja interfejsu użytkownika i piaskownica ui, target
Narzędzia narzędzie, sklep, get-winapp-path, complete
Node.js/Electron node create-addon, node generate-bindings, node add-electron-debug-identity, node clear-electron-debug-identity

Aby uzyskać pełną dokumentację interfejsu wiersza polecenia, zobacz Dokumentacja interfejsu wiersza polecenia.

Samples

Folder samples w GitHub zawiera projekt możliwy do uruchomienia dla każdego obsługiwanego frameworku:

Sample Description
Aplikacja WinUI Spakowana aplikacja WinUI zarejestrowana i uruchomiona przy użyciu winapp run
Aplikacja WinUI bez pakietu Aplikacja WinUI bez pakietu została uruchomiona za pomocą polecenia winapp run
Rozwiązanie WinUI Rozwiązanie wieloprojektowe (projekt aplikacji i projektu testowego), które pokazuje, jak winapp run wybiera projekt aplikacji
Aplikacja WinUI w języku C++ Okno WinUI utworzone w C++ z narzędziem CMake, bez języka XAML lub MSBuild
aplikacja WPF aplikacja desktopowa WPF
aplikacja .NET MAUI .NET MAUI Windows projekt spakowany i podpisany przy użyciu interfejsu wiersza polecenia winapp
Aplikacja C++ Natywna aplikacja Win32 języka C++ utworzona za pomocą narzędzia CMake
Elektron Aplikacja Electron Forge z manifestem, elementami zawartości i natywnymi dodatkami języka C++ i C#
Aplikacja Rust Aplikacja Rust, która wywołuje interfejsy API Windows
Aplikacja Tauri Aplikacja Tauri z zapleczem Rust
Aplikacja Flutter Aplikacja desktopowa Flutter z tożsamością pakietu i pakietem SDK aplikacji systemu Windows
Rzadka aplikacja Aplikacja WPF z rozproszonym pakowaniem (MSIX tylko z tożsamością) i instalatorem

Dlaczego tożsamość pakietu?

Wiele interfejsów API Windows wymaga, aby aplikacja miała tożsamość pakietu. Dzięki tożsamości aplikacja uzyskuje access do funkcji, takich jak powiadomienia, integracja systemu operacyjnego i sztuczna inteligencja na urządzeniu. Szablony aplikacji WinUI zawierają manifest pakietu, więc domyślnie nadaje on im tożsamość winapp run. Aby uzyskać pełną listę elementów, które odblokowuje tożsamość pakietu, i aby pomóc wybrać odpowiedni model pakietowania, zobacz Tworzenie pakietów — omówienie.

Otwarty kod źródłowy

Interfejs wiersza polecenia winapp jest oprogramowaniem open source. Kod źródłowy, problemy z plikami i współtworzenie można znaleźć w GitHub. Aby uzyskać pomoc, zobacz Pomoc.