【发布时间】:2020-08-23 12:04:29
【问题描述】:
我在 typescript 中使用 prettier 和 eslint。
当我编写一些代码并且由于原因而不得不留下一个空函数时,Eslint 和 Prettier 很难在空函数的大括号之间添加和删除空格。
Prettier 正在删除空间,而 Eslint 正在添加它。
预期:
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 构造函数大括号之间的空间?这给了我一个Delete `·` eslint(prettier/prettier) 错误。
当我保存文件时,或者 Prettier 删除了空间......然后 Eslint 再次添加它。
我该如何解决这个问题?
编辑:我想保留解构分配空间(例如({ variable })),但不保留空括号(例如{})
下面是我的.eslintrc.json 和prettier.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',
};
【问题讨论】:
-
试过了,没用。更漂亮不是问题,因为它会删除空间,然后 eslint 添加它。如果我在 true 上使用此规则,它会保持原样。如果我在 false 上使用它,它会从解构和空括号中删除空格......但 eslint 会再次添加空格。
-
抱歉,您想要这个空间还是不想要它?
-
我想要它,除了空括号。抱歉不清楚。
-
不,你很清楚......只是我很慢:p
标签: javascript eslint prettier