在Visual Studio扩展中使用内置图标

时间:2016-12-23 06:44:58

标签: visual-studio-2015 visual-studio-extensions vs-extensibility vsct

在扩展程序工具栏中使用Visual Studio的某些内置图标(例如,打开,保存,运行,中断图标)需要遵循哪一步?

我尝试在我的VSCT文件中使用来自cmdidSave的{​​{1}}等常量,如下所示:

stdidcmd.h

但它没有显示图标。相反,它开始以文本样式显示按钮(文本标题而不是图像)。

另一方面,如果我使用“图像条方法”(在默认扩展模板中完成),它可以正常工作,但这不是我想要做的。

1 个答案:

答案 0 :(得分:4)

行。所以在这里,万一有人在挣扎:

在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>行后立即包含此内容。