Xcode 4中的“选择中的行排序”

时间:2011-11-12 10:49:08

标签: xcode sorting plugins applescript textmate

我非常喜欢Textmate的“选择中的排序行”功能。 Xcode 4有类似的东西吗?如果没有,那么整合这样一个功能(插件,Applescript,......)的最佳方式是什么?

5 个答案:

答案 0 :(得分:46)

您可以使用Lion中的Automator执行此操作。

  • 启动Automator并选择“服务”
  • 查找“Run Shell Script”并将其拖动到工作流程面板
  • 选择“输出替换所选文字”
  • 在“运行Shell脚本”文本域中输入sort -f
  • 保存

现在您可以在任何文本字段中对行进行排序。选择一些文本并右键单击或按住Control键并选择刚刚创建的服务。

enter image description here

答案 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。我迷路了片刻,直到我弄清楚了。