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

如何通过.clang-format设置格式化嵌套括号?nlohmann::json场景

实现nlohmann::json初始化代码的换行展开格式

可以通过.clang-format的配置实现这个需求,核心是调整针对C++11列表初始化的格式化规则,具体配置如下:

关键配置项

在你的.clang-format文件中添加或修改以下参数:

Cpp11BracedListStyle: true
BreakListOfLists: true
AllowShortArraysOnASingleLine: false
ColumnLimit: 0

配置说明

  • Cpp11BracedListStyle: 启用C++11列表初始化的专属格式化逻辑,让clang-format正确识别nlohmann::json这种嵌套大括号的初始化结构。
  • BreakListOfLists: 强制将嵌套的列表(比如外层大括号内的多个{key, value}子项)拆分为单独的行。
  • AllowShortArraysOnASingleLine: 禁止短数组/列表在单行显示,确保即使初始化内容较短也会换行展开。
  • ColumnLimit: 0: 取消列数限制,避免因内容长度未达到阈值而保持单行格式(若设置了具体列数,短内容可能仍会紧凑显示)。

格式化效果

配置生效后,原来的紧凑代码:

nlohmann::json obj = {{key1, "value 1"}, {key2, 22}};

会被格式化为:

nlohmann::json obj = {
    {key1, "value 1"},
    {key2, 22}
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:37:44