Sdílet prostřednictvím


Manifest do kódu

Nástroj Manifest to Code je konzolová aplikace, která přebírá soubor .imagemanifest pro službu Visual Studio Image Service a generuje soubor obálky nebo soubory pro odkazování na hodnoty manifestu obrázku v souborech C++, C#, VB nebo .vsct pro rozšíření sady Visual Studio. Tento nástroj generuje obálkové soubory, které lze použít k vyžádání obrázků ze služby Visual Studio Image Service přímo nebo pro předávání hodnot manifestu prostřednictvím rozhraní API, pokud kód nezpracuje žádné vlastní uživatelské rozhraní a vykreslování.

Jak nástroj používat

Syntaxe

ManifestToCode /manifest:<Image Manifest file> /language:<Code Language><Optional Args>

Argumenty

Název přepínače Poznámky Povinné nebo volitelné
/Manifestu Cesta k manifestu image, která se má použít k vytvoření nebo aktualizaci obálky kódu. Požaduje se
/Jazyk Jazyk, ve kterém se má vygenerovat obálka kódu.

Platné hodnoty: CPP, C++, CS, CSharp, C#, VB nebo VSCT Tyto hodnoty nerozlišují malá a velká písmena.

U možnosti jazyka VSCT se možnosti /monikerClass, /classAccess a /namespace ignorují.
Požaduje se
/imageIdClass Název imageIdClass a přidruženého souboru vytvořeného nástrojem. Pro možnost jazyka C++ se vygenerují pouze soubory .h.

Výchozí: <Cesta> manifestu\MyImageIds.<Lang Ext>
Volitelné
/monikerClass Název monikerClass a přidruženého souboru vytvořeného nástrojem. Pro možnost jazyka C++ se vygenerují pouze soubory .h. To je ignorováno pro jazyk VSCT.

Výchozí hodnota: <Cesta> manifestu\MyMonikers.<Lang Ext>
Volitelné
/classAccess Modifikátor přístupu pro imageIdClass a monikerClass. Ujistěte se, že je modifikátor přístupu platný pro daný jazyk. Tato možnost se ignoruje pro jazyk VSCT.

Výchozí: Veřejné
Volitelné
/Obor názvů Obor názvů definovaný v obálke kódu. Tato možnost se ignoruje pro jazyk VSCT. Buď '.' nebo ':', jsou platné oddělovače oborů názvů bez ohledu na zvolenou jazykovou možnost.

Výchozí: MyImages
Volitelné
/noLogo Nastavení tohoto příznaku zastaví tisk informací o produktu a autorských právech. Volitelné
/? Vytiskněte informace nápovědy. Volitelné
/help Vytiskněte informace nápovědy. Volitelné

Příklady

  • ManifestToCode /manifest:D:\MyManifest.imagemanifest /language:CSharp

  • ManifestToCode /manifest:D:\MyManifest.imagemanifest /language:C++ /namespace:My::Namespace /imageIdClass:MyImageIds /monikerClass:MyMonikers /classAccess:friend

  • ManifestToCode /manifest:D:\MyManifest.imagemanifest /language:VSCT /imageIdClass:MyImageIds

Notes

  • Tento nástroj doporučujeme použít s manifesty obrázků, které byly generovány manifestem z nástroje Prostředky.

  • Nástroj se podívá jenom na položky symbolů a vygeneruje obálky kódu. Pokud manifest obrázku neobsahuje žádné symboly, vygenerované obálky kódu budou prázdné. Pokud je v manifestu obrázku obrázek nebo sada obrázků, které nepoužívají symboly, budou vyloučeny z obálky kódu.

Ukázkový výstup

Obálky jazyka C#

Pár jednoduchých ID obrázku a tříd monikeru obrázků pro jazyk C# bude podobný následujícímu kódu:

//-----------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the ManifestToCode tool.
//     Tool Version: 14.0.15198
// </auto-generated>
//-----------------------------------------------------------------------------

using System;

namespace MyImages
{
    public static class MyImageIds
    {
        public static readonly Guid AssetsGuid = new Guid("{442d8739-efde-46a4-8f29-e3a1e5e7f8b4}");

