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