[英]Arrow function implicit return wrapped automatically with parenthesis
我将 Visual Studio Code 与 Prettier 一起使用,其功能如下:
(token: string) => this.token = token
变成:
(token: string) => (this.token = token)
我认为这会降低可读性......有没有办法防止这种情况发生?
这是由于不返回分配规则。 请参阅https://eslint.org/docs/rules/no-return-assign 。
不管你怎么想,你的箭头功能等同于
(token: string) => {return this.token = token}
是的,那里有回报,并且由于分配而得到“美化”。
此规则仅有的两个选项是在出现括号时允许,或始终不允许。
因此,要解决您的“可读性问题”,请使用大括号,或尝试禁用该规则(不推荐)。
这是一个解决方案,直到出现一个不太固执己见的代码格式化程序(如果它已经存在,请向我指出)。
打开以下文件:
%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-XXX
文件夹的不同版本名称。 相应地修改路径。
使用 Ctrl + F 搜索case "AssignmentExpression":
大约出现四到五次),直到找到这一小段代码。 将图中的return true
更改为return false
。 我在第41587
行找到了声明,但这可能会在 Prettier 的未来版本中发生变化,因此请回到 Ctrl + F 搜索。
保存文件,重新启动 VSCode,它就像变魔术一样工作。
我发现 macOS 上的 VSCode 可能会因为你摆弄内部结构而生气。 弹出窗口中应该有一些设置图标,让您可以选择忽略错误。 选择忽略错误,然后再次重启 VSCode,它应该可以正常工作。
您可以添加配置文件来进行自定义配置,它可以是 json、js、yaml 等,请参考此链接,这可能对您有所帮助
https://prettier.io/docs/en/configuration.html
对于Arrorw 函数,如果您使用 json 模式以避免自动添加括号,则可能必须在您的 .prettierrc 文件中使用“arrowParens”:“aviod” 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.