我非常喜欢Textmate的“选择中的排序行”功能。 Xcode 4有类似的东西吗?如果没有,那么整合这样一个功能(插件,Applescript,......)的最佳方式是什么?
答案 0 :(得分:46)
您可以使用Lion中的Automator执行此操作。
sort -f
现在您可以在任何文本字段中对行进行排序。选择一些文本并右键单击或按住Control键并选择刚刚创建的服务。
答案 1 :(得分:2)
4年后,Xcode仍然没有内置此功能,但现在它支持扩展。所以你走了:" xcsort"是一个扩展 sort text in Xcode 8.它添加了一个命令来对选择中的行进行排序。
答案 2 :(得分:1)
如何强>
在TextMate中,打开包并查看它们是如何实现的;)
具体来说,他们使用sort -f
作为该命令。
在Xcode中
Xc4不提供外部命令,但Xc3确实......您使用的是什么版本?
以下是Xc3脚本系统的概述:http://www.mactech.com/articles/mactech/Vol.23/23.01/2301XCode/index.html
Xc4允许您通过“行为”运行外部脚本,但不能传递或返回文本/选择。
<强>的AppleScript 强>
你可以用AppleScript做到这一点......每当我尝试做任何与AS + Xcode无关的事情时,它都没有非常可靠地工作(如果有的话)。但这与Xc3一致 - 使用Xc4(统一用户界面和所有)可以更轻松地找到所需内容。
我只是使用TextMate。
答案 3 :(得分:1)
10.7和10.8上存在一个错误,在菜单栏中显示一次服务菜单之前,Automator服务的快捷方式并不总是有效。您仍然可以从上下文菜单中选择它们,但另一个选项是为脚本分配快捷方式,如下所示:
try
set old to the clipboard as record
end try
try
tell application "System Events" to keystroke "c" using command down
do shell script "export LC_CTYPE=UTF-8; pbpaste | sort -fn | pbcopy"
tell application "System Events" to keystroke "v" using command down
delay 0.05
end try
try
set the clipboard to old
end try
当剪贴板为空时尝试获取剪贴板会导致错误。默认情况下,pbpaste和pbcopy在do shell脚本使用的环境中不支持Unicode。
答案 4 :(得分:1)
对于正在查看epatel答案的macOS 10.14+(Mojave)用户,Automator已将Services
重命名为Quick Action
。我迷路了片刻,直到我弄清楚了。