如何解决VS Code中NDJSON文件无可用格式化程序的问题?
解决VS Code中NDJSON文件格式化问题
可以直接复用默认JSON格式化程序,两种配置方式:
1. 关联NDJSON文件类型到JSON
- 打开任意
.ndjson文件 - 点击VS Code右下角的语言模式(默认可能显示「Plain Text」)
- 选择「Configure File Association for '.ndjson'...」
- 在弹出的选项中选择「JSON」
之后打开NDJSON文件时,VS Code会自动用自带的JSON格式化程序处理,每行的JSON会被美化,同时保持NDJSON「每行一个独立JSON」的规范。
2. 直接在设置中指定格式化程序
不需要修改文件关联,直接强制NDJSON文件使用默认JSON格式化工具:
- 按
Ctrl+Shift+P打开命令面板,输入「Open Settings (JSON)」并回车 - 在
settings.json中添加以下配置:
"[ndjson]": { "editor.defaultFormatter": "vscode.json-language-features" }
保存设置后,打开NDJSON文件即可用Shift+Alt+F触发格式化。
替代方案:自定义脚本格式化
如果上述方法不符合需求,可以写个简单的Node.js脚本批量处理NDJSON文件:
const fs = require('fs'); const filePath = process.argv[2]; if (!filePath) { console.log('请传入NDJSON文件路径'); process.exit(1); } const content = fs.readFileSync(filePath, 'utf8'); const formattedLines = content.split('\n') .filter(line => line.trim() !== '') .map(line => { try { return JSON.stringify(JSON.parse(line), null, 2); } catch (e) { console.warn(`跳过无效JSON行: ${line}`); return line; } }); fs.writeFileSync(filePath, formattedLines.join('\n')); console.log('格式化完成');
保存为format-ndjson.js,在终端运行node format-ndjson.js 你的文件.ndjson即可完成格式化。
内容的提问来源于stack exchange,提问作者nabeelfarid
相关产品推荐
相关产品推荐

