Sdílet prostřednictvím


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í.

  1. 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í

  1. Aktualizujte rozšíření vsixmanifest správnými informacemi o názvu produktu, autorovi a verzi.

    update extension vsixmanifest

  2. Sestavte rozšíření v režimu vydání . Teď bude vaše rozšíření zabalené jako VSIX ve složce \bin\Release.

  3. 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.

  1. V sadě Visual Studio spusťte ladění. pro otevření experimentální instance sady Visual Studio.

  2. 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é.

  3. 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

  1. Ujistěte se, že jste vytvořili verzi vašeho rozšíření a že je aktuální.

  2. Ujistěte se, že jste vytvořili soubor publishmanifest.json a overview.md soubory.

  3. Otevřete příkazový řádek a přejděte do adresáře ${VSInstallDir}\VSSDK\VisualStudioIntegration\Tools\Bin\.

  4. 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.}"
    
  5. Po úspěšném publikování rozšíření se zobrazí následující zpráva příkazového řádku:

    Uploaded 'MyVsixExtension' to the Marketplace.
    
  6. 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.

  1. V sadě Visual Studio v nabídce Nástroje klikněte na Rozšíření a Aktualizace....

  2. Klikněte na Online a vyhledejte TestPublish.

  3. Klikněte na Stáhnout. Rozšíření se pak naplánuje pro instalaci.

  4. 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

  1. Pokud chcete rozšíření odebrat, použijte následující příkaz:

    VsixPublisher.exe deleteExtension -publisherName "TestVSIXPublisher" -extensionName "MyVsixExtension"
    
  2. 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

  1. V sadě Visual Studio v nabídce Nástroje klikněte na Rozšíření a Aktualizace.

  2. Vyberte "MyVsixExtension" a potom klepněte na tlačítko Odinstalovat. Rozšíření se pak naplánuje k odinstalaci.

  3. Odinstalaci dokončíte tak, že zavřete všechny instance sady Visual Studio.