无法在切换语句中缩进case语句的问题上固定eslint规则

时间:2018-10-29 23:24:08

标签: javascript reactjs eslint linter

这是我的sublime文本窗口的屏幕快照,显示了为switch / case语句抛出的eslint错误。如代码所示,我希望必须缩进4个空格。

enter image description here

这里有 4 次尝试,通过对我的react应用程序中的.eslintrc文件进行修改,尝试允许缩进4个空格。我用谷歌搜索了一个解决方案,并看到了建议添加switchCase和indentSwitchCase的建议,但是我的.eslintrc规则都是-隔开的,而不是驼峰式的,所以我添加了所有4条规则以消除崇高文本中的错误但没有运气。我在做错什么?!?!

enter image description here

编辑:这是一个React / MERN应用,即时通讯使用崇高的文字作为我的编辑器。让我知道我是否可以从我的.eslintrc文件中共享其他任何内容以帮助您!

编辑2:我尝试过:

"indent": ["error", 4, {SwitchCase: 1}]

...但这是缩进的无效规则。 如何在不出错的情况下将选项对象添加到缩进规则?

1 个答案:

答案 0 :(得分:11)

我刚刚看到您对答案进行了编辑(“ EDIT 2”)。

无论如何,我想为您提供确切的建议:

"indent": ["error", 4, { "SwitchCase": 1 }]

为什么将其视为“ 无效的缩进规则”?

根据docs,这是为switch语句设置所需缩进量的正确方法。

  

“ SwitchCase”(默认值:0)对switch语句中的case子句强制执行缩进级别。

文档还提供了[四个示例]:

  
      
  • 在SwitchCase设置为0的情况下缩进2个空格将不会使switch语句的case子句缩进。
  •   
  • 将SwitchCase设置为1的2个空格的缩进将使case子句相对于switch语句缩进2个空格。
  •   
  • 在SwitchCase设置为2的情况下缩进2个空格将相对于switch语句缩进4个空格的case子句。
  •   
  • 将SwitchCase设置为2的选项卡缩进将针对switch语句缩进带有2个选项卡的case子句。
  •   

它们仅仅是示例,没有列出目标选项对象并不意味着它不正确。确实似乎是正确的:ESLint Demo

您的用例实际上包含在docs of the version 2.0.0中(没有锚直接链接,很抱歉,它是文档的最后一个代码块):

/*eslint indent: [2, 4, {"SwitchCase": 1}]*/

switch(a){
    case "a":
        break;
    case "b":
        break;
}