Návod: Publikování rozšíření sady Visual Studio prostřednictvím příkazového řádku
V tomto názorném postupu se dozvíte, jak publikovat rozšíření sady Visual Studio na Visual Studio Marketplace pomocí příkazového řádku. Když přidáte rozšíření na Marketplace, můžou vývojáři pomocí dialogového okna Rozšíření a Aktualizace vyhledat nová a aktualizovaná rozšíření.
VsixPublisher.exe je nástroj příkazového řádku pro publikování rozšíření sady Visual Studio na Marketplace. Je přístupný z ${VSInstallDir}\VSSDK\VisualStudioIntegration\Tools\Bin\VsixPublisher.exe. Příkazy dostupné v tomto nástroji jsou: publish, deletePublisher, deleteExtension, login, logout.
Příkazy
publikování
Publikuje rozšíření na Marketplace. Přípona může být vsix, soubor exe/msi nebo odkaz. Pokud už rozšíření existuje se stejnou verzí, přepíše rozšíření. Pokud rozšíření ještě neexistuje, vytvoří se nové rozšíření.
Možnosti příkazů | Popis |
---|---|
datová část (povinné) | Buď cesta k datové části k publikování, nebo odkaz, který se má použít jako "adresa URL s dalšími informacemi". |
publishManifest (povinné) | Cesta k souboru manifestu publikování, který se má použít. |
ignoreWarnings | Seznam upozornění, která se mají ignorovat při publikování rozšíření Tato upozornění se při publikování rozšíření zobrazují jako zprávy příkazového řádku. (například VSIXValidatorWarning01, VSIXValidatorWarning02) |
personalAccessToken | Token PAT (Personal Access Token), který se používá k ověření vydavatele. Pokud není zadaný, pat se získá od přihlášených uživatelů. |
VsixPublisher.exe publish -payload "{path to vsix}" -publishManifest "{path to vs-publish.json}" -ignoreWarnings "VSIXValidatorWarning01,VSIXValidatorWarning02"
deletePublisher
Odstraní vydavatele na Marketplace.
Možnosti příkazů | Popis |
---|---|
publisherName (povinné) | Název vydavatele (například identifikátor). |
personalAccessToken (povinné) | Osobní přístupový token, který slouží k ověření vydavatele. |
VsixPublisher.exe deletePublisher -publisherName "{Publisher Name}" -personalAccessToken "{Personal Access Token}"
deleteExtension
Odstraní rozšíření z Marketplace.
Možnosti příkazů | Popis |
---|---|
extensionName (povinné) | Název rozšíření, které chcete odstranit. |
publisherName (povinné) | Název vydavatele (například identifikátor). |
personalAccessToken | Osobní přístupový token, který slouží k ověření vydavatele. Pokud není k dispozici, získá se pat od přihlášených uživatelů. |
VsixPublisher.exe deleteExtension -extensionName "{Extension Name}" -publisherName "{Publisher Name}"
Přihlásit
Zaznamená vydavatele do počítače.
Možnosti příkazů | Popis |
---|---|
personalAccessToken (povinné) | Osobní přístupový token, který slouží k ověření vydavatele. |
publisherName (povinné) | Název vydavatele (například identifikátor). |
Přepsat | Určuje, že každý existující vydavatel by se měl přepsat pomocí nového tokenu pat. |
VsixPublisher.exe login -personalAccessToken "{Personal Access Token}" -publisherName "{Publisher Name}"
logout
Zaznamená vydavatele z počítače.
Možnosti příkazů | Popis |
---|---|
publisherName (povinné) | Název vydavatele (například identifikátor). |
ignoreMissingPublisher | Určuje, že nástroj by neměl být chybný, pokud zadaný vydavatel ještě není přihlášen. |
VsixPublisher.exe logout -publisherName "{Publisher Name}"
createPublisher
Upozornění
Tento příkaz už není k dispozici. Nový vydavatel můžete vytvořit tak, že přejdete na Visual Studio Marketplace.
soubor publishManifest
Soubor publishManifest se používá příkazem publish . Představuje všechna metadata o rozšíření, které marketplace potřebuje znát. Pokud se rozšíření nahrává z rozšíření VSIX, vlastnost identity musí mít nastavenou pouze vlastnost internalName. Důvodem je to, že zbytek vlastností identity lze vygenerovat ze souboru vsixmanifest. Pokud je rozšíření msi/exe nebo rozšíření propojení, musí uživatel zadat požadovaná pole ve vlastnosti "identita". Zbytek manifestu obsahuje informace specifické pro Marketplace (například kategorie, jestli je funkce Q&A povolená atd.).
Ukázka souboru publishManifest rozšíření VSIX:
{
"$schema": "http://json.schemastore.org/vsix-publish",
"categories": [ "build", "coding" ], // The categories of the extension. Between 1 and 3 categories are required.
"identity": {
"internalName": "MyVsixExtension" // If not specified, we try to generate the name from the display name of the extension in the vsixmanifest file.
// Required if the display name is not the actual name of the extension.
},
"overview": "overview.md", // Path to the "readme" file that gets uploaded to the Marketplace. Required.
"priceCategory": "free", // Either "free", "trial", or "paid". Defaults to "free".
"publisher": "MyPublisherName", // The name of the publisher. Required.
"private": false, // Specifies whether or not the extension should be public when uploaded. Defaults to false.
"qna": true, // Specifies whether or not the extension should have a Q&A section. Defaults to true.
"repo": "https://github.com/MyPublisherName/MyVsixExtension" // Not required.
}
Ukázka souboru MSI/EXE nebo LINK publishManifest:
{
"$schema": "http://json.schemastore.org/vsix-publish",
"categories": [ "build", "coding" ],
"identity": {
"description": "My extension.", // The description of the extension. Required for non-vsix extensions.
"displayName": "My Extension", // The display name of the extension. Required for non-vsix extensions.
"icon": "\\path\\to\\icon.ico", // The path to an icon file (can be relative to the json file location). Required for non-vsix extensions.
"installTargets": [ // The installation targets for the extension. Required for non-vsix extensions.
{
"sku": "Microsoft.VisualStudio.Community",
"version": "[10.0, 16.0)"
}
],
"internalName": "MyExtension",
"language": "en-US", // The default language id of the extension. Can be in the "1033" or "en-US" format. Required for non-vsix extensions.
"tags": [ "tag1", "tag2" ], // The tags for the extension. Not required.
"version": "3.7.0", // The version of the extension. Required for non-vsix extensions.
"vsixId": "MyExtension", // The vsix id of the extension. Not required but useful for showing updates to installed extensions.
},
"overview": "overview.md",
"priceCategory": "free",
"publisher": "MyPublisherName",
"private": false,
"qna": true,
"repo": "https://github.com/MyPublisherName/MyVsixExtension"
}
Soubory prostředků
Soubory assetů je možné poskytnout pro vkládání věcí, jako jsou obrázky v souboru readme. Pokud má například rozšíření následující dokument Markdownu s přehledem:
TestExtension
...
This is test extension.
![Test logo](images/testlogo.png "Test logo")
Aby bylo možné vyřešit obrázky/testlogo.png v předchozím příkladu, může uživatel v manifestu publikování zadat "assetFiles", jak je znázorněno níže:
{
"assetFiles": [
{
"pathOnDisk": "\\path\\to\\logo.png",
"targetPath": "images/logo.png"
}
],
// other required fields
}
Průvodce publikováním
Požadavky
Pokud chcete postupovat podle tohoto návodu, musíte nainstalovat sadu Visual Studio SDK. Další informace naleznete v tématu Instalace sady Visual Studio SDK.
Vytvoření rozšíření sady Visual Studio
V tomto případě použijeme výchozí rozšíření VSPackage, ale stejný postup platí pro každý druh rozšíření.
- Vytvořte balíček VSPackage v jazyce C# s názvem TestPublish, který má příkaz nabídky. Další informace najdete v tématu Vytvoření prvního rozšíření: Hello World.
Zabalení rozšíření
Aktualizujte rozšíření vsixmanifest správnými informacemi o názvu produktu, autorovi a verzi.
Sestavte rozšíření v režimu vydání . Teď bude vaše rozšíření zabalené jako VSIX ve složce \bin\Release.
Instalaci můžete ověřit poklikáním na VSIX.
Otestování rozšíření
Než rozšíření distribuujete, sestavíte ho a otestujete, abyste měli jistotu, že je správně nainstalované v experimentální instanci sady Visual Studio.
V sadě Visual Studio spusťte ladění. pro otevření experimentální instance sady Visual Studio.
V experimentální instanci přejděte do nabídky Nástroje a klikněte na Rozšíření a Aktualizace.... Rozšíření TestPublish by se mělo zobrazit v prostředním podokně a mělo by být povolené.
V nabídce Nástroje se ujistěte, že se zobrazí testovací příkaz.
Publikování rozšíření na Marketplace prostřednictvím příkazového řádku
Ujistěte se, že jste vytvořili verzi vašeho rozšíření a že je aktuální.
Ujistěte se, že jste vytvořili soubor publishmanifest.json a overview.md soubory.
Otevřete příkazový řádek a přejděte do adresáře ${VSInstallDir}\VSSDK\VisualStudioIntegration\Tools\Bin\.
Pokud chcete publikovat nové rozšíření, použijte následující příkaz:
VsixPublisher.exe publish -payload "{Path to vsix file}" -publishManifest "{path to publishManifest file}" -personalAccessToken "{Personal Access Token that is used to authenticate the publisher. If not provided, the pat is acquired from the logged-in users.}"
Po úspěšném publikování rozšíření se zobrazí následující zpráva příkazového řádku:
Uploaded 'MyVsixExtension' to the Marketplace.
Nové rozšíření, které jste publikovali, můžete ověřit tak, že přejdete na Visual Studio Marketplace.
Instalace rozšíření z Webu Visual Studio Marketplace
Teď, když je rozšíření publikované, nainstalujte ho do sady Visual Studio a otestujte ho tam.
V sadě Visual Studio v nabídce Nástroje klikněte na Rozšíření a Aktualizace....
Klikněte na Online a vyhledejte TestPublish.
Klikněte na Stáhnout. Rozšíření se pak naplánuje pro instalaci.
Instalaci dokončíte zavřete tak, že zavřete všechny instance sady Visual Studio.
Odebrání rozšíření
Rozšíření můžete odebrat z Webu Visual Studio Marketplace a z počítače.
Odebrání rozšíření z Marketplace přes příkazový řádek
Pokud chcete rozšíření odebrat, použijte následující příkaz:
VsixPublisher.exe deleteExtension -publisherName "TestVSIXPublisher" -extensionName "MyVsixExtension"
Po úspěšném odstranění rozšíření se zobrazí následující zpráva příkazového řádku:
Removed 'MyVsixExtension' from the Marketplace.
Odebrání rozšíření z počítače
V sadě Visual Studio v nabídce Nástroje klikněte na Rozšíření a Aktualizace.
Vyberte "MyVsixExtension" a potom klepněte na tlačítko Odinstalovat. Rozšíření se pak naplánuje k odinstalaci.
Odinstalaci dokončíte tak, že zavřete všechny instance sady Visual Studio.