Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过使用Eslint+Prettier删除空行来区分JSON代码格式_Javascript_Json_Eslint_Prettier_Blank Line - Fatal编程技术网

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

Javascript 如何通过使用Eslint+Prettier删除空行来区分JSON代码格式,javascript,json,eslint,prettier,blank-line,Javascript,Json,Eslint,Prettier,Blank Line,背景 创建测试文件时,通常会有大量JSON对象的复制和粘贴,即使您使用自己的工厂。我发现,如果修改模式,有时会更容易在key+对上查找和替换。问题是在IDE中查找和替换,除非您可以自定义它。。。VSCode、Intellij等。?如果替换的内容最初在JSON对象中生成空行,则不会执行自动保存后清理 问 有没有办法配置eslint和/或prettier,使其在自动保存时通过删除空行来压缩JSON对象 如果没有,是否有人有可以区分代码块/闭包与JSON对象并删除任何空行的正则表达式 示例:JavaS

背景

创建测试文件时,通常会有大量JSON对象的复制和粘贴,即使您使用自己的工厂。我发现,如果修改模式,有时会更容易在key+对上查找和替换。问题是在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'
}
格式化后

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打开“查找和替换”


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

VSCode允许您搜索并替换为正则表达式。打开替换对话框Ctrl+h并点击正则表达式图标或按alt+r^\n会抓住每一条空的新线。你可以用一个空字符串替换它,你的行就会崩溃。就区分而言,没有任何有效的方法可以做到这一点,因为JSON和对象文本在代码检查中并没有可验证的差异,所以除非单独的文件或某种有意的语法区别,不幸的是,我认为你运气不好。旁白:您的代码不是有效的JSON,因此这可能是不可能的。@Aaron您是在谈论.js文件中的JavaScript对象,还是在.JSON文件中实际的JSON代码?您发布的代码不是JSON,而是JavaScriptHey@Patrick Hund,指的是JavaScript文件。我将更新示例以包含更多上下文。谢谢大家!@zfrisch它现在应该是有效的。非常感谢。