我想关闭Prettier中的一个规则,即在行内注释处换行。我的ESLint规则no-inline-comments
已设置为关闭或警告状态,因此已得到处理并运作正常。结果发现,Prettier仍然希望在行内注释处换行:
我在VSCode中设置了ESLint处理JS的prettier,而Prettier扩展程序则处理其他所有语言。我还使用了airbnb-base
。以下是我的相关配置:
.eslintrc.json
:
{
"extends": ["airbnb-base", "plugin:prettier/recommended"],
"rules": {
"no-console": 0,
"no-plusplus": 0,
"no-inline-comments": "off",
"no-undef": "warn",
"no-use-before-define": "warn",
"no-restricted-syntax": [
"warn",
{
"selector": "ForOfStatement",
"message": "frowned upon using For...Of"
}
]
// "line-comment-position": ["warn", { "position": "above" }]
},
"env": {
"browser": true,
"webextensions": true
}
}
VSCode settings.json
:
// all auto-save configs
"editor.formatOnSave": true,
// turn off for native beautifyjs
"[javascript]": {
"editor.formatOnSave": false
},
"eslint.autoFixOnSave": true,
"eslint.alwaysShowStatus": true,
"prettier.disableLanguages": ["js"],
"prettier.trailingComma": "es5"
}
我知道你可以在想要忽略的内容上方使用// eslint-disable-next-line prettier/prettier
,但显然我不想每次都设置它。你可以在我的图片中看到它被注释掉了。
通常情况下,最好将注释放置在自己的行上,而不是在行尾。建议使用
// eslint-disable-next-line
代替// eslint-disable-line
。
https://prettier.io/docs/en/rationale.html#comments
我不确定在这种情况下是否有用:
注意:虽然可以通过ESLint配置文件向Prettier传递选项,但不建议这样做,因为编辑器扩展(如
prettier-atom
和prettier-vscode
)将读取.prettierrc
,但不会从ESLint中读取设置,这可能导致体验不一致。
https://github.com/prettier/eslint-plugin-prettier#options
我已经与一些人交谈过了,可能根本不可能吗?不过,这是某个规则,应该可以被覆盖。如果有其他信息我可以提供,我会的。
plugin-ruby
会破坏内联的rubocop:disable
规则。 - coisnepe