if/else 缺失时如何更漂亮地添加大括号

How to get prettier to add braces when mssing on if/else

我在谷歌上搜索了一段时间,但没有找到如何执行此操作。我的项目中有 eslint 和 prettier 设置。

// What I have:
if (a == b) doSomething();

// What I want from either eslint or prettier
if (a == b) {
  doSomething();
}

任何人都可以告诉我如何完成这项工作吗?或者告诉我他们这样做的配置?

tl;dr:为您的项目创建一个 .eslintrc.json 并为 curly.

创建一个规则
{
    "rules": {
        "curly": "error",
    }
}

Prettier 只打印代码。它并没有对其进行改造。 这是为了限制 Prettier 的范围。让我们专注于印刷并把它做好!

以下是一些超出 Prettier 范围的示例:

  • Adding/removing {} 和 return 它们是可选的。
  • 将 ?: 转换为 if-else 语句。
  • Sorting/moving 导入、对象键、class 成员、JSX 键、CSS 属性或其他任何东西。除了作为一种转换而不仅仅是打印(如上所述)之外,排序还可能因为副作用(例如对于导入)而变得不安全,并且难以验证最重要的正确性目标。
  • 将单引号或双引号字符串转换为模板文字,反之亦然。

所以要得到你想要的,你应该使用 eslint。 eslint 有一个 --fix 选项和一个 all 的规则,这将提供您想要的。

eslint for vscode.

configuration of eslint.

希望对您有所帮助。