C / C++ 代码格式化程序
指导
C / C++ 代码格式化程序
即时使用行业标准样式预设格式化您的 C 和 C++ 代码。粘贴混乱或格式不一致的代码,即可获得干净、结构正确的输出,与 LLVM、Google、Chromium、Mozilla、WebKit 或 Microsoft 样式指南匹配 — 可完全控制缩进、大括号换行和指针对齐。
如何使用
将您的 C 或 C++ 代码粘贴到输入区域。选择一个样式预设来自动配置格式化选项,或手动调整缩进宽度、大括号换行样式和指针对齐方式以匹配您的项目约定。格式化后的代码会即时显示在输出面板中 — 一键复制。
特征
- 样式预设 – 使用 LLVM、Google、Chromium、Mozilla、WebKit 和 Microsoft 样式配置进行一键格式化,匹配实际的 clang-format 默认设置。
- C 和 C++ 支持 – 处理 C 和 C++ 语法,包括类、模板、命名空间和预处理器指令。
- 大括号换行样式 – 在函数、条件语句和循环的大括号放置方面,可在附加(K&R)、Allman(下一行)、Stroustrup 或 GNU 之间进行选择。
- 指针对齐 – 配置指针和引用运算符是左对齐(
int* p)、右对齐(int *p)还是中间对齐(int * p). - 可配置缩进 – 设置缩进宽度(2、4 或 8)并选择空格或制表符。
- 实时格式化 – 输入或更改任何格式化选项时,输出会即时更新。
何时使用此工具
在清理代码片段以供代码审查、在提交到共享存储库之前标准化格式或在跨项目移动代码时在样式指南之间进行转换时使用此工具。它对于为文档、博客文章或 Stack Overflow 答案快速重新格式化代码示例特别有用。
常问问题
-
什么是 clang-format 以及为什么 C++ 项目要使用它?
clang-format 是 LLVM 项目的一款开源工具,可根据可配置的样式规则自动格式化 C、C++、Objective-C 和其他语言。项目使用它来在团队中强制执行一致的代码样式 — 它消除了代码审查期间的格式争论,并确保每个贡献者的代码看起来都相同,无论他们的编辑器或个人偏好如何。
-
Allman 和 K&R 大括号样式之间有什么区别?
K&R(Kernighan 和 Ritchie)样式将开括号放在控制语句的同一行:if (x) {。Allman 样式(以 Eric Allman 命名)将其放在下一行,与控制语句对齐。K&R 更紧凑,被 LLVM、Google 和 Chromium 使用。Allman 被 Microsoft 的样式指南使用,并且在 C# 和一些 C 代码库中很受欢迎,因为对齐的大括号使代码块边界在视觉上很明显。
-
指针星号应该放在类型还是变量名旁边?
这是 C/C++ 最古老的样式辩论之一。左对齐(int* p)将指针视为类型的一部分,这是 Google 和 LLVM 使用的 C++ 约定。右对齐(int *p)反映了 C 实际解析声明的方式 — 在 'int *p, q' 中,只有 p 是指针。两者都是有效的;最重要的是项目内部的一致性。大多数现代 C++ 样式指南更喜欢左对齐。
-
C++ 代码应使用什么列限制?
最常见的限制是 80 和 120 个字符。80 列的传统可以追溯到打孔卡和终端宽度,LLVM、Google 和 Linux 内核仍在使用。对于现代开发来说,120 列越来越受欢迎,因为宽屏显示器已成为标准。一些项目(如 WebKit)没有硬性限制。根据您的团队显示器以及代码是否会在并排 diff 中查看来选择。
