[英]Multiple cases in switch statement (that continues on after case statements)
[英]Cannot fix eslint rule on indenting case statements in switch statement
這是我的 sublime text window 的屏幕截圖,顯示了為 switch / case 語句拋出的 eslint 錯誤。 如代碼所示,我想縮進 4 個空格。
這里有4種不同的嘗試,試圖通過修改我的 React 應用程序中的 .eslintrc 文件來允許縮進 4 個空格。 我在谷歌上搜索了一個解決方案並看到了添加 switchCase 和 indentSwitchCase 的建議,但是 my.eslintrc 規則都是 - 間隔的,而不是駝峰式,所以我添加了所有 4 條規則以努力從 sublime text 中刪除錯誤但沒有運氣......我究竟做錯了什么???!
編輯:這是一個 React / MERN 應用程序,我使用 sublime text 作為我的編輯器。 如果我可以分享 my.eslintrc 文件中的任何其他內容來幫助我,請告訴我!
編輯 2:我試過這個:
"indent": ["error", 4, {SwitchCase: 1}]
...但這是一個無效的縮進規則。 如何在不出現錯誤的情況下向縮進規則添加選項 object?
我剛剛看到你對你的答案進行了編輯(“編輯2”)。
無論如何,我想建議你這個選項:
"indent": ["error", 4, { "SwitchCase": 1 }]
為什么你認為它是“ 縮進的無效規則 ”?
根據文檔 ,這是為switch
語句設置所需縮進的正確方法。
“SwitchCase”(默認值:0)對switch語句中的case子句強制執行縮進級別。
文檔還提供了[四個例子]:
- 如果SwitchCase設置為0,則縮進2個空格將不會縮進與switch語句相關的case子句。
- 將SwitchCase設置為1的2個空格的縮進將使用switch語句縮進2個空格的case子句。
- 如果SwitchCase設置為2,則縮進2個空格將使用switch語句縮進4個空格的case子句。
- 將SwitchCase設置為2的制表符縮進將縮進case子句,其中包含2個與switch語句相關的制表符。
它們只是示例,未列出目標選項對象的事實並不意味着它不正確。 事實上它似乎是正確的: ESLint Demo 。
您的用例實際上包含在2.0.0版本的文檔中 (沒有錨點直接鏈接,抱歉,它是文檔的最后一個代碼塊):
/*eslint indent: [2, 4, {"SwitchCase": 1}]*/
switch(a){
case "a":
break;
case "b":
break;
}
在 typescript 代碼庫中,使用TypeScript ESLint的@typescript-eslint/indent
可以解決問題。
{
// note you must disable the base rule as it can report incorrect errors
"indent": "off",
"@typescript-eslint/indent": ["error"]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.