9

当我对我的源代码使用各种我想要的选项运行缩进时,它会做我想要的,但也会混淆 *s 在指针类型中的位置:

  -int send_pkt(tpkt_t* pkt, void* opt_data);
  -void dump(tpkt_t* bp);
  +int send_pkt(tpkt_t * pkt, void *opt_data);
  +void dump(tpkt * bp);

我知道我将 *s 放置在类型而不是变量旁边是非常规的,但我怎样才能缩进让它们不理会?还是有其他工具可以满足我的要求?我查看了手册页、信息页,并访问了谷歌建议的六个页面,但我找不到执行此操作的选项。

我尝试了艺术风格(又名 AStyle),但似乎无法弄清楚如何使其缩进为 4 的倍数,但每 8 为一个制表符。那是:

if ( ... ) {
<4spaces>if ( ... ) {
<tab>...some code here...
<4spaces>}
}
4

2 回答 2

18

去壳

Uncrustify 有几个关于如何缩进文件的选项。

从配置文件:

indent_with_tabs                           
  缩进代码时如何使用制表符  
  0=只有空格  
  1=缩进制表符,对齐空格  
  2=缩进并与制表符对齐

你可以在这里找到它。

BCPP
来自网站:“bcpp 缩进 C/C++ 源程序,用空格替换制表符或反之。与缩进不同,它(设计上)不尝试包装长语句。” 在这里
找到它。

UniversalIndentGUI
这是一个支持多种美化器/格式化器的工具。它可能会引导您找到更多选择。在这里
找到它。

艺术风格
您可以尝试使用艺术风格(即 AStyle)代替(即使它不能满足您的需求,我会将它留在这里以防其他人发现它有用)。

于 2008-09-19T13:32:49.627 回答
2

修改代码并更改其行为。毕竟是 GNU。;-)

由于这可能不是您想要的答案,这里有另一个链接:http ://www.fnal.gov/docs/working-groups/c++wg/indenting.html 。

于 2008-09-19T13:39:14.120 回答