from:tinyfool的新杂志
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文件里的设置,每个选项都有详细的说明,这里就不再赘述了。
相关推荐
只需在您的Xcode项目中添加CodeFormatter目录即可: 基于Xcode快捷方式的代码格式设置:在当前工作空间中格式化修改后的源代码的快捷方式自动代码格式化:在您的项目中添加一个构建阶段,以便在构建应用程序时格式...
在这个工作流中,开发者可能已经预设了调用Uncrustify来格式化Objective-C代码的命令。安装并启用此Workflow后,开发者可以直接在Alfred中输入特定的触发词,快速对选定的代码文件或者整个项目进行格式化,极大地...
"Xcode格式化工具"就是用于自动整理和格式化代码的插件或功能。 在Xcode中,内置的代码格式化工具可能无法满足所有开发者的需求,例如,某些开发者可能更倾向于遵循特定的编码规范,如Google、Apple或者自定义的...
BBUncrustifyPlugin是基于Uncrustify工具的一个Xcode插件,Uncrustify是一款开源的源代码格式化器,支持多种编程语言,包括C、C++、Objective-C、C#等。这个插件将Uncrustify的功能集成到Xcode中,使得开发者可以...
在Xcode中安装BBUncrustifyPlugin后,开发者可以在编辑器中右键选择"BB Uncrustify"菜单项,或者设置快捷键来快速调用代码格式化功能。插件会将当前文件按照Uncrustify的规则进行格式化,并实时显示效果。此外,为了...
总的来说,Swift代码风格管理涉及多个方面:遵循官方编码指南,利用自动化工具进行格式化和linting,以及在团队和项目中建立统一的风格规范。通过这些措施,我们可以提高代码质量,增强团队协作,降低维护成本。在...
`XcodeFormater`是一款专为Xcode设计的插件,旨在帮助开发者自动格式化Objective-C、Swift等语言的代码,确保代码风格规范,减少手动调整代码格式的时间。 **1. Xcode 插件介绍** Xcode插件是一种扩展Xcode功能的...