首页 > 解决方案 > 如何通过使用 Eslint + Prettier 删除空行来区分 JSON 代码格式

问题描述

背景

创建测试文件时,通常会复制和粘贴大量 JSON 对象(即使您使用自己的工厂)。我发现如果您修改架构,有时更容易在键 + 对上查找和替换。问题是 IDE 中的查找和替换(除非您可以自定义它......VSCode、Intellij 等?)如果您最初替换的内容在 JSON 对象中产生一个空行,则不会执行自动保存后清理。


有没有办法配置eslint和/或prettier自动保存它会通过删除空行来压缩你的 JSON 对象?

(如果没有,是否有人有一个正则表达式可以区分代码块/闭包与 JSON 对象并删除任何空行?)


示例:JavaScript 文件中的 JSON 对象

格式化前

const blah = {
   EffectiveDate: '2019-01-01',
   DiscontinueDate: '2019-12-12',

   MarkDownCode: 'W'
}

格式化后

const blah = {
   EffectiveDate: '2019-01-01',
   DiscontinueDate: '2019-12-12',
   MarkDownCode: 'W'
}

标签: javascriptjsoneslintprettierblank-line

解决方案


据我所知,您只能将 prettier 设置为将多个连续的空行压缩为一个空行。

但是,您可以使用任何具有 Find&Replace 功能的文本编辑器,该功能接受 Regex 表达式,然后替换:

^\n

对于空字符串:

''

通常可以使用Ctrl+H.

此外,我还要补充一点,如果您如此倾向于实现此任务的自动化,您可以查看代码编辑器的扩展,该扩展允许某种类型的“保存时运行”功能,然后添加一个小脚本来删除这些新行。


推荐阅读