You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Prettier将.code-snippets文件的多行数组合并为单行?

解决Prettier格式化VS Code代码片段文件时合并数组为单行的问题

问题根源

log.code-snippets是VS Code的代码片段文件,会被识别为JSONC格式。Prettier默认会把未超出printWidth的JSON数组合并为单行,而VS Code内置格式化器会保留数组的多行结构,这就是两者行为差异的核心原因。

方案1:全局配置Prettier强制数组换行(推荐,适用于Prettier 3.0+)

如果希望所有JSON/JSONC文件的数组都保持多行格式,可按以下步骤修改配置:

  1. 确认Prettier版本为3.0及以上,版本过低则先升级:
npm install prettier@latest --save-dev
  1. 在.prettierrc中添加jsonArrayFormat配置项:
{
  "printWidth": 140,
  "jsonArrayFormat": "indent"
}

该配置会强制JSON数组的每个元素单独占一行,不受printWidth限制。

方案2:仅针对log.code-snippets文件切换格式化器

如果不想改动全局JSON格式化规则,可在VS Code的settings.json中为该文件单独指定内置格式化器:

{
  "files.associations": {
    "log.code-snippets": "jsonc"
  },
  "[jsonc].log.code-snippets": {
    "editor.defaultFormatter": "vscode.json-language-features"
  }
}

设置后,其他JSONC文件仍用Prettier格式化,仅log.code-snippets保留多行数组结构。

方案3:忽略该文件的Prettier格式化

若不需要Prettier处理log.code-snippets,可在.prettierignore中添加:

log.code-snippets

保存时该文件会自动使用VS Code内置格式化器。

内容的提问来源于stack exchange,提问作者xkeshav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:33:12