2013-03-09 108 views
0

不同的问题已经出现。使用shell脚本对齐C代码

假设我有以下代码库。 现有的代码如下。

int main() { 
/*Commented Added by abc 
    int abc; */ 
/* Code Added by abc */ 
    int def; 
} 

我想新的代码如下。

int main() { 
    /*Commented by abc 
    int abc; */ 
    /* Added by abc */ 
    int def; 
} 

没有实际的代码变化被在上面的示例来完成。然而,基于添加的新代码,评论被正确地分配。即我搜索了由ABC添加的新代码行,并根据此行allignment对前面几行进行了分配。

现在,我正在处理庞大的代码库,并且几乎不可能手动执行此类代码更改。请告诉我们如何以最简单的方式达到这个目的。

+1

可能看到: - http://stackoverflow.com/questions/1609805/code-formatter-beautifier-for-c-on-linux-for-emacs-user回答涵盖其他平台,例如http://www.gnu .org/software/indent/ – QuentinUK 2013-03-09 13:17:24

+1

有工具可以做到这一点;它们不是shell脚本,而是主要的C程序,它们可以理解很多C语法。你已经提到了'缩进';它只是其中之一。 'astyle'是另一个; 'uncrustify'是另一个; 'cb'(C Beautifier)是这个类似的原始(第7版UNIX™)程序,但是你很难找到它,并且如果你这样做可能不会需要它。请注意,通常可以使用'vim'('='命令)。另外,更改最好不要保存在源代码中,而是保存在您正在使用的版本控制系统中 - 您正在使用它,是不是? – 2013-03-09 14:36:40

+0

这里要做的正确事情是删除注释并使用VCS。 – 2013-03-10 15:21:26

回答

0

这个怎么样粗暴的方式:

VIMINIT='call feedkeys("gg=G:wq\<CR>")' vi myFile.c 
0

GNU Indent可以将C文件,以统一的风格,并配备了多种选择 - 其中一些涉及配售的意见。