AStyle代码格式工具在source insight中的使用
一、AStyle下载路径
Astyle为开源项目,支持C/C++和java的代码格式化
Home Page: http://astyle.sourceforge.net/
Project Page: http://sourceforge.net/projects/astyle/
下载最新Windows版本的AStyle,解压到你指定位置,笔者解压到D:\program files下的。
二、Source Insight中安装Astyle工具
如:增加Astyle命令,格式化C/C++文件
1. 打开source insight中的一个工程,选择Options--Custom Commands命令

2. 点击add,添加新的命令Astyle。
1)ansi C 格式化当前文件的命令为
其中,Run中输入astyle的命令参数:"D:\program files\AStyle\bin\AStyle.exe" --style=ansi -s4 -S -N -L -m0 -M40 --convert-tabs --suffix=.pre %f

2)ansi C 格式化某个目录下所有文件的命令为:
"D:\program files\AStyle\bin\AStyle.exe" Z:\LocalProject\DEZHOU3716/*.c Z:\LocalProject\DEZHOU3716/*.h --style=ansi -s4 -S -N -L -m0 -M40 --recursive --convert-tabs --suffix=.pre %f

3. 添加menu菜单,点击“menu”,选择menu--View,然后INSERT。这样就可以在菜单栏View上多一个命令选项。

4. 添加快捷键,点击"Assigh New Key",输入快捷键:Ctrl+Alt+C。以后格式化C/C++文件,就可以直接使用快捷键了。

同理,新建java格式化命令,Astyle参数为
C:\AStyle\bin\AStyle.exe --style=java -s4 -S -N -L -m0 -M40 --suffix=none --convert-tabs %f
三、其他常用的参数:
|
-C |
类中public,pretected,private关键字,一个tab的缩进 |
|
-S |
switch中case关键字,一个tab的缩进 |
|
-K |
switch中case关键字,无缩进 |
|
-N |
被namespace包含的block,一个tab的缩进 |
|
-w |
格式化多行的宏定义 |
|
-c |
将tab转化为对应个数的空格 |
|
--mode=c |
格式化的是C/C++的源文件或者头文件(缺省值) |
|
--mode=java |
格式化的是JAVA的源文件 |
|
--suffix=#### |
将原始文件保存为“####”后缀,而不是“orig” |
|
--suffix=none |
不保存原始文件 |
|
--exclude=#### |
优化时不包含“####”文件或目录 |
|
-Z |
修改后保持文件的修改时间不变 |
|
-X |
将错误信息输出到标准输出设备(stdout),而不是标准错误设备(stderr) |
|
-Q |
只显示格式化前后发生变化的文件 |
|
-q |
不输出任何信息 |
|
-z1 |
使用windows版本的回车符(CRLF) |
|
-z2 |
使用linux版本的回车符(LF) |
|
--help |
显示帮助信息 |
|
-v |
显示版本信息 |
基于V2.02版本,astyle主要支持的参数有:
Style-格式配置:
最常用的就是ansi或或kr格式,实际上,kr,stroustrup和linux这三种格式是非常接近的了,试了好几个文件,只有非常微小的区别,可以忽略不计。
|
stype |
--style=allman |
--style=java |
--style=kr |
--style=stroustrup |
--style=whitesmith |
--style=banner |
|
代码风格 |
int Foo() |
int Foo() { |
int Foo() |
int Foo() |
int Foo() |
int Foo() { |
|
stype |
--style=gnu |
--style=linux |
--style=horstmann |
--style=1tbs |
--style=pico |
--style=lisp |
|
代码风格 |
int Foo() |
int Foo() |
int Foo() |
int Foo() |
int Foo() |
int Foo() { |
参考文档:
1. http://www.cnblogs.com/zhaoshixin/archive/2011/12/02/2272076.html
2. http://astyle.sourceforge.net/astyle.html
AStyle代码格式工具在source insight中的使用的更多相关文章
- Source Insight 中使用 AStyle 代码格式工具
Source Insight 中使用 AStyle 代码格式工具 彭会锋 2015-05-19 23:26:32 Source Insight是较好的代码阅读和编辑工具,不过source in ...
- 在source insight中集成astyle
转自:http://www.cnblogs.com/xuxm2007/archive/2013/04/06/3002390.html 好吧,我有代码格式的强迫症,代码不整齐,我看的都头疼,之前一直喜欢 ...
- source insight中的快捷键总结
1.快捷键 1,Shift+F8高亮显示指定字符. 2,Ctrl+F找出来的结果用F4,F3前进后退查找. 3,Alt+,后退alt+.前进查找关键字. 4,Alt+G或者F5跳转到某个固定的行号. ...
- source insight 中tab键的设置
转:http://xinzero.com/source-insight-code-alignment-ended.html source insight代码对齐Tab键终极版 以前也写过一个sourc ...
- Source Insight 中调用Notepad++
options>custom commands 指令为 "E:\Program Files (x86)\Notepad++\notepad++.exe" %f 其中%f表示S ...
- Source Insight 中的 Auto Indenting
编码过程中,希望输入花括号时能自动对齐,Source Insigth 应如何设置? 先来看一下Source Insight 中的帮助. “ Auto Indenting The auto-indent ...
- 代码阅读工具:Source Navigator和Source Insight
(摘自http://www.cnblogs.com/yc_sunniwell/archive/2010/08/25/1808322.html) 一.Source Insight实用技巧: Source ...
- 【FLYabroad 】微软内部代码检查工具 (Microsoft Source Analysis for C#)[转]
SourceAnalysis (StyleCop)的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读性. 早就听说了微软内部的静态代码检查和代码强制格式美化工具 StyleCop ...
- Source Insight中的多行注释
转自:http://www.cnblogs.com/dongzhiquan/archive/2013/03/04/2943448.html 我们经常要对一整段代码进行注释,很多代码编辑器都提供了这样的 ...
随机推荐
- kindle
http://www.mindmap8.com/Kindle_Paperwhite/20130726266.html http://blog.csdn.net/felomeng/article/det ...
- Form 对象的集合
<html> <body id="myBody" class="myBody"> <form id="myForm&qu ...
- myeclipse 编码问题
在使用eclipse+MyEclipse开发中,许多文件编码默认是ISO-8859-1,不支持中文(如常用的JSP),这样我们每次建文件都要手动改编码,其实我们可以在设置文件默认编码,今后再创建时就不 ...
- Android Studio: 我解决的DEX出错。
今天开始使用了Android Studio.感觉很方便,很强大.因为它还集成了SVN,GIT等版本管理工具. 由于工程在CheckOut下来后想直接在终端上运行,在引入外部jar包之后开始运行啦,结果 ...
- 利用Inltellj创建javadoc ,用jd2chm创建chm
现在有些框架都不带javadoc 就需要自己去生成,而且真正用起来还是chm的最方便,所以写篇日志记录一下 下面我就拿struts2的源码来来举个栗子 1.第一步:创建一个空的java项目,导入框架源 ...
- c#yield,IEnumerable,IEnumerator
foreach 在编译成IL后,实际代码如下: 即:foreach实际上是先调用可枚举对象的GetEnumerator方法,得到一个Enumerator对象,然后对Enumerator进行while循 ...
- a+b(用子函数)
今天编的一个较简单的函数调用的程序 题目:a+b(用子函数) 程序 #include<stdio.h> void addition() { int a,b; scanf("%d ...
- 343. Integer Break -- Avota
问题描述: Given a positive integer n, break it into the sum of at least two positive integers and maximi ...
- 【实习记】2014-08-23网络安全XSS与CSRF总结
XSS:脚本中的不速之客XSS:跨站脚本(Cross-site scripting)CSRF:冒充用户之手CSRF:跨站请求伪造(Cross-site request forgery) 谷歌搜 ...
- cookie : 存储数据
cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据 1.不同的浏览器存放的cookie位置不一样,也是不能通用的 2.cookie的存储 ...