簡體   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