在进行嵌入式代码开发中,格式化的代码会减少代码提交时候的diff的区别,而且也更加便于阅读代码,通过在iar 或者keil中配置astyle,从而保证代码的一致性,是很好的编程习惯。
下边从两个方面分别描述如何在keil中,或者iar中设置从而进行代码格式化。
keil的设置
--style=ansi -s4 -S -N -p -L -N -m0 -M40 --convert-tabs --suffix=.pre !E
iar 如下
打开IAR软件,选择Tools菜单下Configure Tools.
格式化代码的时候将光标定位在准备格式化的文件内部
C:\Program Files\AStyle\bin\AStyle.exe
--style=ansi -s4 -S -N -p -L -N -m0 -M40 --convert-tabs --suffix=.pre $FILE_PATH$
//--style=ansi -s4 -S -N -p -L -N -m0 -M40 --convert-tabs --suffix=.pre $CUR_DIR$
ansi -s4 -S -N -p -L -N -m0 -M40 --convert-tabs --delete-empty-lines --suffix=none
删除多余空行
第1个对。。
keil参考教程 。
iar参考教程。
sourceinsight 自动格式化整个目录的脚本
"C:\Program Files\AStyle\bin\AStyle.exe" --style=ansi -s4 -S -N -R ./*.c ./*.h -p -L -N -m0 -M40 --convert-tabs --suffix=.pre %f
如果需要对于整个代码的文件夹进行格式化,可以使用如下的批处理进行设置。
@echo off
set curdir=%~dp0
cd /d %curdir%
set astyle="C:\Program Files\AStyle\bin\AStyle.exe"
for /r %~dp1%~nx1 %%a in (.) do %astyle% "%%a\*.c" --style=ansi -s4 -S -N -p -L -N -m0 -M40 --convert-tabs --delete-empty-lines --suffix=.orig %f
for /r %~dp1%~nx1 %%a in (.) do %astyle% "%%a\*.h" --style=ansi -s4 -S -N -p -L -N -m0 -M40 --convert-tabs --delete-empty-lines --suffix=.orig %f
REM ::删除astyle生成的所有中间文件
for /r %~dp1%~nx1 %%a in (*.orig) do del %%a
for /r %~dp1%~nx1 %%a in (*.pre) do del %%a
for /r %~dp1%~nx1 %%a in (*.bak) do del %%a
pause