我是靠谱客的博主 粗暴果汁,最近开发中收集的这篇文章主要介绍代码格式化工具AStyle简要说明,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一 安装

1.1 windows下安装

astyle是代码格式化工具,可以配合vs code的插件进行代码的方便格式化,也可以作为命令行工具单独运行: 下载地址: https://sourceforge.net/projects/astyle/files/

1.2 vs插件安装

416fa5b3a4d3fe17c67e967b1be58339.png

配置格式化格式:

/* 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 下配置

  1. 选择Tools下面的custom commands:

4b56933946900003c91bc0ead1fc6e54.png
  1. 新建astyle 命令 把命令贴进去:

62c0389b80043da70280096e35ab6664.png

点击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根据自己的安装路径来。

  1. 设置快捷键

bfe5c16d2a13ade7588d2711284a4bbd.png a03e8461ed1287bac97a9b1b5c265d66.png

二 运行

2.1 插件下运行

Vscode 中可以用快捷键shift+alt+f 进行代码的格式化

2.2 命令行下运行

命令行执行参数配置:

"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

说明:

说明:
--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

最后

以上就是粗暴果汁为你收集整理的代码格式化工具AStyle简要说明的全部内容,希望文章能够帮你解决代码格式化工具AStyle简要说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部