这是我的sublime文本窗口的屏幕快照,显示了为switch / case语句抛出的eslint错误。如代码所示,我希望必须缩进4个空格。
这里有 4 次尝试,通过对我的react应用程序中的.eslintrc文件进行修改,尝试允许缩进4个空格。我用谷歌搜索了一个解决方案,并看到了建议添加switchCase和indentSwitchCase的建议,但是我的.eslintrc规则都是-隔开的,而不是驼峰式的,所以我添加了所有4条规则以消除崇高文本中的错误但没有运气。我在做错什么?!?!
编辑:这是一个React / MERN应用,即时通讯使用崇高的文字作为我的编辑器。让我知道我是否可以从我的.eslintrc文件中共享其他任何内容以帮助您!
编辑2:我尝试过:
"indent": ["error", 4, {SwitchCase: 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;
}