VSCode product.json 配置项笔记
VSCode product.json 配置项笔记
VSCode 安装目录下的 product.json 控制一系列内置能力。以下记录两个常改字段。
extensionEnabledApiProposals —— 开启内置扩展的 proposed API
VSCode 的「提案 API(proposed API)」默认只对白名单内的内置扩展开放。product.json 的 extensionEnabledApiProposals 字段以「扩展 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