【问题标题】:Objective-C TidyObjective-C 整洁
【发布时间】:2008-10-04 16:20:00
【问题描述】:

我有一个格式有些混乱的 Objective-C 代码库。有没有办法让 Xcode 重新格式化整个项目以符合编码标准(即正确缩进、空格和制表符等)?是否有其他工具可以做到这一点?

【问题讨论】:

    标签: objective-c cocoa xcode


    【解决方案1】:

    去壳:http://uncrustify.sourceforge.net/

    C、C++、C#、ObjectiveC、D、Java、Pawn 和 VLA 的源代码美化器

    如果你想要更简单的东西,你可以通过简单地去掉所有的空格/换行符,在;{}上添加一个新的换行符,然后手动重新-缩进代码。它不会接近完美布局的代码,并且重新缩进对大代码来说可能是一种痛苦,但它会保持一致。

    【讨论】:

    • 仅仅因为项目的名称而挖掘
    • 我现在也使用 uncrustify 有一段时间了,我也可以投票给它。
    【解决方案2】:

    一个简单但有限的解决方案是 Xcode 中的 Edit->Format->Re-Indent,它将应用您当前的缩进设置(Xcode->Preferences...->Indentation)。

    【讨论】:

    • 填充省略号:Xcode->Preferences->Text Editing->Indentation
    【解决方案3】:

    根据这个blog postbcpp 与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.
    

    【讨论】:

    • 它在我的 OS X 10.5.5 机器上。我想它可能会作为开发人员工具的一部分安装。
    【解决方案4】:

    来自 Xcode:

    1) 更改缩进首选项以匹配您想要的。

    2) 选择要处理的文件并全选 (cmd-A)

    3) 多次左移 (cmd-[) 直到所有行都在窗口的左边缘。

    4) 使用重新缩进选择(从 Edit->Format-> 或从右键单击上下文菜单)

    一次只能处理一个文件,而不是整个项目。也只处理缩进。

    【讨论】:

      【解决方案5】:

      在修补了多个外部格式化程序和弱的内部 xcode 格式化程序之后,我最终选择了 uncrustify。 Uncrustify 具有相当好的 Objective-C 支持,可以作为用户脚本轻松地与 xcode 集成,并为 xcode 原生支持的几乎所有语言提供集中格式化程序。

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

      【讨论】:

        【解决方案6】:

        在不同的上下文中使用 uncrustify 的一种方法是

        http://universalindent.sourceforge.net/

        【讨论】:

          【解决方案7】:

          “GTMXcodePlugin”的唯一功能,又名 Google Toolbox For Mac Xcode 插件 - 通过有效、安全地修剪空白,在整理 Objective-c 代码方面做得很好。

          The GTM Xcode 4 plugin 目前仅在“编辑”菜单末尾添加“清理空白”菜单项,以从文本文件中删除不必要的行尾空白。希望我们能尽快添加更多功能。它仅针对 Xcode 4.2 进行了测试。

          【讨论】:

            【解决方案8】:

            在撰写本文时,最新、最好的方法是SpaceCommander。它基于 clang 之上,并具有许多其他简洁的功能,并且在撰写本文时一直在维护和活跃。

            【讨论】:

              猜你喜欢
              • 2015-01-24
              • 2013-08-23
              • 1970-01-01
              • 1970-01-01
              • 2012-05-03
              • 2016-01-03
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多