C ++代码格式化

时间:2009-09-14 01:43:55

标签: c++ formatting

我已经使用VS2005和VS2008了一段时间,使用C#。没有任何额外的工具,我可以点击ctrl k + d,代码将很好地重新格式化。为什么C ++不这样做? 毕竟它是相同的Visual Studio。有没有办法启用它?

这个问题的第二部分是相关的,对于那些一直使用C#的resharper的人来说,是否有类似的C ++工具?

6 个答案:

答案 0 :(得分:6)

  1. 您可以使用Ctrl-K + Ctrl-F进行“格式选择”。

  2. Link

答案 1 :(得分:3)

它可能存在,但映射到不同的键盘快捷键。例如,在我的VS2008上安装Ctrl + K ,D不会映射到除Ctrl + E 之外的任何内容,D映射到编辑|高级|格式文档命令。

答案 2 :(得分:2)

您始终可以使用AStyle格式化代码。效果很棒!

答案 3 :(得分:1)

对我而言,它始终是选择文本,CTRL + K,F。它的效果不如Visual C#中那么好;除了最基本的选项之外,没有自定义选项。

答案 4 :(得分:1)

编辑:2017年这个答案似乎已经过时了。对于“任何人”,我推荐使用clang格式的“任何东西”。

原始答案: 本机:在VS2008中快速格式选择是ALT + F8和CTRL + K,CTRL + D映射到格式文档。在专业版的VS2008中可能也是如此。

减少ontopic:我倾向于避免使用C ++的源代码格式化程序,因为我觉得它们通常弊大于利。为什么? Codeformaters必须“读取”代码并理解不同代码语句的作用。这在例如很容易语法直接的Java。 C ++是一种非常复杂的语言。有几种方法可以做任何事情。您可以使用宏,定义,typedef和诸如此类的东西。通常在两个不同的文件中定义/声明类。这也是Intellisense似乎经常失败的原因 - VS2008无法正确解析代码。 IDE很难知道所有语句是什么以及如何格式化它们。虽然它可能在大多数情况下都可以正常工作,但您可以非常肯定它会偶尔产生不良结果。我猜测微软并没有花太多时间为C ++定制代码格式化程序,因为他们意识到大多数C ++程序员都是手工完成的。我很少想念它,除非我的一些同事不遵守公司标准。

答案 5 :(得分:0)

**对于C / C ++代码格式,您可以使用bcpp [apt-get install bcpp]。 该程序将在Linux / Unix和MS DOS V3.3下运行

有配置文件,因此您可以有创意。

** Qt提出的有趣的C / C ++ / C#/ Java工具是astyle [apt-get install astyle]

相关问题