我喜欢Eclipse中的“OrganizeImports”命令,它可以隐式地添加和删除导入到源文件中的类(就像Java或JavaScript中那样)。Xcode中是否有一个命令可以根据文件中引用的类更新.m xml-C文件顶部的#import指令?
#import
gywdnpxw1#
你可以通过创建一个Automator action来实现这一点,并在Xcode以及Mac OS X中的任何地方使用它。1.启动Automator ->新建1.选择“快速操作”(或旧版MacOS/Automator上的“服务”)1.添加“运行shell脚本”操作1.使用sort | uniq作为脚本并选中“输出替换选定文本”复选框1.保存并给予一个名称(例如“sort & unique”)1.选中“输出替换选定文本”保存后,您可以在Xcode中选择您的导入,右键单击并选择“sort & unique”操作来组织您的导入。这不如Eclipse或IntelliJ中的组织导入操作好,因为它不会删除未使用的东西等,但总比没有好。PS:从WWDC 2012 Sessions - Session 402 Working Effeciently with Xcode(从6:15开始)
sort | uniq
编辑
我开始使用JetBrains的AppCode,它是JetBrains开发的一个CIDE,它有“组织导入”这样的功能。你应该看看它:http://www.jetbrains.com/objc/。
lf5gs5x22#
我正在解决这个问题,因为它目前不是Xcode的一个功能:(
yks3o0rb3#
我发现Cedar Shortcuts至少是可用的。它不如Eclipse的导入功能(它不组织导入),但它可以让你不必转到类文件的顶部并键入导入语句。使用这个插件,你只需将光标放在需要导入的类上,然后按Ctrl + Option + I。这是github项目。https://github.com/cppforlife/CedarShortcuts
qzlgjiam4#
我做了一个小的Xcode插件来排序标题和删除文件的重复与快捷方式,你可以检查出来!-https://github.com/insanoid/CleanHeaders-Xcode
ie3xauqp5#
AppCode from Jetbrains可以做到这一点。
bkkx9g8r6#
Swiftlint有一个选择规则,如果选择,将自动按顺序对导入进行排序。
将- sorted_imports添加到opt_in_rules下的.swiftlint.yml文件中。在项目根目录下运行swiftlint --fix终端命令(与存储swiftlint.yml的目录相同)。
- sorted_imports
opt_in_rules
swiftlint --fix
j8ag8udp7#
是的。就像在Eclipse中一样,这将是一个很棒的功能,因为在XCode(可可Touch)中开发确实需要相当多的类导入,这些导入不容易记住,而在Eclipse中进行Android开发可以通过一个简单的导入组合来解决这个问题,节省了很多时间!希望很快就有一种方法可以在XCode中做到这一点!
8tntrjer8#
来自德文郡科技公司的WordService(免费软件)提供了一种服务,可以在任何可可应用程序中使用,该应用程序可以(在其他应用程序中)对行进行排序。
2lpgd9689#
或者,您可以使用Xcode扩展,例如Imp
9条答案
按热度按时间gywdnpxw1#
你可以通过创建一个Automator action来实现这一点,并在Xcode以及Mac OS X中的任何地方使用它。
1.启动Automator ->新建
1.选择“快速操作”(或旧版MacOS/Automator上的“服务”)
1.添加“运行shell脚本”操作
1.使用
sort | uniq
作为脚本并选中“输出替换选定文本”复选框1.保存并给予一个名称(例如“sort & unique”)
1.选中“输出替换选定文本”
保存后,您可以在Xcode中选择您的导入,右键单击并选择“sort & unique”操作来组织您的导入。
这不如Eclipse或IntelliJ中的组织导入操作好,因为它不会删除未使用的东西等,但总比没有好。
PS:从WWDC 2012 Sessions - Session 402 Working Effeciently with Xcode(从6:15开始)
编辑
我开始使用JetBrains的AppCode,它是JetBrains开发的一个CIDE,它有“组织导入”这样的功能。你应该看看它:http://www.jetbrains.com/objc/。
lf5gs5x22#
我正在解决这个问题,因为它目前不是Xcode的一个功能:(
yks3o0rb3#
我发现Cedar Shortcuts至少是可用的。它不如Eclipse的导入功能(它不组织导入),但它可以让你不必转到类文件的顶部并键入导入语句。使用这个插件,你只需将光标放在需要导入的类上,然后按Ctrl + Option + I。这是github项目。https://github.com/cppforlife/CedarShortcuts
qzlgjiam4#
我做了一个小的Xcode插件来排序标题和删除文件的重复与快捷方式,你可以检查出来!-https://github.com/insanoid/CleanHeaders-Xcode
ie3xauqp5#
AppCode from Jetbrains可以做到这一点。
bkkx9g8r6#
Swiftlint有一个选择规则,如果选择,将自动按顺序对导入进行排序。
将
- sorted_imports
添加到opt_in_rules
下的.swiftlint.yml文件中。在项目根目录下运行
swiftlint --fix
终端命令(与存储swiftlint.yml的目录相同)。j8ag8udp7#
是的。就像在Eclipse中一样,这将是一个很棒的功能,因为在XCode(可可Touch)中开发确实需要相当多的类导入,这些导入不容易记住,而在Eclipse中进行Android开发可以通过一个简单的导入组合来解决这个问题,节省了很多时间!希望很快就有一种方法可以在XCode中做到这一点!
8tntrjer8#
来自德文郡科技公司的WordService(免费软件)提供了一种服务,可以在任何可可应用程序中使用,该应用程序可以(在其他应用程序中)对行进行排序。
2lpgd9689#
或者,您可以使用Xcode扩展,例如Imp