Objective-C中整理#import的工具

14
有关如何组织您的objective-c #import语句的讨论已经出现。在这个线程中,我们了解到如何手动完成此操作,而在这里,我们得知没有办法让Xcode自动完成此工作(例如,Java的Eclipse或C#的Visual Studio)。现在,我认为由于objective-c是非托管的,因此这项任务并不像Java或C#那样容易,但是,
有没有任何工具(Xcode插件或独立应用程序)可以帮助您清理导入语句?或更具体地说,有没有帮助您完成以下一个或多个任务的工具:
  • 添加缺失的#import@class语句
  • 删除未使用的#import@class语句
  • 根据使用情况将#import语句转换为@class语句或反之亦然
  • 更改#import@class语句的顺序,例如按字母顺序或按代码中首次使用的顺序
PS:以防有人认为这个问题不属于这里,我想它完全适用于程序员常用的软件工具实际可回答的仅针对编程职业的问题

你可以自己编写以下代码:sed -i".backup" 's/SEARCH_REGEX_^#import something/REPLACE_STRING/' "/path/to/my/project/*.[hm]" - http://www.grymoire.com/Unix/Sed.html - chown
1
对于最后一个项目,即导入语句的排序,您可以使用我在这里描述的 Automator 操作:https://dev59.com/KHI-5IYBdhLWcg3wVW3v#11178573 - Tim Büthe
1
很遗憾,到了2013年这些功能仍然不可用——我们已经拥有了一个很好的静态分析器clang、ARC等,因此IDE比以前更能理解我们的代码,但是Xcode仍然缺乏现代IDE基本功能。 - Jay
1个回答

2

AppCode 是我能想到的唯一具有这些功能的替代品。


4
就我个人而言,我不会因为一个微小的功能而更换集成开发环境。我花费在组织导入方面的时间确实微不足道。 - Chuck
我认为这仍然是一个有效的建议。虽然我还没有测试过,但如果你只是为了完成特定任务而使用它,并继续使用Xcode工作,那么购买它可能是值得的。 - Philipp Schlösser
Chuck:它确实允许您使用Xcode项目,因此您可以在AppCode中打开项目,进行所需的转换,然后跳回Xcode。我实际上并不使用这个工具,只是知道它的存在。 - Joshua Weinberg
实际上,对于删除未使用的 #import 语句,这个方法非常有效! - Philipp Schlösser
@Phlibbo:就像我说的,如果你花了那么多时间移动导入,那对我来说似乎很奇怪。我怀疑大多数开发人员在十年内不会花费超过10分钟的时间来移动导入。如果你每小时收费200美元,那么这段时间对你来说价值32美元。而仅仅启动AppCode一次并打开一个项目就会消耗大约四分之一的时间。我的意思是,你可以按照自己的喜好来做,但对我来说,这似乎很奇怪。 - Chuck
在 AppCode 中,Code > Optimize Imports...,或者 ^ + ⌥ + O - Jonathan F.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接