.clang-format 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. ---
  2. # clang-format 配置文件
  3. # 用于防止 proto 文件自动换行
  4. # ColumnLimit: 列宽限制
  5. # 设置为 0 表示不限制列宽,不会因为行太长而自动换行
  6. # 防止原本写在一行的代码被格式化工具强制换行
  7. # 例如:message UserAddReq { UserVo vo = 1; } 会保持在一行,不会被拆成多行
  8. ColumnLimit: 0
  9. # Language: 指定文件类型
  10. # 设置为 Proto 表示这是 Protocol Buffers 文件格式
  11. # clang-format 会根据此设置应用相应的格式化规则
  12. Language: Proto
  13. # IndentWidth: 缩进宽度
  14. # 设置每次缩进使用 2 个空格
  15. # 例如:message 内的字段会缩进 2 个空格
  16. IndentWidth: 2
  17. # UseTab: 是否使用 Tab 字符
  18. # 设置为 Never 表示不使用 Tab,只使用空格进行缩进
  19. # 这样可以保证在不同编辑器和环境下显示一致
  20. UseTab: Never
  21. # TabWidth: Tab 字符的宽度
  22. # 当 UseTab 为 Never 时,此选项主要用于处理已存在的 Tab 字符
  23. # 设置为 2 表示如果遇到 Tab 字符,将其视为 2 个空格宽度
  24. TabWidth: 2
  25. # BinPackArguments: 函数参数打包
  26. # 设置为 true 表示尽量将函数参数放在同一行,而不是每个参数一行
  27. # 例如:rpc UserAdd(UserVo) returns (UserVo); 会保持在一行
  28. BinPackArguments: true
  29. # BinPackParameters: 函数参数列表打包
  30. # 设置为 true 表示尽量将参数列表放在同一行,避免不必要的换行
  31. # 与 BinPackArguments 配合使用,确保参数紧凑排列
  32. BinPackParameters: true
  33. # BreakBeforeBraces: 大括号前的换行规则
  34. # 设置为 Attach 表示大括号紧跟在上一行末尾,不单独换行
  35. # 例如:message UserVo { 而不是 message UserVo\n{
  36. BreakBeforeBraces: Attach
  37. # BreakStringLiterals: 是否允许拆分字符串字面量
  38. # 设置为 false 表示不允许将长字符串拆分成多行
  39. # 保持字符串在一行内,即使字符串很长
  40. BreakStringLiterals: false
  41. # SpacesBeforeTrailingComments: 行尾注释前的空格数
  42. # 设置为 1 表示在代码和行尾注释之间保留 1 个空格
  43. # 例如:string username = 4; // 用户名(username 和 // 之间有一个空格)
  44. SpacesBeforeTrailingComments: 1
  45. # MaxEmptyLinesToKeep: 保留的最大连续空行数
  46. # 设置为 1 表示最多保留 1 个连续空行
  47. # 超过 1 个的连续空行会被合并为 1 个,保持代码紧凑
  48. MaxEmptyLinesToKeep: 1