【问题标题】:how can i add a new icon to a Visual Studio 2010 extension?如何向 Visual Studio 2010 扩展添加新图标?
【发布时间】:2012-02-23 22:37:22
【问题描述】:

我正在开发一个 Visual Studio 2010 扩展,我的窗口中已经有一个工具栏。在那个工具栏上我有一个按钮,我想给一个图标 - 我自己的图标! 我读过this article,它很棒,但是……它解释了如何替换图标。

我想添加一个额外的图标。

我如何做到这一点?

【问题讨论】:

  • 取决于您如何进行扩展。您的项目中是否有包含按钮定义的 .vsct 文件?
  • 是的,我有!我想我已经找到了答案,但想听听你的答案,这样我就可以学习并看看我是否做得对。

标签: visual-studio-2010 vsx vsix


【解决方案1】:

解决方法是创建一个 PNG 并将扩展名重命名为 *.bmp。 VS 将接受它作为图标图像,并且它还将具有透明度(来自 Visual Studio 扩展性>Toolbox Icons -- Is transparency supported?

【讨论】:

  • 非常感谢您发布这个技巧 Dmitry。这将使我的生活变得更加轻松! :-)
【解决方案2】:

首先,添加位图并将其构建操作设置为 Resource

记住,令人震惊的粉红色 = 透明(该死,老派!)

然后,在您的 vsct 文件中,将图像添加到位图部分

<Bitmaps>
    <Bitmap guid="AddSampleData.bmpGuid"
            href="..\Button Bitmaps\AddSampleData.bmp"
            usedList="AddSampleData.bmpId" />
    <Bitmap guid="ApplySampleData.bmpGuid"
            href="..\Button Bitmaps\ApplySampleData.bmp"
            usedList="ApplySampleData.bmpId" />
</Bitmaps>

并在符号节点中为其分配一个 guid

<Symbols>
    <!-- snip -->
    <GuidSymbol name="AddSampleData.bmpGuid"
                value="{dcae7c84-8e91-4f8a-907b-95ccb0f52e6e}">
        <IDSymbol name="AddSampleData.bmpId"
                    value="1" />
    </GuidSymbol>
    <GuidSymbol name="ApplySampleData.bmpGuid"
                value="{9f555245-2430-4e6f-992b-b49ce87a31a2}">
        <IDSymbol name="ApplySampleData.bmpId"
                    value="1" />
    </GuidSymbol>
</Symbols>

并将其应用于按钮

<Buttons>
<!-- snip -->
    <Button guid="guidEditorExtensionCommandSet"
            id="setDesignTimeDataOnPage"
            priority="0x0100">
        <Icon guid="ApplySampleData.bmpGuid"
                id="ApplySampleData.bmpId" />
        <Strings>
                    <!-- snip -->
        </Strings>
    </Button>
</Buttons>

当然,它总是更容易使用可用的工具,包括优秀的VSPackage Builder extension.

【讨论】:

  • 太棒了,tnx,这正是我所做的!但是......使用 .png 而不是 .bmp - 在透明度方面它让生活更轻松。唯一的区别是 Bitmap 标签内不需要 usedList。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-11
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多