0

我正在使用 Angular 和 Vs Code 进行 FE 项目。我们有一个带有 extensions.json 和 setting.json 的 .vscode。

Git 正在检测此代码上的一些烦人的更改,如下所示:

它怎么样:

 return new MyClass.Option(
          {
            option
          }

他的提交更改

return new MyClass.Option(
      {
      option
      }

注意选项缩进的变化。我假设这与 VsCode 有关,因为我们都使用相同的操作系统(Windows,请不要判断,由公司强制执行)并且所有相关更改都应由 .vscode 上的文件应用。

我们正在使用 eslint 和 Prettier (svipas.prettier-plus)

有人这样看吗?关于如何修复它的任何建议?自项目开始以来,我们有超过 10 名开发人员参与该项目,这是第一次发生,现在只发生在他身上。

这是我们的设置示例,以防万一:

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "svipas.prettier-plus",
  "editor.tabSize": 2,
  "editor.insertSpaces": true,
  "editor.detectIndentation": false,
  "[typescript]": {
    "editor.codeActionsOnSave": {
      "source.organizeImports": true
    },
    "editor.defaultFormatter": "svipas.prettier-plus"
  },
  "prettier.singleQuote": true,
  "prettier.trailingComma": "none",
  // Exclude third party modules and build artifacts from the editor watchers/searches.
  "files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/**": true,
    "**/bazel-out/**": true,
    "**/dist/**": true,
    "**/aio/src/generated/**": true
  },
  "search.exclude": {
    "**/node_modules": true,
    "**/bower_components": true,
    "**/bazel-out": true,
    "**/dist": true,
    "**/aio/src/generated": true
  },
  "git.ignoreLimitWarning": true,
  "[html]": {
    "editor.defaultFormatter": "svipas.prettier-plus"
  },
  "[scss]": {
    "editor.defaultFormatter": "svipas.prettier-plus"
  },
  "[json]": {
    "editor.defaultFormatter": "svipas.prettier-plus"
  }
}

更新:

发现问题。小背景,我们一周前从 tslint 更新到 eslint。现在,该文件上有以下代码:

.pipe(map(streamer), mergeAll())
      .subscribe((response) => {
        const assetId = response?.[0]?.assetId;

        const hasAlerts = !!assetId;

虽然它在 TS 上运行没有任何问题,但输出更漂亮:

Expression expected. (542:34)
  540 |       .pipe(map(streamer), mergeAll())
  541 |       .subscribe((response) => {
> 542 |         const assetId = response?.[0]?.assetId;
      |                                  ^

如果我将代码更改为 `response[0].assetId,则更漂亮的作品和我上面提到的所有格式问题都有效,用户配置或工作区配置没有问题。

问题是,我不想因为更漂亮而停止使用 Angular 9 中的该功能。我一直在寻找解决方案,但到目前为止还没有找到?

4

1 回答 1

0

请注意,并非所有设置都可以被项目 settings.json 覆盖。例如,用户settings.json 中的 editor.tabsize = 4 不会被项目的setting.json 中的 editor.tabsize = 2 打败。

也许您的同事有一些用户设置不能被团队在项目中使用的设置覆盖。

于 2021-02-01T17:28:35.690 回答