在vscode中添加特定于语言的图标

bio*_*bob 7 visual-studio-code vscode-extensions

我已经创建了一个语言扩展(语法高亮等),现在想要将特定图标与语言(或扩展名中指定的扩展名的文件)相关联.

我注意到"icon"package.json文件中有一个属性,并尝试将此属性绑定到我的.svg文件.但是虽然语法突出显示在测试文件上运行得很好,但我没有看到与此文件关联的自定义图标.

我在哪里添加对我的.svg文件的引用?我是否必须以某种方式将我的.svg文件贡献给Seti文件图标主题?

Mar*_*ark 7

在 vscode v1.64 中:

语言默认图标

语言贡献者可以为该语言定义一个图标。

"contributes": {  
     "languages": [
       {
         "id": "latex",
         // ...
         "icon": {
           "light": "./icons/latex-light.png",
           "dark": "./icons/latex-dark.png"
         }
       }
   ] 
}
Run Code Online (Sandbox Code Playgroud)

如果当前文件图标主题仅具有该语言的通用文件图标,则会显示该图标。

文件图标主题(例如“最小”或“无”)不显示文件图标也不会使用语言图标。此外,如果文件图标主题具有扩展名或文件名的图标,则这些将是首选。

showLanguageModeIcons: true|false文件图标主题可以通过在主题文件中定义来自定义新的行为 。

showLanguageModeIcons: true即使主题未指定文件图标,也会显示默认语言图标,
showLanguageModeIcons: false从而防止使用默认语言图标。


her*_*off 2

文件和文件夹图标在图标集中定义,默认集是 Seti。目前确实没有办法在扩展中重新定义这些图标,除非创建自己的图标主题。Seti UI 图标是根据主存储库依赖项生成的,并作为内置扩展提供。

因此,将语法图标包含在 VScode 中的最佳选择是向 Seti UI 存储库提交拉取请求。在某些时候,VScode 开发人员会将新图标滚动到图标字体中,并且您的图标应该会出现。