你说,sublime
, atom
, VS code
这些编辑器不是自带auto indent
功能吗?
嗯,我遇到的不是这些自带功能能解决的代码。。师兄的代码循环套循环,注释乱来,括号天马行空,平时用的sublime
和 atom
自带代码缩进已仆街。
花了点时间搜索了一下,发现 uncrustify 这款软件,并可以和atom
的代码美化插件配合。
uncrustify
具有超完备的配置选项,喜欢哪里换行,哪里缩进,缩进多少,是tab还是space,什么样的字符需要对齐等等。当然,带来的问题就是配置超麻烦。
幸好软件作者提供了他最喜欢的配置ben.cfg.txt
,稍微修改一下就很不错了。(比如:括号前是否换行的问题=-=)
uncrustify for code formatting
installation
git clone https://github.com/uncrustify/uncrustify.git
cd <the path>
mkdir build
cd build
cmake ..
make
sudo make install
configuration
use the weihe.cfg style:
- create a directory
~/.uncrustify
; - copy the config file to the directory;
run the command to test:
uncrustify -c ~/.uncrustify/mystyle.cfg -f somefile.c > somefile.c.unc
use uncrustify with Atom
- install
atom-beautify
; - edit its settings:
C - Config Path
,C++ Config Path
,C# - Config Path
; - short cut:
ctrl+alt+B
.