扩展的配置在.vscode/settings.json中使用非唯一键名

anhgbhbe  于 22天前  发布在  Vscode
关注(0)|答案(2)|浏览(15)

类型:Bug

你好,

看起来VsCode中存在一个问题,它允许通过.vscode/settings.json文件配置扩展,使得每个扩展的键名没有用唯一的扩展ID前缀,而是允许由扩展开发者任意选择。

例如,如果你想通过.vscode/settings.json配置以下两个扩展(vscode-stylelint和vscode-stylelint-plus)中的一个启用,并禁用另一个(例如,强制所有开发人员使用第一个而不是第二个扩展),你会发现这很困难,因为它们在settings.json文件中具有完全相同的一组键名,可能是因为第二个是第一个的分支。

它们各自的仓库页面都包含settings.json文件中的相同键名:
1 https://github.com/stylelint/vscode-stylelint
2 https://github.com/hex-ci/vscode-stylelint-plus
是否有办法配置.vscode/settings.json,以便我们可以启用扩展1并禁用扩展2(在这种情况下,键名为“stylelint.enable”)?

祝好!
VS Code版本:Code 1.90.2 ( 5437499 , 2024-06-18T22:34:26.404Z)
操作系统版本:Windows_NT x64 10.0.17763

hmae6n7t

hmae6n7t1#

例如,如果你想通过.vscode/settings.json配置以下两个扩展之一(vscode-stylelint和vscode-stylelint-plus)启用,并希望禁用另一个(例如,强制所有开发人员使用第一个而不是第二个扩展),你会发现这很困难,因为它们在settings.json文件中具有完全相同的一组键名,可能是因为第二个是第一个的分支。

你能请解释一下.vscode/settings.json是如何做到这一点的吗?

iq0todco

iq0todco2#

你能解释一下在.vscode/settings.json中是如何做到这一点的吗?
嗯,由于这个bug,我实际上无法做到这一点。因为关键名称是相同的。
例如,我的.vscode/settings.json看起来类似于这样:

{
    "npm.packageManager": "yarn",
    "files.trimFinalNewlines": true,
...
    "html.validate.styles": false,
    "stylelint.enable": true,
    "editor.detectIndentation": false,
...
    "javascript.preferences.quoteStyle": "single",
    "typescript.preferences.quoteStyle": "single",
    "typescript.format.semicolons": "insert",
    "scss.lint.zeroUnits": "error"
}

请注意**"stylelint.enable": true**部分。这两个扩展中哪一个启用了它?

相关问题