json Monorepo -多个.vscode设置

nc1teljy  于 2023-02-20  发布在  Vscode
关注(0)|答案(2)|浏览(182)

项目结构

我的项目结构如下:

/
| - .vscode/
| - - - - settings.json
|
| - packages/
| - - - - app/
| - - - - - - index.js
| - - - - - - package.json
| - - - - website/
| - - - - - - .vscode/
| - - - - - - - - settings.json
| - - - - - - index.html
| - - - - - - styles.scss
| - - - - - - package.json
|
| - package.json
|

如您所见,我有两个vs-code设置文件:一个在根目录,另一个在网站工作区内部。

根与代码设置

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
  },
  "editor.formatOnSave": false,
  "editor.tabSize": 2,
  "editor.rulers": [
    80,
    120
  ],
  "eslint.codeAction.showDocumentation": {
    "enable": true
  },
  "eslint.validate": [
    "javascript"
  ],
  "eslint.workingDirectories": [
    {
      "mode": "auto"
    }
  ],
  "javascript.updateImportsOnFileMove.enabled": "always",
}

网站工作区与代码设置

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.fixAll.stylelint": true
  },
  "css.validate": false,
  "less.validate": false,
  "scss.validate": false,
  "stylelint.configFile": ".stylelintrc",
  "stylelint.snippet": [
    "css",
    "scss"
  ],
  "stylelint.validate": [
    "css",
    "scss"
  ],
  "stylelint.packageManager": "yarn"
}

问题

我知道/.vscode/settings.json和我的vs-code默认设置合并了。

  1. /packages/website/.vscode/settings.json是否与/.vscode/settings.json合并
    1.正如您所看到的,两种配置中都存在一些代码重复:
"editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
  },

以及

"editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.fixAll.stylelint": true
  },

如果我从/packages/website/.vscode/settings.json中删除"source.fixAll.eslint": true,editor.codeActionsOnSave.source.fixAll.eslint是否会从/.vscode/settings.json扩展?

idv4meu8

idv4meu81#

在编写本文时,VS代码设置文件无法引用其他设置文件来扩展/继承这些文件的设置,并且不会自动扩展/继承父文件夹中.vscode/settings.json文件的设置。
查看VS Code GitHub repo上非常流行的功能请求问题单:Add ability to extend from other settings files #15909。您可以通过对问题竖起大拇指来表示您对特性请求的支持。但是请 * 不要 * 发表"我也是"评论。"我也是"评论通常会让repo维护者感到厌烦,因为它们会扰乱讨论,而且不会提供任何有意义的内容。
正如您所知,应用于工作空间的设置使用工作空间文件夹的.vscode/settings.json文件,并回退到用户的settings.json文件。如果使用multi-root workspaces,则中间层是多根工作区的.code-workspace文件,您可以在其中放置应用于多根工作区中所有工作区根的设置。
奖金信息:

bbmckpt7

bbmckpt72#

只有3种方式可以配置VSCode。按优先顺序排列(第一种方式优先级最高):
1.)项目x1月1x
2.)项目工作区,例如.vscode/team.code-workspace
3.)VSCode用户settings.json
正如你所看到的,我们也在项目的.vsode文件夹中存储了team.code-workspace。我们在提交文件.vscode/project.code-workspace中共享团队设置,如果开发人员需要一些项目特定的设置,他可以使用gitignored .vscode/settings.json,它具有优先级。
因此,如果您想在项目中使用具有另一个值的某个选项,然后在用户settings.json中使用默认值,则必须在项目 *.code-workspace中覆盖它。如果您想在项目中使用具有另一个值的某个选项,然后在项目 *.code-workspace中使用默认值,则必须在项目settings.json中覆盖它

相关问题