使用Uncrustify强化Xcode的源代码自动格式化功能
来源:互联网 发布:php 游戏源码 编辑:程序博客网 时间:2024/04/30 14:42
Xcode的源代码自动格式化比起Eclipse和Visual Studio(尤其是再挂上Visual Assist X)来说可以说是比较弱智,除了Structure里的简单Re-Indent外就没有什么能美化代码格式的方法了,今天由于实在忍受不了默认的大括号位置,决定找找有没有能代码格式美化的方法。
首先,看了下Xcode的偏好设置,果然没有像Eclipse那样自带设置代码格式的选项,于是开始查找有没有像AStyle之类的外挂工具能整合进Xcode用的,最后,幸运的发现了这个叫Uncrustify的工具,看网上很多人提到用这个配合Xcode进行源代码格式化处理。起初找到的整合方式是做成Services在Xcode中调用,并可以设置快捷键,如这里提到的方法:http://by-igotit.com/2012/03/auto-format-objective-c-code-in-xcode-with-uncrustify.html,刚想实验一下,又发现了github上的一个封装好的插件项目:https://github.com/benoitsan/BBUncrustifyPlugin-Xcode,比较了一下,感觉前者做法不如后者的Xcode插件方式专业,当然后者的项目页上提到只支持Xcode 4.6以上(包括目前还在beta中得5),不过也提到了有支持3的fork,不过我想现在应该没什么人还在用3了吧。
按照说明的方法下载下zip的项目,直接编译就会安装好插件了,然后重启Xcode就能看到Edit菜单多了3个新的选项:Uncrustify Selected Files, Uncrustify Active File, Uncrustify Selected Lines,字面意思不难理解,用起来也还算方便,支持undo,还可以设置对应的快捷键!
接下来得工作就是按自己的“口味”调整代码格式风格,这个插件的格式配置读取方式是这样:默认会使用位于~/Library/Application Support/Developer/Shared/Xcode/Plug-ins中的插件包内Resource中的uncrustify.cfg配置文件,如果需要自定义的话,可以有以下两种方式:
1.用户级自定义:将配置文件复制到~/.uncrustifyconfig, ~/uncrustify.cfg或~/.uncrustify/uncrustify.cfg,并进行修改。
2.项目级自定义:同样是复制配置文件,但是会在Xcode项目文件中以从里到外的顺序查找,配置文件位置结构如下
|-- workspace.xcworkspace|-- uncrustify.cfg|-- project folder|---- project.xcodeproj|---- Third Party Library Folder|------ uncrustify.cfg|-- An other project folder|---- An other project.xcodeproj|---- uncrustify.cfg
可以说自定义的方式还是非常全面的,不过一般自定义一个当前用户级的就可以了。修改配置文件可以直接用任何文本编辑器打开直接修改,或者用项目首页中提到的UncrustifyX可视化工具(传送门:https://github.com/ryanmaxwell/UncrustifyX)进行修改,推荐后者,比较直观!
- 使用Uncrustify强化Xcode的源代码自动格式化功能
- 使用Uncrustify强化Xcode的源代码自动格式化功能
- 使用Uncrustify在Xcode中格式化Objective-C代码
- 使用Uncrustify在Xcode中格式化Objective-C代码
- 使用Uncrustify在Xcode中格式化Objective-C代码
- 使用Uncrustify在Xcode中格式化Objective-C代码
- source insight 使用Uncrustify来格式化代码
- iOS开发-xcode使用-自动格式化代码
- Xcode自动格式化代码
- Xcode 代码格式化/自动排版
- Xcode 代码格式化/自动排版
- [Dreamweaver]html源代码自动格式化
- 使用AStyle格式化源代码
- Source Insight中集成Uncrustify格式化代码
- Source Insight中集成Uncrustify格式化代码
- Source Insight中集成Uncrustify格式化代码
- Source Insight中集成Uncrustify格式化代码
- Source Insight中集成Uncrustify格式化代码
- ARM、THUMB指令集
- Perf -- Linux下的系统性能调优工具,第 1 部分
- PHP_SELF、 SCRIPT_NAME、 REQUEST_URI区别
- 惯性测试转台
- linux tar.xz的解压方法
- 使用Uncrustify强化Xcode的源代码自动格式化功能
- Excel VBA 在立即窗口打印出所有shape的名称
- Java程序员在写SQL程序时候常犯的10个错误
- 在java代码中进行px与dip(dp)、px与sp单位值的转换(转)------工具类
- C++类中定义线程
- fusioncharts 中 图表flash置顶 解决方案
- 如何使用log4j记录日志
- 自定义ANDROID标题栏TITLEBAR布局
- 黑马学习笔记——如何改变gridview中gridline的样式(颜色等)!