我有一个有点混乱的Objective-C代码库。有没有办法让Xcode重新格式化整个项目以符合编码标准(即正确缩进,空格v。制表符等)?还有其他工具可以实现这一目标吗?
答案 0 :(得分:22)
Uncrustify:http://uncrustify.sourceforge.net/
C,C ++,C#,ObjectiveC,D,Java,Pawn和VALA的源代码美化
如果你想要更简单的东西,你可以通过简单地剥离所有的空格/换行符,并在;
{
{{1}上添加新的换行符来获得某种方式并手动重新缩进代码。它不会是任何接近完美布局的代码,并且重新定义可能是大代码的痛苦,但它将是一致的。
答案 1 :(得分:8)
一个简单但有限的解决方案是Xcode中的Edit-> Format-> Re-Indent,它将应用您当前的缩进设置(Xcode-> Preferences ... - > Indentation)。
答案 2 :(得分:7)
根据此blog post,bcpp适用于Objective-C。
此外,工具缩进可能对您有所帮助。它的目标是普通C,但有很多选择可以帮助。我不知道它是否默认出现在OS X上。
NAME
indent - changes the appearance of a C program by inserting or deleting
whitespace.
SYNOPSIS
indent [options] [input-files]
indent [options] [single-input-file] [-o output-file]
indent --version
DESCRIPTION
This man page is generated from the file indent.texinfo. This is Ediâ
tion of "The indent Manual", for Indent Version , last updated .
The indent program can be used to make code easier to read. It can
also convert from one style of writing C to another.
indent understands a substantial amount about the syntax of C, but it
also attempts to cope with incomplete and misformed syntax.
答案 3 :(得分:5)
来自Xcode:
1)更改缩进首选项以匹配您想要的内容。
2)选择要处理的文件并选择全部(cmd-A)
3)向左移动(cmd- [)几次,直到所有线都位于窗口的左边缘。
4)使用重新缩进选择(从编辑 - >格式 - >;或从右键单击上下文菜单)
一次只能处理一个文件,而不是整个项目。也只处理缩进。
答案 4 :(得分:2)
在修改了多个外部格式化程序和弱内部xcode格式化程序之后,我终于以unrustify解决了问题。 Uncrustify具有相当好的Objective-C支持,可以轻松地与xcode集成为用户脚本,并为xcode本身支持的几乎所有语言提供集中格式化器。
unrustify最大的障碍是令人生畏的配置文件。我的建议,取一个提供的样本配置(ben2.cfg非常好),在objc.cfg示例中合并,并根据需要进行调整。
答案 5 :(得分:0)
在不同的环境中使用uncrustify的一种方法是
答案 6 :(得分:0)
“GTMXcodePlugin”的唯一功能,即 Google Toolbox For Mac Xcode Plugin - 通过有效,安全地修剪空格,很好地整理了Objective-c代码。
The GTM Xcode 4 plugin目前只在“编辑”菜单的末尾添加“清理空白”菜单项,以从文本文件中删除不必要的行尾空白。希望我们能尽快添加更多功能。它仅针对Xcode 4.2进行了测试。
答案 7 :(得分:0)
在撰写本文时,最新,最好的方法是SpaceCommander。它基于clang的顶部,并具有许多其他简洁的功能,并在撰写本文时保持活跃。