gpt4 book ai didi

visual-studio - 如何将自定义图标添加到 Visual Studio 中的解决方案资源管理器

转载 作者:行者123 更新时间:2023-12-03 19:12:21 28 4
gpt4 key购买 nike

我正在尝试将自定义图标添加到 Visual Studio 中的解决方案资源管理器,与 FileIcons extension 相同做。

我想我已经为 Visual Studio 将新图标与以 .d 结尾的文件关联起来做了所有正确的事情。和 .di扩展,但 Visual Studio 仍然没有在解决方案资源管理器中显示任何图标。

这是使用 ManifestFromResources.exe 生成的 list :

<?xml version="1.0" encoding="utf-8"?>
<!-- This file was generated by the ManifestFromResources tool.-->
<!-- Version: 14.0.50929.2 -->
<ImageManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/ImageManifestSchema/2014">
<Symbols>
<String Name="Resources" Value="/VisualDLS;Component/Icons" />
<Guid Name="AssetsGuid" Value="{872b4702-eabf-444b-b6b3-96dc64531f74}" />
<ID Name="d" Value="0" />
</Symbols>
<Images>
<Image Guid="$(AssetsGuid)" ID="$(d)">
<Source Uri="$(Resources)/d.png">
<Size Value="32" />
</Source>
</Image>
</Images>
<ImageLists />
</ImageManifest>

这是 pkgdef 文件:
[$RootKey$\ShellFileAssociations\.d]
"DefaultIconMoniker"="872b4702-eabf-444b-b6b3-96dc64531f74:0"
[$RootKey$\ShellFileAssociations\.di]
"DefaultIconMoniker"="872b4702-eabf-444b-b6b3-96dc64531f74:0"

在我的扩展的 vsixmanifest 中,pkgdef 文件被定义为具有以下属性的 Assets :
  • 类型:Microsoft.VisualStudio.VsPackage
  • 来源:File on filesystem
  • 路径:icons.pkgdef (很明显,这就是我如何命名我的 pkgdef 文件)

  • 关于文件属性,图标图像文件被设置为资源,而图像 list 和 pkgdef 文件都被设置为要包含在 VSIX 中的内容。

    如果我尝试在我的图像 list 中使用 knownMoniker,Visual Studio 会正确选择它并正确显示图标;如果我事先安装它,我什至可以从 FileIcons 扩展中引用图标名称。但是一旦我尝试使用我自己的 list 和图标,就没有任何显示。
    我可能在这里做错了什么,但我似乎无法看到究竟是什么。

    最佳答案

    对于将来可能随机偶然发现同一问题的任何人,我发现了我的问题所在。在我最初的测试中,我一定是做错了什么,导致 Visual Studio 在资源管理器中 .d 旁边没有显示任何图标。文件。
    之后,它可能会因为某个地方的图标缓存而继续这样做,即使在纠正我做错的任何事情之后也是如此。使用另一个扩展名重命名文件,然后将其重命名回其原始名称后,新图标开始出现。

    关于visual-studio - 如何将自定义图标添加到 Visual Studio 中的解决方案资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50896478/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com