网站首页 > 基础教程 正文
在开发过程中,有的是因协同开发,有的是不同人用的代码编辑器可能是不一样,有的是因为因为个人风格原因,有的是代码中Tab跟空格混用,有时候用Tab,有时候又用空格。在整个项目的代码整合在一起的时候。导致代码格式都没有对齐,if,while等嵌套多了,括号也没对齐,导致代码可读性不高,也不够规范,自己看得也不整洁,在我们攻城狮领域,先不说内涵,写的代码有多么精妙,最基本的代码的可读性,整洁度就是我们的门面,是吧,所以这方面应该保持基本的“强迫症”。
针对常用编辑器 IAR KEIL 这类编辑器没有相对应的工具,介绍一款小插件Artistic Style,最新版本是3.1。
插件介绍
Artistic Style适用于C,C ++,C ++ / CLI,Objective?C,C#和Java源代码,是一款免费,快速,小型自动格式化程序。由Jim Pattee维护和更新,原始作者是以色列的塔尔·戴维森(Tal Davidson)。
KEIL 设置方法:
1.首先从官网下载软件,为了方便就把软件下载后的解压包放在C:\Sofeware\Keil_v5\AStyle这个目录,大家可以根据自己的喜好来放在其他目录;
2.打开MDK,在菜单栏Tools中选择 Customize Tools Menu,然后按照下图一步步做;
3.最后一步格式配置这里,是有很多不同格式命令的:
- -n:不生成备份文件。
- !E:格式化当前文件。
- –indent=spaces=2 :缩进使用空格,空格个数为2(你可以修改数字为其他的)。
- –align-pointer=name :*,&,^靠近变量名称。
- –pad-oper:运算符两端插入空格。
- –pad-comma :逗号后插入空格,如果启用了上面的选项,此参数也可以省略。
- –unpad-paren :取消括号内部或者外部的空格(比如函数名靠近括号)。
- –attach-return-type-decl :返回值类型与函数名称保持在同一行。
- –convert-tabs :将TAB转换为空格。
- –attach-closing-while :do while循环的while语句跟第二个大括号保持在同一行。
- –indent-switches :switch语句中的case选项,要保持缩进格式。
- –max-instatement-indent=60 :一行代码的字符长度,如果超过这个长度会断开并换行。
- --style=ansi :大括号对齐方式,ansi 可以替换为 Linux, GNU,,java。
- --align-pointer=name/-k3 指针符号紧贴名字。
4.这里整理了一个我常用的命令,格式化当前文件:!E --style=ansi -n -p -s4 -S -f -xW -w -xw。
5.使用前:
6.使用后:
IAR 设置方法:
1.首先从上面官网下载软件,为了方便就把软件下载后的解压包放在C:\Sofeware\IAR Systems\Embedded Workbench 8.30.1\AStyle这个目录,大家可以根据自己的喜好来放在其他目录;
2.打开IAR,在菜单栏Tools中选择configure tools,然后按照下图一步步做;
3.最后一步格式配置这里,与上面配置大致一样,其中 !E命令无法在 IAR 中使用,使用的环境变量 $FILE_PATH$。
4.在IAR也整理了一个常用的命令,对当前文件生效:-n -p -D -s4 -F -S -H --style=ansi $FILE_PATH$。
5.使用前:
6.使用后:
快捷键设置:
设置好以上命令后,每次都需要先点击 Tools 再点击设置的命令。显得过于繁琐。这时候需给刚刚设置的命令添加一个快捷键。便于快速操作:
KEIL: 按照以下操作:
IAR按照以下操作:
注意事项:
1.在使用此插件时,需要保存文件。
2.使用此插件后,ctrl+z 撤回不可再用,如要查看格式化之前的文件,请删除命令中的 “-n” 不生成备份文件,即默认的 .orig文件,这样,每次使用此插件都会生成一个对应的.orig文件。里边保存的是格式化之前的文件。
关注我,享有更多好料!
- 上一篇: C# using用法 c# using语句
- 下一篇: C#异步编程之Task的使用 c#异步处理
猜你喜欢
- 2024-12-29 C#异步编程之Task的使用 c#异步处理
- 2024-12-29 C# using用法 c# using语句
- 2024-12-29 MDK中使用AStyle插件对代码进行格式化处理
- 2024-12-29 c#中使用miniExcel和fastreport实现付款审批单的批量打印
- 2024-12-29 程序员必练六项目:从数据结构到操作系统,计算机教授为你画重点
- 2024-12-29 C#上位机开发入门(3) c#上位机需要学什么
- 2024-12-29 C#06(从控制台输入与类型转换) c#从控制台输入数据
- 2024-12-29 C#-循环数组结构体知识补充 055 c#用循环结构计算1+2+3+4+5+6...+100
- 2024-12-29 正确复制、重写别人的代码,不算抄袭
- 2024-12-29 初学吉他,解密大调三和弦与小调三和弦的构成与基本知识,全在这
- 01-08将 Excel 表格中每三行合并到一个单元格中,用“、”隔开
- 01-08使用办公软件按表格中从上往下合并成1个TXT文档并添加分隔符号
- 01-08新歌尝鲜 3《分割线》
- 01-08怎么分割视频?这几种分割方法非常简单
- 01-08视频怎么分割?教你简单的三种方法
- 01-08分隔:整理大脑的 5 种方法
- 01-08「深度」凯文-杜兰特的九年雷霆光阴
- 01-08深度丨涅磐重生到“超级3D”球星?他还是无所不能的保罗·乔治
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)