一种在Xcode中自动组织#imports的方法

时间:2009-12-15 05:28:43

标签: xcode import keyboard-shortcuts

我喜欢Eclipse中的“Organize Imports”命令,以隐式添加和删除导入到源文件中的类(如在Java或ActionScript中)。

Xcode中是否有命令根据文件中引用的类更新.m Objective-C文件顶部的#import指令?

9 个答案:

答案 0 :(得分:66)

您可以通过创建Automator操作并在Xcode以及Mac OS X中的任何位置使用该操作来执行此操作。为此,请执行以下操作:

  1. 启动Automator - >新
  2. 选择“服务”
  3. 添加“运行shell脚本”操作
  4. 使用sort | uniq作为脚本,并选中“输出替换所选文本”复选框
  5. 保存并为其命名(例如“sort& unique”)
  6. 选中“输出替换所选文字”
  7. 保存后,您只需在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)

来自Devon Technologies的

WordService(免费软件)提供了一种服务,可以在任何可以(以及其他)排序行的Cocoa应用程序中使用。

答案 7 :(得分:0)

或者,您可以使用Xcode扩展名,例如Imp

答案 8 :(得分:0)

Swiftlint 有一个选择加入规则,如果选择该规则,它将自动按字母顺序对导入进行排序。

- sorted_imports添加到opt_in_rules下的.swiftlint.yml文件中。

在项目根目录(与swiftlint.yml的存储位置相同)上运行swiftlint autocorrect终端命令。