怎么记代码标签?代码格式化工具AStyle简要说明
怎么记代码标签?代码格式化工具AStyle简要说明Vscode 中可以用快捷键shift alt f 进行代码的格式化"D:\\AStyle_3.1_windows\\AStyle\\\bin\\AStyle.exe" -A10 -p -U -k3 -t4 -S -M80 -Y -xb -j -xf -xh -xW -n -H -L -c %fAsytle.exe根据自己的安装路径来。/* AStyle */ "astyle.additional_languages": [ "c" "cpp" "*.h" ] "astyle.cmd_options": [ "--style=stroustrup" //GNU 风格格式和缩进 "--ind
一 安装1.1 windows下安装astyle是代码格式化工具,可以配合vs code的插件进行代码的方便格式化,也可以作为命令行工具单独运行:
下载地址:
https://sourceforge.net/projects/astyle/files/
1.2 vs插件安装配置格式化格式:
/* AStyle */
"astyle.additional_languages": [
"c"
"cpp"
"*.h"
]
"astyle.cmd_options": [
"--style=stroustrup" //GNU 风格格式和缩进
"--indent=spaces=4" // 缩进4个空格
"--indent-preproc-block" // 条件编译预处理缩进
"--pad-oper" //操作符两端插入一个空格
"--pad-header"
"--unpad-paren" // 刪除括号外多余的空格
"--max-continuation-indent=80 " //最大行长度80
"--indent-col1-comments" // 注释和代码一起缩进
"--suffix=none"
"--align-pointer=name" // 指针符号等附在变量上 如 char *foo1;
"--lineend=Linux" // 以linux话的格式显示
"--indent=tab=4" // TAB 转4个空格
"--convert-tabs" //TAB转换为空格
"--indent-switches" // switch case 缩进-S
"--break-one-line-headers" // if 语句一行分两行写
"--add-braces" // if 一行没有带括号的加括号
"--attach-return-type-decl" // 函数返回类型和函数名搞成一行
"--verbose"
"--unpad-paren" //移除括号两端多余空格
]
"astyle.executable": "D:\\AStyle_3.1_windows\\AStyle\\bin\\AStyle.exe"
"astyle.objective-c.enable": true
1.3 source insight 下配置
- 选择Tools下面的custom commands:
- 新建astyle 命令
把命令贴进去:
点击close即可。
命令:
"D:\\AStyle_3.1_windows\\AStyle\\\bin\\AStyle.exe" -A10 -p -U -k3 -t4 -S -M80 -Y -xb -j -xf -xh -xW -n -H -L -c %f
Asytle.exe根据自己的安装路径来。
- 设置快捷键
Vscode 中可以用快捷键shift alt f 进行代码的格式化
2.2 命令行下运行命令行执行参数配置:
"C:\gsp\mybin\AStyle.exe" -A10 -p -U -k3 -t4 -S -M80 -Y -xb -j -xf -xh -xW -n -H -L
说明:
--pad-oper / -p 操作符前后插入空格
--unpad-paren / -U 删除括号内外额外空格。
--align-pointer=name / -k3 将指针或引用运算符(*、&或^)附加到变量名(右)
--indent=tab=4 / -t4 缩进设置,使用tab缩进,tab等于4空格
--indent-switches / -S 缩进“Switch”块
--max-continuation-indent=120 / -M120 设置最大缩进续行为120空格。最大值120
--indent-col1-comments / -Y 注释与代码一起缩进。
--break-closing-braces / -y 右页眉大括号始终与其他样式断开
--break-one-line-headers / -xb 将一行代码if (isFoo1) bar1();分成两行
--add-braces / -j 将大括号添加到未带括号的一行条件语句
--attach-return-type / -xf 和下面的一起用,将返回类型附加到函数定义
--attach-return-type-decl / -xh 将返回类型附加到函数声明
--indent-preproc-block / -xW #if一类的预处理缩进
2.3 批量脚本运行windows下批量脚本:
@echo off
for /R .\trunk %%f in (*.cpp;*.c;*.h) do "D:\\AStyle_3.1_windows\\AStyle\\\bin\\AStyle.exe" -A10 -p -U -k3 -t4 -S -M80 -Y -xb -j -xf -xh -xW -n -H -L "%%f"
echo "format ok"
echo. & pause
说明: /R:表明遍历一个目录树,后面紧跟的路径,缺省为当前目录。 .\:当前目录 %f:找到的文件名的通配符 (*.c):表示所有以.c结尾的文件 do: 执行后面的语句,其中的%f会被替换成找到的*.c的文件名
-n 不要备份(默认有.orig 结尾的原文件)
-R 递归 作用: 从当前目录开始,查找所有以.c结尾的文件,包含子目录中的文件;然后交给astyle处理。
Linux 下批量脚本运行:
dir=`pwd`
filelist=`find $dir -type f -name "*.c" -or -name "*.h"`
for file in $filelist
do
astyle -A10 -p -U -k3 -t4 -S -M80 -Y -xb -j -xf -xh -xW -n -H -L $file
done
三 参考
超级详细的说明
https://blog.csdn.net/gsp1004/article/details/107024332
https://blog.csdn.net/lzw508170827/article/details/121419184