我喜欢 Eclipse 中的“组织导入”命令,它可以隐式添加和删除导入到源文件中的类(如在 Java 或 ActionScript 中)。
Xcode 中是否有命令可以根据文件中引用的类来更新 .m Objective-C 文件顶部的
#import
指令?
您可以通过创建一个 Automator 操作并在 Xcode 以及 Mac OS X 中的任何地方使用它来完成此操作。为此,请执行以下操作:
sort | uniq
作为脚本并选中“输出替换所选文本”复选框保存后,您只需在 Xcode 中选择导入,右键单击并选择“排序和唯一”操作即可组织导入。
这不如 Eclipse 或 IntelliJ 中组织导入操作那么好,因为它不会删除未使用的内容等。但总比没有好。
PS:从 WWDC 2012 会议中获得 - 会议 402 使用 Xcode 高效工作(从 6:15 开始)
编辑
我开始使用 AppCode,JetBrains 的 Objective-C IDE,它具有“组织导入”等功能。您应该查看一下:http://www.jetbrains.com/objc/。
我正在解决此问题,因为当前不是 Xcode 的功能:(
我发现 Cedar Shortcuts 至少是可用的。它不如 Eclipse 的导入功能(它不组织导入),但它可以让您不必转到类文件的顶部并键入导入语句。使用此插件,您只需将光标放在需要导入的类上,然后按 Ctrl + Option + I。这是 github 项目。 https://github.com/cppforlife/CedarShortcuts
我制作了一个小型 Xcode 插件来对标题进行排序并使用快捷方式删除文件的重复项,您可以查看一下! - https://github.com/insanoid/CleanHeaders-Xcode
Jetbrains 的 AppCode 可以做到这一点。
Swiftlint 有一个选择加入规则,如果选择,将自动按字母顺序对导入进行排序。
将
- sorted_imports
添加到 .swiftlint.yml 文件中的 opt_in_rules
下。
在项目根目录(与存储 swiftlint.yml 相同的位置)运行
swiftlint --fix
终端命令。
是的。就像在 Eclipse 中一样,这将是一个很棒的功能,因为在 XCode (Cocoa Touch) 中进行开发确实需要大量的类导入,而这些导入并不容易记住,而 Eclipse 中的 Android 开发通过简单的按键组合来解决这个问题,从而节省了大量时间!希望 XCode 尽快有办法做到这一点!
WordService(免费软件)提供了一项可在任何可以(除其他外)对行进行排序的 Cocoa 应用程序中使用的服务。
或者,您可以使用 Xcode 扩展,例如 Imp