在 Visual Studio 扩展程序中使用 built-in 图标
Using built-in icons in Visual Studio extension
我需要执行什么步骤才能在我的扩展程序工具栏中使用 Visual Studio 的某些 built-in 图标(例如打开、保存、运行、中断图标)?
我试过在我的 VSCT 文件中使用 stdidcmd.h
中的 cmdidSave
等常量,如下所示:
<Button guid="guidBBTWindowPackageCmdSet" id="cmdidMyButton1" priority="0x0101" type="Button">
<Parent guid="guidBBTWindowPackageCmdSet" id="ToolbarGroupID"/>
<Icon guid="CMDSETID_StandardCommandSet14" id="cmdidSave" />
<Strings>
<CommandName>cmdidMyCommand1</CommandName>
<ButtonText>Load File</ButtonText>
</Strings>
</Button>
但是没有显示图标。相反,它开始以文本样式显示按钮(文本标题而不是图像)。
另一方面,如果我使用 "image strip method"(就像在默认扩展模板中所做的那样),它工作正常,但这不是我想要做的。
好的。所以在这里以防万一有人在挣扎:
在您的 VSCT 文件的顶部,包括此引用:
<Include href="KnownImageIds.vsct"/>
Visual Studio(从 VS2015 社区更新 3 开始)知道这个文件在哪里。
现在使用 ImageCatalogGuid
作为 <Icon>
节点的 GUID。 Visual Studio Intellisense 会列出所有可用的图标供你选择(你没想到吧!)。
<Button guid="guidCommand1PackageCmdSet" id="Command1Id" priority="0x0100" type="Button">
<Parent guid="guidCommand1PackageCmdSet" id="MyMenuGroup" />
<Icon guid="ImageCatalogGuid" id="CacheRefresh" />
<CommandFlag>IconIsMoniker</CommandFlag>
<Strings>
<ButtonText>Invoke Command1</ButtonText>
</Strings>
</Button>
注意额外的行 <CommandFlag>IconIsMoniker</CommandFlag>
。这必须紧跟在 <Icon>
行之后。
我需要执行什么步骤才能在我的扩展程序工具栏中使用 Visual Studio 的某些 built-in 图标(例如打开、保存、运行、中断图标)?
我试过在我的 VSCT 文件中使用 stdidcmd.h
中的 cmdidSave
等常量,如下所示:
<Button guid="guidBBTWindowPackageCmdSet" id="cmdidMyButton1" priority="0x0101" type="Button">
<Parent guid="guidBBTWindowPackageCmdSet" id="ToolbarGroupID"/>
<Icon guid="CMDSETID_StandardCommandSet14" id="cmdidSave" />
<Strings>
<CommandName>cmdidMyCommand1</CommandName>
<ButtonText>Load File</ButtonText>
</Strings>
</Button>
但是没有显示图标。相反,它开始以文本样式显示按钮(文本标题而不是图像)。
另一方面,如果我使用 "image strip method"(就像在默认扩展模板中所做的那样),它工作正常,但这不是我想要做的。
好的。所以在这里以防万一有人在挣扎:
在您的 VSCT 文件的顶部,包括此引用:
<Include href="KnownImageIds.vsct"/>
Visual Studio(从 VS2015 社区更新 3 开始)知道这个文件在哪里。
现在使用 ImageCatalogGuid
作为 <Icon>
节点的 GUID。 Visual Studio Intellisense 会列出所有可用的图标供你选择(你没想到吧!)。
<Button guid="guidCommand1PackageCmdSet" id="Command1Id" priority="0x0100" type="Button">
<Parent guid="guidCommand1PackageCmdSet" id="MyMenuGroup" />
<Icon guid="ImageCatalogGuid" id="CacheRefresh" />
<CommandFlag>IconIsMoniker</CommandFlag>
<Strings>
<ButtonText>Invoke Command1</ButtonText>
</Strings>
</Button>
注意额外的行 <CommandFlag>IconIsMoniker</CommandFlag>
。这必须紧跟在 <Icon>
行之后。