博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
keil中使用Astyle格式化你的代码的方法-keil4 keil5通用
阅读量:4656 次
发布时间:2019-06-09

本文共 1865 字,大约阅读时间需要 6 分钟。

简介:在给RTT 提交代码,需要符合RT-Thread 的代码规范,本文简单介绍如何使用Astyle 格式化为符合RTT要求的代码风格。

  关于Astyle

  Astyle 的全称是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进、格式化、美化。

  Home Page: http://astyle.sourceforge.net/

  Project Page: http://sourceforge.net/projects/astyle/

  在Keil μVision中集成Astyle(以Keil μVison5为例)

  ①下载Astyle,解压到任意位置(Astyle为绿色软件)

  下载地址:

  链接:https://pan.baidu.com/s/1cGh2yA7T0F22hpVulz60GQ

  提取码:m4hh

  ②µVision5中单击Tools菜单---Customize Tools Menu

1550038163429745.png

③添加Astyle All Files 和Astyle Current File菜单(自定义菜单名,可以使用中文)

  这里添加了两个菜单,分别是格式化当前文件和格式化project中的所有文件。

1550038210941993.png

  ④添加Command命令:单击...按钮,在Astyle的安装目录中选择Astyle.exe。

  ⑤Arguments:

  Astyle Current File菜单填写 -n !E --style=allman --indent=spaces=4 --indent-preproc-block --pad-oper --pad-header --unpad-paren --suffix=none --align-pointer=name --lineend=linux --convert-tabs --verbose    当前文件

  Astyle All Files菜单填写 -n "$E*.c" "$E*.h" --style=allman --indent=spaces=4 --indent-preproc-block --pad-oper --pad-header --unpad-paren --suffix=none --align-pointer=name --lineend=linux --convert-tabs --verbose

  当前文件所在文件夹中的所有.c 和.h文件

  注:!E 表示的是当前获得焦点且正在编辑的文件。

  $E*.c和$E*.h代表当前获得焦点且正在编辑文件所在目录下所有.c和.h文件(参考keil uVision的帮助文档)

  使用的是Astyle默认格式来格式化文件,另外也可以自定义格式,自定义格式参考Astyle的帮助文档。默认格式化后,会备份原文件为 源文件名.orig。如果不想让Astyle备份文件,可以使用-n参数。 如:-n !E (表示格式化当前文件,不备份)

1550038238932615.png

  ⑥实际使用效果如下:

1550038265228016.png

  使用格式化命令后:

1550038299537920.png

  显示已经完成:

1550038330519732.png

  注:RTT 使用参数简要说明:具体可看D:GEN_FILE_000005_V1.0%20AStyle_3.1_windows\AStyle\doc 中说明

  用 astyle 自动格式化代码

  --style=allman  此风格大括号 单独使用一行

  --indent=spaces=4    缩进 4个空格

  --indent-preproc-block  按块进行预处理

  --pad-oper      在操作符前后添加空格

  --pad-header    在if for while 等后面插入空格

  --unpad-paren   移除括号里面多余的空格

  --suffix=none    不需要备份 也就是 -n

  --align-pointer=name  *, &, or ^ 挨着变量名放置

  --lineend=linux   行结束风格Valid options are windows (CRLF), linux  (LF), and macold (CR).

  --convert-tabs  缩进时将tab 转换成空格

  --verbose    详细的显示模式

 

转载于:https://www.cnblogs.com/CodeWorkerLiMing/p/11273850.html

你可能感兴趣的文章
常用SQL查询语句
查看>>
Redis Windows版安装详解
查看>>
linux后台运行python程序 nohup
查看>>
吴裕雄--天生自然 高等数学学习:对面积的曲面积分
查看>>
css
查看>>
Web应用程序整体测试基础——单元测试
查看>>
通过修改manifest文件来解决Vista/Win7/Win8/win10下应用程序兼容性问题
查看>>
Spark使用总结与分享
查看>>
Line 7.10 : Syntax error
查看>>
[转] 树状数组学习
查看>>
ASP.NET-ActionFilter过滤器用法实例
查看>>
将url的查询参数解析成字典对象
查看>>
Redis与RabbitMQ作为消息队列的比较
查看>>
mybatis实战教程三:mybatis和springmvc整合
查看>>
Java多线程:Semaphore
查看>>
960栅格化优势
查看>>
LSP原则—关于正方形不是长方形
查看>>
Android内核开发 相关工具及源码下载汇总
查看>>
多线程(二)--NSThread基本使用
查看>>
使用Photon引擎进行unity网络游戏开发(二)——Photon常用类介绍
查看>>