【问题标题】:Monorepo - Multiple .vscode settingsMonorepo - 多个 .vscode 设置
【发布时间】:2023-02-15 09:02:17
【问题描述】:

项目结构

我有以下项目结构:

/
| - .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合并

  2. 如您所见,两个配置中都有一些代码重复:

      "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扩展?

【问题讨论】:

    标签: javascript json visual-studio-code monorepo


    【解决方案1】:

    在撰写本文时,VS Code 设置文件无法引用其他设置文件来扩展/继承它们的设置,并且它们不会自动扩展/继承父文件夹中 .vscode/settings.json 文件的设置。

    请参阅 VS Code GitHub 存储库中非常受欢迎的功能请求问题单:Add ability to extend from other settings files #15909您可以通过对问题竖起大拇指来表示您对功能请求的支持。但是,求求您发表“我也是”的评论。 “我也是”cmets 通常会让回购维护者感到厌烦,因为它们使讨论变得混乱并且没有贡献任何重要价值。

    如您所知,应用于工作区的设置使用 worspace 文件夹的 .vscode/settings.json 文件并回退到用户的 settings.json 文件。但是在这之间还有一个中间层:如果你使用multi-root workspaces,中间层是多根工作空间的.code-workspace文件,你可以在其中放置适用于多根工作空间中所有工作空间根的设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 2019-10-24
      • 2021-12-24
      • 2021-11-02
      • 1970-01-01
      相关资源
      最近更新 更多