vscode主题必须打包为扩展插件并通过vsce发布到marketplace才可被安装使用;单独放置json文件无效。核心是package.json中contributes.themes字段必须为数组,path需准确指向主题文件(如"themes/my-theme.json"),uitheme仅支持"vs-dark"、"vs"、"hc-black"三值,主题json只识别colors和tokencolors两个顶层字段。

VSCode 主题配色配置文件本身不能直接“发布”——它必须打包成扩展插件,通过 vsce 工具上传到 Visual Studio Code Marketplace 才能被他人安装使用。单独扔一个 my-theme.json 到 GitHub 是没用的,VSCode 根本不会识别。
package.json 的 contributes.themes 字段必须写对
这是主题能否出现在「颜色主题」列表里的生死线。VSCode 不报错、不提示、不警告,只安静地忽略你——只要字段名拼错、路径写错、uiTheme 值非法,主题就等于不存在。
-
contributes.themes必须是数组,哪怕只注册一个主题也要写成[{...}] -
path是相对于package.json的路径,比如主题文件在themes/dark-sage.json,就得写"path": "themes/dark-sage.json",漏掉.json后缀或写成./themes/...都会失败 -
uiTheme只能填"vs-dark"、"vs"或"hc-black"三者之一;填"dark"、"Dark+"或空字符串,主题在对应 UI 模式下完全不可见 -
label是用户在「Preferences: Color Theme」里看到的名字,别用空格或中文,否则某些系统可能解析异常
主题 JSON 文件只认 tokenColors 和 colors 两个顶层字段
你在 themes/my-theme.json 里写的其他字段,比如 author、description、settings,全被 VSCode 当作无效内容跳过。真正起作用的只有顶层的 colors(控制侧边栏、状态栏等 UI 色)和 tokenColors(控制代码高亮)。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
-
tokenColors是数组,每一项是{"scope": "comment", "settings": {"foreground": "#999"}}这种结构;scope 匹配顺序从上到下,靠前的规则优先级更高 - 别直接复制别人完整的
tokenColors数组——里面大量模糊 scope(如"identifier")可能覆盖你自己的设置,导致 JS/TS 中变量名全变黑 - 想快速验证是否生效?先只写 3 条:
"comment"、"string"、"keyword",其余全删,确保基础语法色出来再补全
本地测试时改了 JSON 却没变化?Reload Window 不够
VSCode 启动后只读一次 package.json 和关联的主题文件。改了 themes/*.json,按 Ctrl+Shift+P → Developer: Reload Window 就能看到效果;但如果你改的是 package.json 里的 contributes.themes 或路径,仅 reload 不行,必须手动禁用再启用你的扩展(在扩展面板里点齿轮图标)。
- 不要依赖自动保存触发刷新——VSCode 不监听文件系统变化
- 调试时打开开发者工具(
Ctrl+Shift+I),切到 Console 标签页,如果主题加载失败,这里通常也没输出;所以务必先确认contributes.themes结构无误 - 发布前用
vsce package生成.vsix文件,然后在 VSCode 里用Extensions: Install from VSIX安装测试,这比直接启用开发版更接近真实用户环境
vsce 登录和发布前必须检查 publisher 字段
vsce 要求你在 package.json 里声明 publisher,且该值必须与你在 Visual Studio Marketplace 管理页 注册的 publisher ID 完全一致(大小写敏感)。填错会导致 vsce publish 报 Unauthorized 错误。
- 运行
vsce login your-publisher-name时,终端会给出一个链接,必须用已登录 Microsoft 账户的浏览器打开并授权 - 第一次发布用
vsce publish;后续更新需先改version字段(语义化版本,如从"1.0.0"改成"1.0.1"),再执行vsce publish - 发布后主题不会立刻出现在搜索结果里,通常要等 5–15 分钟,且 Marketplace 缓存可能延迟显示最新描述或截图
最常被忽略的其实是 publisher 和 uiTheme 的大小写一致性,以及 path 中多打的一个点或少写的一个斜杠——它们都不会报错,只会让整个主题消失在列表里,连调试入口都没有。










