如何通过使用 Eslint + Prettier 删除空行来区分 JSON 代码格式

How to discriminate JSON code formatting by removing empty lines using Eslint + Prettier

背景

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


询问

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

(如果没有,有人有 regex 可以 区分代码块/闭包与 JSON 对象 并删除所有空行?)


示例:JSON 个对象在 JavaScript 个文件中

格式化前

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

   MarkDownCode: 'W'
}

格式化后

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

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

不过,您可以做的是使用任何具有查找和替换功能的文本编辑器,该功能接受正则表达式,然后替换:

^\n

对于空字符串:

''

通常可以使用Ctrl+H打开查找&替换。

此外,我想补充一点,如果您非常愿意实现此任务的自动化,您可以查看代码编辑器的扩展,它允许某种类型的 "Run on Save" 功能,然后添加一个小脚本来擦除那些新线路。