当前位置: 首页 > 知识库问答 >
问题:

Eslint在大括号之间增加了不必要的空间,漂亮显示错误

尉迟韬
2023-03-14

我使用漂亮和eslint与打字稿。

当我编写一些代码并且由于某些原因不得不留下一个空函数时,Eslint 和 Prettier 在空函数的大括号之间添加和删除空格时会遇到困难。

当Eslint添加空格时,Prettier正在删除空格。

预期情况:

  constructor(
    @inject('UsersRepository')
    private usersRepository: IUsersRepository,
  ) {}

const example = ({ variable }) => {
    console.log(variable)
};

保存后我得到的(保存时Eslint修复):

  constructor(
    @inject('UsersRepository')
    private usersRepository: IUsersRepository,
  ) { }

const example = ({ variable }) => {
    console.log(variable)
};

Se构造函数大括号之间的空间?这给了我一个<code>删除`·‘eslint(更漂亮/更漂亮)

当我保存文件时,或者Prettier删除空间…然后Eslint再次添加它。

我如何解决这个问题?

编辑:我想保留析构赋值空间(例如< code>({ variable })),但不在空括号中(例如< code>{})

下面,我的< code>.eslintrc.json和< code > prettle . config . js

{
  "env": {
    "es6": true,
    "node": true,
    "jest": true
  },
  "extends": [
    "airbnb-base",
    "plugin:@typescript-eslint/recommended",
    "prettier/@typescript-eslint",
    "plugin:prettier/recommended"
  ],
  "globals": {
    "Atomics": "readonly",
    "SharedArrayBuffer": "readonly"
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 2018,
    "sourceType": "module"
  },
  "plugins": [
    "@typescript-eslint",
    "prettier"
  ],
  "rules": {
    "prettier/prettier": "error",
    "class-methods-use-this": "off",
    "@typescript-eslint/camelcase": "off",
    "no-useless-constructor": "off",
    "object-curly-spacing": [
      "error",
      "always"
    ],
    "@typescript-eslint/no-unused-vars": [
      "error",
      {
        "argsIgnorePattern": "_"
      }
    ],
    "@typescript-eslint/interface-name-prefix": [
      "error",
      {
        "prefixWithI": "always"
      }
    ],
    "import/extensions": [
      "error",
      "ignorePackages",
      {
        "ts": "never"
      }
    ]
  },
  "settings": {
    "import/resolver": {
      "typescript": {}
    }
  }
}

module.exports = {
  singleQuote: true,
  trailingComma: 'all',
  arrowParens: 'avoid',
};

共有3个答案

洪永长
2023-03-14

我遇到了完全相同的问题,漂亮突然停止工作。保存时的自动格式化(与代码设置)为大括号添加空格,并且 linters 会在同一个大括号上引发错误。花很多时间调试它,并执行以下步骤来解决我的问题

1:重新安装vs code beauty扩展。

转到vscode =

2: 我的vscode设置。json和更漂亮。js看起来有点像这样

vscode设置. json

{
   "editor.codeActionsOnSave": {
   "source.organizeImports": true,
   "source.fixAll.eslint": true,
   "source.fixAll.tslint": true,
   "source.fixAll.stylelint": true
  },
  "css.validate": false,
  "files.autoSave": "off",
  "typescript.updateImportsOnFileMove.enabled": "always",
  "javascript.updateImportsOnFileMove.enabled": "always",
  "editor.wordWrap": "on",
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": false,
  "[typescriptreact]": {
   "editor.defaultFormatter": "esbenp.prettier-vscode",
   "editor.formatOnSave": true
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "editor.formatOnSave": true
  },
 "[typescript]": {
   "editor.defaultFormatter": "esbenp.prettier-vscode",
   "editor.formatOnSave": true
  }
 }

更漂亮.js

 module.exports = {
  semi: true,
  trailingComma: 'none',
  singleQuote: true,
  printWidth: 80,
  tabWidth: 2,
  endOfLine: 'auto',
  bracketSpacing: true,
  proseWrap: 'always'
};
须巴英
2023-03-14

您应该在vscode的设置文件中使用它。

 "prettier.bracketSpacing": false
薛博艺
2023-03-14

我也有过类似的错误,但在我的例子中,默认的VSCode类型脚本格式化程序弄乱了大括号。在.vscode/设置中。json添加:

"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false,

您可能还会发现有用的选项:

"[typescript]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint"
}
 类似资料:
  • 在WebStorm的自动导入功能中,是否可以在导入和大括号之间添加空格? 当前自动导入的外观: 我想将其更改为:

  • 我需要能够将从存储在“日期时间”字段中的MySQL数据库中获取的数据转换为Java对象。 我遇到的问题是将本地时间偏移量添加到对象,我不需要它,因为日期时间已经以UTC格式存储在数据库中。所以当我运行以下代码时: 我得到: 我需要时间部分保持不变。 我找不到任何明显的解决问题的方法,所以我在这里错过了什么吗?

  • 问题内容: 我对以下代码行的语法感到困惑: 数据框对象由2列(“大脑”和“身体”)组成 当我打印x_values时,我得到这样的东西: 就dataframe对象的属性和方法而言,我知道pandas文档,但双括号语法使我感到困惑。 问题答案: 考虑一下: 来源DF: 选择一列-生成Pandas.Series: 选择DataFrame的子集-结果为DataFrame: 结论: 第二种方法允许我们从Da

  • 我有一个节点项目,正在使用VSCode。我不能让ESLint或漂亮的工作正常,他们没有突出显示错误或自动格式化代码。 我得到的唯一输出是:

  • 我正在尝试找到一种方法,使VSCode在我点击括号内的回车键到括号的开头时自动缩进项目,如下所示(类似于这篇文章)。这在Jupyter中运行良好,但我在VSCode中找不到相同的解决方案,也无法在线找到解决方案。有人知道如何通过VSCode中的预设来实现这一点吗?提前致谢。 当前: 渴望的: 编辑 @Shradha 虽然听起来与我正在寻找的内容相似,但您的建议并没有以我正在寻找的方式解决代码问题。

  • 问题内容: 我在我的盒子中使用虚线样式边框 我想增加边框的每个点之间的空间。 问题答案: 此技巧适用于水平和垂直边框: 您可以使用背景大小调整大小,并使用线性渐变百分比调整比例。在此示例中,我有一条虚线为1px的点,间距为2px。这样,您也可以使用多个背景使用多个虚线边框。 在这个尝试一下,或者看一下代码片段示例: