«Сортировка строк в выделении» для Xcode 4 - PullRequest
17 голосов
/ 12 ноября 2011

Мне очень нравится функция Textmate "Sort Lines in Selection". Есть ли что-то похожее для Xcode 4? Если нет, то как лучше всего интегрировать такую ​​функцию (плагин, Applescript, ...)?

Ответы [ 5 ]

46 голосов
/ 12 ноября 2011

Вы можете сделать это с Automator в Lion.

  • Запустите Automator и выберите «Service»
  • Найдите и перетащите «Run Shell Script» на панель рабочего процесса
  • Выберите «Вывод заменяет выделенный текст»
  • Введите sort -f в текстовое поле «Выполнить сценарий оболочки»
  • Сохранить

Теперь вы можете сортировать строки в любом текстовом поле.Выделите текст и щелкните правой кнопкой мыши или щелкните «Control» и выберите службу, которую вы только что создали.

enter image description here

2 голосов
/ 24 сентября 2016

Спустя 4 года Xcode все еще не имеет этой встроенной функции, но теперь он поддерживает расширения. Итак, вы идете: «xcsort» является расширением сортировка текста в Xcode 8. Добавлена ​​команда для сортировки строк в выделении.

1 голос
/ 03 апреля 2019

Для пользователей macOS 10.14+ (Mojave), которые ищут ответ epatel, Automator переименовал Services в Quick Action.Я был потерян на мгновение, пока я не понял это.

1 голос
/ 09 декабря 2012

В 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 по умолчанию не поддерживают Unicode в среде, используемой сценарием do shell.

1 голос
/ 12 ноября 2011

Как

В 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 для этого.

...