繁体   English   中英

箭头函数隐式返回自动用括号包裹

[英]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}

是的,那里有回报,并且由于分配而得到“美化”。

此规则仅有的两个选项是在出现括号时允许,或始终不允许。

因此,要解决您的“可读性问题”,请使用大括号,或尝试禁用该规则(不推荐)。

这是一个解决方案,直到出现一个不太固执己见的代码格式化程序(如果它已经存在,请向我指出)。

打开以下文件:

  • Windows %USERPROFILE%\.vscode\extensions\esbenp.prettier-vscode-5.8.0\node_modules\prettier\index.js
  • macOSLinux ~/.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM