我将Visual Studio Code与Prettier结合使用,并且功能如下:
(token: string) => this.token = token
成为:
(token: string) => (this.token = token)
我认为这使它的可读性降低了... 有办法防止这种情况吗?
答案 0 :(得分:1)
这是由于不归还分配规则所致。参见https://eslint.org/docs/rules/no-return-assign。
尽管您可能会想到,但箭头功能等效于
(token: string) => {return this.token = token}
是的,那里有回报,并且由于分配而变得“美化”。
此规则的唯一两个选项是在出现括号时允许或始终不允许。
因此,要解决“可读性问题”,请使用大括号,或尝试禁用规则(不推荐)。
答案 1 :(得分:0)
您可以添加配置文件以进行自定义配置,可以是json,js,yaml等,请参考此链接,这可能会对您有所帮助
https://prettier.io/docs/en/configuration.html
对于 Arrorw函数,如果您使用的是json,则可能必须在.prettierrc文件中使用 “ arrowParens”:“ aviod” 模式以避免自动添加括号。
答案 2 :(得分:0)
An option to fix this will never be added to Prettier.
这是一个解决方案,直到出现一个不太自以为是的代码格式化程序(如果已经存在,请向我指出)。
打开以下文件:
%USERPROFILE%\.vscode\extensions\esbenp.prettier-vscode-5.8.0\node_modules\prettier\index.js
~/.vscode/extensions/esbenp.prettier-vscode-5.8.0/node_modules/prettier/index.js
(其中%USERPROFILE%
通常是C:\Users\YourUsernameHere\
)
如果您将来使用的话,您的esbenp.prettier-vscode-X.X.X
文件夹可能会看到不同的版本名称。相应地修改路径。
使用Ctrl + F搜索case "AssignmentExpression":
(大约出现四到五次),直到到达this little snippet of code。将图示的return true
更改为return false
。我在41587
行上找到了该语句,但是在将来的Prettier版本中这可能会改变,因此请改用Ctrl + F搜索。
保存文件,重新启动VSCode,它就像魔术一样工作。
我发现macOS may get upset with you上的VSCode摆弄了内部结构。弹出窗口中应该有一些设置图标,可以让您选择忽略该错误。选择忽略该错误,然后再次重新启动VSCode,它应该可以正常工作。
注意:如果要在所有情况下都删除赋值表达式换行,请在case语句的大括号后面的图行return false
和41583
之间添加一个41584
语句并且在const grandParent = ...
语句之前。或将case语句结尾的全部return true
更改为return false
。