        public const int MyImage1 = 0;
        public const int MyImage2 = 1;
    }
}
//-----------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the ManifestToCode tool.
//     Tool Version: 14.0.15198
// </auto-generated>
//-----------------------------------------------------------------------------

using Microsoft.VisualStudio.Imaging.Interop;

namespace MyImages
{
    public static class MyMonikers
    {
        public static ImageMoniker MyImage1 { get { return new ImageMoniker { Guid = MyImageIds.AssetsGuid, Id = MyImageIds.MyImage1 }; } }
        public static ImageMoniker MyImage2 { get { return new ImageMoniker { Guid = MyImageIds.AssetsGuid, Id = MyImageIds.MyImage2 }; } }
    }
}

Obálky jazyka C++

Dvojice jednoduchých ID image a tříd moniker image pro jazyk C++ bude podobná následujícímu kódu:

//-----------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the ManifestToCode tool.
//     Tool Version: 14.0.15198
// </auto-generated>
//-----------------------------------------------------------------------------

#pragma once

#include <guiddef.h>

namespace MyImages {

class MyImageIds {
public:

    static const GUID AssetsGuid;

    static const int MyImage1 = 0;
    static const int MyImage2 = 1;

};

__declspec(selectany) const GUID MyImageIds::AssetsGuid = {0x442d8739,0xefde,0x46a4,{0x8f,0x29,0xe3,0xa1,0xe5,0xe7,0xf8,0xb4}};

}
//-----------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the ManifestToCode tool.
//     Tool Version: 14.0.15198
// </auto-generated>
//-----------------------------------------------------------------------------

#pragma once

#include "ImageParameters140.h"
#include "MyImageIds.h"

namespace MyImages {

class MyMonikers {
public:

    static const ImageMoniker MyImage1;
    static const ImageMoniker MyImage2;

};

__declspec(selectany) const ImageMoniker MyMonikers::MyImage1 = { MyImageIds::AssetsGuid, MyImageIds::MyImage1 };
__declspec(selectany) const ImageMoniker MyMonikers::MyImage2 = { MyImageIds::AssetsGuid, MyImageIds::MyImage2 };

}

Obálky jazyka Visual Basic

Dvojice jednoduchých ID obrázku a tříd monikeru obrázků pro Visual Basic bude podobná následujícímu kódu:

' -----------------------------------------------------------------------------
'  <auto-generated>
'      This code was generated by the ManifestToCode tool.
'      Tool Version: 14.0.15198
'  </auto-generated>
' -----------------------------------------------------------------------------

Imports System

Namespace MyImages

    Public Module MyImageIds

        Public Shared ReadOnly AssetsGuid As Guid = New Guid("{442d8739-efde-46a4-8f29-e3a1e5e7f8b4}")

        Public Const MyImage1 As Integer = 0
        Public Const MyImage2 As Integer = 1

    End Module

End Namespace
' -----------------------------------------------------------------------------
'  <auto-generated>
'      This code was generated by the ManifestToCode tool.
'      Tool Version: 14.0.15198
'  </auto-generated>
' -----------------------------------------------------------------------------

Imports Microsoft.VisualStudio.Imaging.Interop

Namespace MyImages

    Public Module MyMonikers

        Public Readonly Property MyImage1
            Get
                Return New ImageMoniker With {.Guid = MyImageIds.AssetsGuid, .Id = MyImageIds.MyImage1}
            End Get
        End Property

        Public Readonly Property MyImage2
            Get
                Return New ImageMoniker With {.Guid = MyImageIds.AssetsGuid, .Id = MyImageIds.MyImage2}
            End Get
        End Property

    End Module

End Namespace

Obálka VSCT

Sada ID obrázků pro soubor .vsct bude podobná této:

<?xml version='1.0' encoding='utf-8'?>
<!--
- [auto-generated]
     This code was generated by the ManifestToCode tool.
     Tool Version: 14.0.15198
- [/auto-generated]
-->
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable">
  <Symbols>
    <GuidSymbol name="AssetsGuid" value="{442d8739-efde-46a4-8f29-e3a1e5e7f8b4}">
      <IDSymbol name="MyImage1" value="0" />
      <IDSymbol name="MyImage2" value="1" />
    </GuidSymbol>
  </Symbols>
</CommandTable>