You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode OSS无法检测自定义配色方案扩展问题排查

问题描述

使用yo生成全新配色方案扩展后,将生成的文件夹复制到~/.vscode-oss/extensions/目录下,重启VSCode后无法搜索到该扩展,但调试时扩展运行正常。

扩展文件夹内容如下:

$ pwd
/home/username/.vscode-oss/extensions/kalm
$ tree -a
.
├── CHANGELOG.md
├── .git
│	├── ...
│	...
├── .gitattributes
├── .gitignore
├── package.json
├── README.md
├── themes
│	└── Kalm-color-theme.json
├── vsc-extension-quickstart.md
├── .vscode
│	└── launch.json
└── .vscodeignore

13 directories, 27 files

同时在扩展根目录下发现.obsolete文件:

$ pwd
/home/username/.vscode-oss/extensions
$ cat .obsolete
{"undefined_publisher.kalm-0.0.1":true}
问题原因与解决方法
  • .obsolete文件的直接影响
    这个文件是导致扩展无法被检测的关键原因之一,它用于标记VSCode判定为过时或无效的扩展。其中的undefined_publisher.kalm-0.0.1条目,说明你的扩展因发布者字段未定义被标记为无效。

  • 核心问题:package.json缺失publisher字段
    调试模式下VSCode会跳过部分扩展合法性校验,但直接将扩展放入目录时,VSCode要求package.json必须包含publisher字段。你通过yo生成的扩展可能默认未填充该字段,导致VSCode无法识别其为合法扩展,进而被写入.obsolete标记。

  • 具体修复步骤

    1. 打开扩展文件夹中的package.json,添加publisher字段,示例如下:
      {
        "name": "kalm",
        "displayName": "Kalm Theme",
        "publisher": "your-custom-publisher-name", // 填写自定义发布者名称或你的用户名
        "version": "0.0.1",
        // 保留其他原有字段内容
      }
      
    2. 删除扩展根目录下的.obsolete文件,或者移除其中undefined_publisher.kalm-0.0.1对应的条目
    3. 修改扩展文件夹名称为VSCode要求的格式:[publisher].[name]-[version],比如改为your-custom-publisher-name.kalm-0.0.1
    4. 重启VSCode,即可正常搜索到该配色方案扩展

内容的提问来源于stack exchange,提问作者manungsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 17:17:16