【发布时间】:2008-10-04 16:20:00
【问题描述】:
我有一个格式有些混乱的 Objective-C 代码库。有没有办法让 Xcode 重新格式化整个项目以符合编码标准(即正确缩进、空格和制表符等)?是否有其他工具可以做到这一点?
【问题讨论】:
标签: objective-c cocoa xcode
我有一个格式有些混乱的 Objective-C 代码库。有没有办法让 Xcode 重新格式化整个项目以符合编码标准(即正确缩进、空格和制表符等)?是否有其他工具可以做到这一点?
【问题讨论】:
标签: objective-c cocoa xcode
去壳:http://uncrustify.sourceforge.net/
C、C++、C#、ObjectiveC、D、Java、Pawn 和 VLA 的源代码美化器
如果你想要更简单的东西,你可以通过简单地去掉所有的空格/换行符,在;{}上添加一个新的换行符,然后手动重新-缩进代码。它不会接近完美布局的代码,并且重新缩进对大代码来说可能是一种痛苦,但它会保持一致。
【讨论】:
一个简单但有限的解决方案是 Xcode 中的 Edit->Format->Re-Indent,它将应用您当前的缩进设置(Xcode->Preferences...->Indentation)。
【讨论】:
根据这个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.
【讨论】:
来自 Xcode:
1) 更改缩进首选项以匹配您想要的。
2) 选择要处理的文件并全选 (cmd-A)
3) 多次左移 (cmd-[) 直到所有行都在窗口的左边缘。
4) 使用重新缩进选择(从 Edit->Format-> 或从右键单击上下文菜单)
一次只能处理一个文件,而不是整个项目。也只处理缩进。
【讨论】:
在修补了多个外部格式化程序和弱的内部 xcode 格式化程序之后,我最终选择了 uncrustify。 Uncrustify 具有相当好的 Objective-C 支持,可以作为用户脚本轻松地与 xcode 集成,并为 xcode 原生支持的几乎所有语言提供集中格式化程序。
uncrustify 的最大障碍是令人生畏的配置文件。我的建议是,采用提供的示例配置之一(ben2.cfg 非常好),合并到 objc.cfg 示例中,并根据需要进行调整。
【讨论】:
在不同的上下文中使用 uncrustify 的一种方法是
【讨论】:
“GTMXcodePlugin”的唯一功能,又名 Google Toolbox For Mac Xcode 插件 - 通过有效、安全地修剪空白,在整理 Objective-c 代码方面做得很好。
The GTM Xcode 4 plugin 目前仅在“编辑”菜单末尾添加“清理空白”菜单项,以从文本文件中删除不必要的行尾空白。希望我们能尽快添加更多功能。它仅针对 Xcode 4.2 进行了测试。
【讨论】:
在撰写本文时,最新、最好的方法是SpaceCommander。它基于 clang 之上,并具有许多其他简洁的功能,并且在撰写本文时一直在维护和活跃。
【讨论】: