寻找比GNU Indent更灵活的工具
时间:2020-03-06 14:25:55 来源:igfitidea点击:
当我对源使用各种选项进行缩进时,它会执行我想要的操作,但也会使* 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);
我知道我在类型旁边*的放置不是变量是非常规的,但是我怎么能缩进以让它们保持不动呢?还是有另一种工具可以满足我的需求?我查看了手册页,信息页,并访问了Google建议的六个页面,但我找不到执行此操作的选项。
我尝试了Artistic Style(又称AStyle),但似乎无法弄清楚如何使它缩进4的倍数,但每8个制表符都是缩进的。那是:
if ( ... ) { <4spaces>if ( ... ) { <tab>...some code here... <4spaces>} }
解决方案
脱壳
Uncrustify提供了几种有关如何缩进文件的选项。
从配置文件:
indent_with_tabs How to use tabs when indenting code 0=spaces only 1=indent with tabs, align with spaces 2=indent and align with tabs
你可以在这里找到它。
BCPP
在网站上:" bcpp使C / C ++源程序缩进,用空格或者反斜杠替换制表符。与缩进不同,它(在设计上)不尝试包装长语句。"
在这里找到它。
UniversalIndentGUI
这是一个支持多个美化器/格式化程序的工具。它可能会导致我们有更多选择。
在这里找到它。
艺术风格
我们可以尝试使用Artistic Style或者AStyle来代替(即使它没有执行我们需要做的事情,但如果有人发现它有用,我会把它留在这里)。
修改代码并修改其行为。毕竟是GNU。 ;-)
由于它可能不是我们想要的答案,因此这里是另一个链接:http://www.fnal.gov/docs/working-groups/c++wg/indenting.html。