如何格式化我的C ++代码?

时间:2013-07-10 07:33:22

标签: coding-style ide

要提前通知,Astyle不能为我这样做。 我希望我的代码正确对齐。如果我必须手动输入空间,这会让我发疯。正如您在修改后看到的那样,代码更加美观。

我想知道最好的方法是什么?有谁可以帮助我?

以下是原始代码:

unsigned __int64 contentsStmSize = 0;
unsigned __int64 imageSize = 0;
unsigned __int64 fontSize = 0;
unsigned __int64 bookMarkSize = 0;
unsigned __int64 xObjectFormsSize = 0;
unsigned __int64 structureInfoSize = 0;
unsigned __int64 acroFormsSize = 0;
unsigned __int64 linkAnnotsSize = 0;
unsigned __int64 namedDestnationsSize = 0;
unsigned __int64 docOverheadSize = 0;
unsigned __int64 clrSpaceSize = 0;
unsigned __int64 patternInfoSize = 0;
unsigned __int64 shadingPatternInfoSize = 0;
unsigned __int64 extGraphicsStatesSize = 0;
unsigned __int64 crossRefTableSize              = 0;

这就是我想要的:

unsigned __int64 contentsStmSize                = 0;
unsigned __int64 imageSize                      = 0;
unsigned __int64 fontSize                       = 0;
unsigned __int64 bookMarkSize                   = 0;
unsigned __int64 xObjectFormsSize               = 0;
unsigned __int64 structureInfoSize              = 0;
unsigned __int64 acroFormsSize                  = 0;
unsigned __int64 linkAnnotsSize                 = 0;
unsigned __int64 namedDestnationsSize           = 0;
unsigned __int64 docOverheadSize                = 0;
unsigned __int64 clrSpaceSize                   = 0;
unsigned __int64 patternInfoSize                = 0;
unsigned __int64 shadingPatternInfoSize         = 0;
unsigned __int64 extGraphicsStatesSize          = 0;
unsigned __int64 crossRefTableSize              = 0;

3 个答案:

答案 0 :(得分:2)

我也喜欢这种风格。我用来将我的代码与标签对齐以更好地查看值。 我使用的一个帮助是使用ALT +鼠标选择一些代码行,使用选项卡按钮可以同时重新排列一组行。

希望它有所帮助。

答案 1 :(得分:1)

这在vi中并不太难。搜索'='(/= 输入),插入标签(i 标签 esc )。然后点击.几次以对齐一行,并n转到下一个位置。

1G/=
i^I^[.....n.....n...n...n... etc.

答案 2 :(得分:1)

在emacs中,您可以选择行,然后键入

ctrl-alt-shift-5
\(.*?\) *= 0;
\,(format "%-50s = 0;" \1)

含义是

  • \(.*?\)抓住所有东西(非贪婪地留出空间)
  • *= 0;一系列空格后跟=空格和0;
  • \,替换为elisp表达式的值
  • (format "%-50s = 0;" \1)将第1组格式化为大小为50的左对齐字符串,后跟结尾部分" = 0;"

请注意,但是这种缩进样式对于保持更新有点烦人(例如,当您添加名称比其他变量更长的新变量时),这就是在许多代码样式约定中不鼓励它的原因。