如何为代码自动格式化设置Xcode插件

时间:2009-02-18 15:23:35

标签: objective-c xcode

我正在寻找一个在XCode中自动格式化Objective-c代码的插件,拥有一组可选的样式格式也非常有用,

我的目标是遵循Google的代码约定: http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml作为开头,我们非常感谢您的帮助。

6 个答案:

答案 0 :(得分:45)

2013年4月更新

正如Roger Nolan和rcw3建议的那样,你可以通过Uncrustify继续前进。最新发布的版本可以下载here


集成到Xcode

与Xcode的集成取决于安装的Xcode版本。

  • Xcode 4.6&较新的

BenoîtBourdon的BBUncrustifyPlugin-Xcode

此插件可直接从Xcode的“编辑”菜单(“Uncrustify Selected Files”,“Uncrustify Active File”和“Uncrustify Selected Lines”)访问Uncrustify。只需构建项目,即可编译和安装插件。

截至2013年4月2日,Uncrustify 0.60和Uncrustify配置文件包含在插件中。要使用自定义Uncrustify配置文件,请务必阅读标题为“如何自定义Uncrustify配置?”的部分。 README.md

注意:要从命令行使用Uncrustify,例如作为git hook的一部分,我建议单独构建和安装Uncrustify。为了保持一致性,我还建议将插件附带的Uncrustify版本替换为独立构建和安装的Uncrustify版本的链接。以下是如何做到这一点:

cd ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/UncrustifyPlugin.xcplugin/Contents/Resources
mv uncrustify uncrustify.orig
ln -s /usr/local/bin/uncrustify uncrustify
  • Xcode 4.x

Jonah Williams'Code Formatting in Xcode 4

  • Xcode 3.x

Jonah Williams'Code Formatting in Xcode


Uncrustify配置文件示例

我用于Objective-C的Uncrustify 0.60配置文件位于here


更新Uncrustify配置文件以获取新版本的Uncrustify

要更新Uncrustify配置文件以获取新版本的Uncrustify,请启动终端并输入:

mv uncrustify.cfg uncrustify.cfg.old
uncrustify -c uncrustify.cfg.old --update-config > uncrustify.cfg

要查看对Uncrustify配置所做的更改,请在终端类型中输入:

diff uncrustify.cfg.old uncrustify.cfg

查看Uncrustify配置文件的文档版本

要查看Uncrustify配置文件的文档版本,请启动终端并键入:

uncrustify -c uncrustify.cfg --show-config

答案 1 :(得分:8)

XCode内置了代码格式化程序 - 它有点基本但可以重新缩进代码。首先在Xcode(as mouviciel suggests)中设置缩进首选项。然后选择要重新注入的源,并选择“编辑”|格式|重新缩进。

如果你想更进一步,Hackertoys有adding uncrustify support到Xcode的说明。我没试过这个。

答案 2 :(得分:3)

Jetbrains的AppCode有一个非常好的代码格式化程序。根据我的口味,非常难以理解。

答案 3 :(得分:2)

在修改了多个外部格式化程序和弱内部xcode格式化程序之后,我终于以unrustify解决了问题。 Uncrustify具有相当好的Objective-C支持,可以轻松地与xcode集成为用户脚本,并为xcode本身支持的几乎所有语言提供集中格式化器。

xcode最大的障碍是令人生畏的配置文件。我的建议,取一个提供的样本配置(ben2.cfg非常好),在objc.cfg示例中合并,并根据需要进行调整。

答案 4 :(得分:1)

据报道,bcpp在obj-c上工作得很好,而且它也有一个TextMate插件。

答案 5 :(得分:0)

部分答案是可以在Xcode中设置一些小东西,作为2空格缩进。请参阅Xcode工作区指南中的Indentation Preferences