s-blog

VSCode product.json 配置项笔记

ssssmy · 2026-06-05 · 2 min · VsCode插件开发

VSCode product.json 配置项笔记

VSCode 安装目录下的 product.json 控制一系列内置能力。以下记录两个常改字段。

extensionEnabledApiProposals —— 开启内置扩展的 proposed API

VSCode 的「提案 API(proposed API)」默认只对白名单内的内置扩展开放。product.jsonextensionEnabledApiProposals 字段以「扩展 id → 提案名数组」声明谁能用哪些提案 API:

{
  "extensionEnabledApiProposals": {
    "ms-python.python": [
      "contribEditorContentMenu",
      "quickPickSortByLabel",
      "testObserver",
      "envShellEvent",
      "terminalDataWriteEvent",
      "saveEditor"
    ],
    "GitHub.copilot": [
      "inlineCompletionsAdditions"
    ],
    "ms-vscode-remote.remote-ssh": [
      "resolvers",
      "tunnels",
      "terminalDataWriteEvent",
      "contribRemoteHelp",
      "contribViewsRemote",
      "telemetry"
    ]
    // ...其余内置扩展同理
  }
}

做 fork 版二次开发、想让自己的扩展用上某个 proposed API 时,把扩展 id 加进这里即可(无需再走 --enable-proposed-api 命令行参数)。

extensionsGallery —— 替换扩展市场地址

extensionsGallery 决定扩展市场(搜索 / 下载)走哪个服务端。官方 VSCode 指向微软 Marketplace;开源版(如 VSCodium)或自建私服需要改这里:

{
  "extensionsGallery": {
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "itemUrl": "https://marketplace.visualstudio.com/items",
    "resourceUrlTemplate": "https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",
    "controlUrl": "https://az764295.vo.msecnd.net/extensions/marketplace.json"
  }
}

注:微软 Marketplace 的服务条款仅允许官方 VSCode 使用,fork / 开源版应换成 open-vsx 等合规市场地址。

原文链接:https://www.ssssmy.com/notes/vscode-productjson-pei-zhi-xiang-bi-ji