javascript - 无法修复关于在 switch 语句中缩进 case 语句的 eslint 规则
问题描述
这是我的崇高文本窗口的屏幕截图,显示了为 switch / case 语句引发的 eslint 错误。如代码所示,我想缩进 4 个空格。
这里有4种不同的尝试,通过在我的 react 应用程序中修改 .eslintrc 文件来尝试允许缩进 4 个空格。我搜索了一个解决方案,并看到了添加 switchCase 和 indentSwitchCase 的建议,但是我的 .eslintrc 规则都是间隔的,而不是驼峰式,所以我添加了所有 4 条规则,以努力从崇高的文本中删除错误,但没有运气......我究竟做错了什么 ?!?!
编辑:这是一个 React / MERN 应用程序,我使用 sublime text 作为我的编辑器。让我知道我是否可以从我的 .eslintrc 文件中分享任何其他内容以提供帮助!
编辑2:我试过这个:
"indent": ["error", 4, {SwitchCase: 1}]
...但这是一个无效的缩进规则。如何在不出错的情况下将选项对象添加到缩进规则?
解决方案
我刚刚看到您对答案进行了编辑(“EDIT 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 的制表符缩进将相对于 switch 语句缩进具有 2 个制表符的 case 子句。
它们只是示例,您的目标选项对象未列出这一事实并不意味着它不正确。确实它似乎是正确的:ESLint Demo。
您的用例实际上包含在2.0.0 版本的文档中(没有直接链接的锚,抱歉,它是文档的最后一个代码块):
/*eslint indent: [2, 4, {"SwitchCase": 1}]*/
switch(a){
case "a":
break;
case "b":
break;
}
推荐阅读
- c# - nservicebus 使用 msmq 传输发送具有列表类型属性的命令对象
- wordpress - 在自定义评论框中提交评论后如何弹出框?
- android - Android Studio 和 Android SDK 25 glob()
- winapi - 确定可移动磁盘的驱动器号(dos 名称)
- r - 如何在 ggplot2 折线图中制作半线?
- python - 自定义python类的YAML加载期间的AttributeError
- python - 一个或多个映射器未能初始化:relationship 'post' 需要一个类或一个映射器参数
- r - R中带有嵌套数据框的过滤器列表
- deep-learning - VGGnet 的架构。什么是多作物、密集评估?
- c# - 在服务之间共享 HttpClient