`
一个上进的女程序员
  • 浏览: 4553 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用Uncrustify在Xcode中格式化Objective-C代码

阅读更多
Xcode是开发iOS应用和Mac OS应用的必备工具,但这个工具的辅助功能相对于Eclipse之类的IDE来说,还是比较少,在Eclipse里只要按Ctrl+Shift+F,就可以将Java代码格式化得非常好看。而在Xcode里,只有Re-Indent(Ctrl+I)这一个调整缩进的功能,显然不够用。

如果想要完成完备的代码格式化,得要借助Uncrustify这样的工具。更进一步,我们用Automate配置一个针对Text的Service,再加上快捷键,就可以在Xcode里间接实现和Eclipse同样效果的代码格式化功能了。

首先安装Uncrustify工具。安装的方法很多,推荐用Homebrew来安装。如果机器上没有Homebrew,先用这条命令安装:

/usr/bin/ruby -e "$(curl -fksSL http://u.aodaren.com/homebrew)"

安装好Homebrew后,用这条命令安装Uncrustify:

brew install uncrustify

详细的Automate配置步骤可以参考这篇文章,如果不想自己配置,也可以直接下载已经配置好的workflow包,复制到~/Library/Services/,并解压就可以了:

mv Uncrustify-Objective-C.workflow.tar.gz ~/Library/Services/
cd ~/Library/Services/
tar zxvf Uncrustify-Objective-C.workflow.tar.gz

下载针对Objective-C语言的Uncrustify配置文件,移动到 ~/ 目录,并更名为 .uncrustify_obj_c.cfg,注意目标文件名前面有个 .:

mv uncrustify_obj_c.txt ~/.uncrustify_obj_c.cfg

如果上面已经顺利完成,那么现在到Xcode里选中一段代码,点右键,在Services里面应该已经有一个Uncrustify Objective-C服务了。选择后,即可将代码格式化。当然,如果每次都点鼠标显然太麻烦,下面来配置快捷键。

点屏幕左上角的苹果图标,选 System Preferences – Keyboard – Keyboard Shortcuts – Services,在Text分区里,找到刚添加的服务Uncrustify Objective-C,给这个服务加上快捷键。注意不要和Xcode里其它快捷键冲突,推荐设置为:Opt+Cmd+字母O。

这样以后在Xcode里,先用Cmd+A全选代码,再用Opt+Cmd+O来格式化代码。整个效果和Eclipse基本上差不多。

最后,如果对格式有不同的需求,还可以修改cfg文件里的设置,每个选项都有详细的说明,这里就不再赘述了。
分享到:
评论

相关推荐

    Objective-C基础教程(入门教程).pdf

    18. Objective-C与C/C++的混合编程:Objective-C与C语言兼容,因此可以轻松地在Objective-C程序中使用C代码。同时,它也能够与C++代码进行交互,但需要遵守特定的规则和约定。 19. Import指令:在Objective-C中,@...

    《Objective-C基础教程》中文版(含源代码)

    1. **Objective-C简介**:介绍Objective-C的历史、特点和它在Apple生态系统中的地位,解释为什么它是iOS开发的首选语言。 2. **面向对象编程基础**:讲解类、对象、继承、多态和封装等面向对象编程的核心概念,帮助...

    基于Mac OS+Xcode 3.0的Objective-C工程,封装好的NSURLDownload网络下载类

    在本教程中,我们将深入探讨如何在Mac OS上使用Xcode 3.0和Objective-C实现基于NSURLDownload的网络下载功能。 首先,NSURLDownload是Foundation框架的一部分,它允许开发者在后台线程中异步下载文件。这个特性对于...

    Objective-C代码风格指南

    这样做可以为在Swift中使用Objective-C代码提供更多类型安全信息。 总之,Objective-C代码风格指南是编写高质量Objective-C代码的参考,其内容涉及了代码编写的方方面面,旨在提高代码的可读性、可维护性和效率。...

    Objective-C编程全解最新版.pdf.zip

    12. **Interface Builder**:Xcode中的Interface Builder允许开发者通过拖放方式设计UI,与代码结合使用,实现快速原型和可视化布局。 13. **Storyboard**:在iOS开发中,Storyboard文件用于组合多个视图控制器和...

    Objective-C程序设计 第6版 pdf

    Objective-C是一种强大的面向对象编程语言,它在Apple的Mac OS X和iOS操作系统中扮演着核心角色,用于构建高质量的应用程序。《Objective-C程序设计 第6版》是学习和深入理解这种语言的重要参考资料,旨在帮助开发者...

    Visual Studio 2015 编译 objective-c

    由于Objective-C通常与C++混合使用,可能需要在项目设置中指定编译器选项,以及将Objective-C编译器与Visual C++的链接器进行适配。 5. 编译和链接代码。使用Visual Studio的构建系统编译Objective-C代码,并链接...

    Objective-C程序设计(第4版)(全球最畅销Objective-C编程书籍)

     《Objective-C 程序设计(第4版)》已经为iOS 5和Xcode4.2中的重大变更做了全面更新,最大的改动是引入了自动引用计数(ARC),并详细说明了如何在Objective-C编程过程中使用ARC提升和简化内存管理。

    Objective-C在XCode上调用C++的代码

    本篇文章将详细介绍如何在Xcode项目中集成C++,使得Objective-C代码能够顺利调用C++的代码。 首先,我们需要创建一个新的Xcode项目。选择"Single View App"模板,确保"Use C++ Language Dialect"设置为最新的C++...

    objective-c基础教程

    - **直接嵌入C代码**: 可以直接在Objective-C代码中嵌入C代码,无需任何额外的转换或封装。 - **封装C/C++库**: 通过Objective-C的桥接机制,可以轻松地将现有的C/C++库封装成Objective-C的类或框架,从而方便地在...

    Objective-C基础教程源代码 Learn objective-C on the Mac Mark Dalrymple著书

    Objective-C是一种强大的面向对象编程语言,特别是在Apple的iOS和macOS平台上广泛使用。它是C语言的超集,融入了Smalltalk的关键概念,如消息传递和动态类型。《Learn Objective-C on the Mac》由Mark Dalrymple撰写...

    Objective-C专业书籍汇总pdf

    此外,可能会对比两种语言的类系统,解释如何在Objective-C中使用C++代码,以及如何在C++项目中集成Objective-C。 通过阅读这三本书,读者将全面了解Objective-C的各个方面,从基础语法到高级特性和最佳实践。无论...

    在同一个项目中使用Swift 和 Objective-C

    2. **处理Swift使用的Objective-C代码**: 如果你的Swift代码中使用了一些自定义的Objective-C代码,那么在导入Swift Generated Header之前,需要首先在Objective-C文件中导入这些自定义Objective-C代码的头文件。...

    Xcode 使用技巧 Objective-C学习之路 iphone

    - 对于习惯使用快捷键的用户,可以使用`Ctrl+A`全选文本,然后使用`Ctrl+X`和`Ctrl+V`来进行复制粘贴,Xcode会在粘贴过程中自动格式化代码。 - **代码缩进**: - 对于单行代码,可以直接使用`Tab`键进行缩进。 -...

    在Objective-C中使用C++

    Objective-C是C语言的超集,这意味着任何有效的C代码都可以在Objective-C中使用。由于C++也是C的超集,因此Objective-C也能够直接支持C++代码。开发者可以在Objective-C类中嵌入C++代码,反之亦然。 2. **命名空间...

    学习Objective-C: 入门教程

    此外,Objective-C还支持.mm文件类型,允许在Objective-C代码中混合使用C++代码,这对于需要高性能计算的场景非常有用。 #### 示例代码分析 在Objective-C中定义一个类,如MyClass,通常包含以下结构: 1. **类的...

    Learning Cocoa With Objective-C

    《Learning Cocoa With Objective-C》是一本专为初学者设计的Cocoa编程教程,它深入浅出地介绍了如何在苹果的Mac OS X和iOS平台上开发应用程序。这本书以其丰富的图文并茂的讲解方式,使得复杂的编程概念变得易于...

    objective-c的一些代码

    学习Objective-C的同时,开发者还需要了解Xcode集成开发环境(IDE)的使用,以及Apple的开发工具如Interface Builder来设计用户界面。此外,理解Model-View-Controller (MVC)设计模式对于构建iOS应用至关重要,它将...

    Objective-C基础教程 中文 PDF 清晰版 [31M]

    本书结合理论知识与示例程序,全面而系统地讲述Objective-C编程的相关内容,包括Objective-C在C的基础上引入的特性和Cocoa工具包的功能及其中的框架,以及继承、复合、源文件组织等众多重要的面向对象编程技术。...

Global site tag (gtag.js) - Google Analytics