Подтвердить что ты не робот

"Сортировка линий в выборе" для Xcode 4

Мне нравится Textmate "Сортировка линий в выборе". Есть ли что-то подобное для Xcode 4? Если нет, то какой лучший способ интегрировать такую ​​функцию (плагин, Applescript,...)?

4b9b3361

Ответ 1

Вы можете сделать это с помощью Automator in Lion.

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

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

enter image description here

Ответ 2

Через 4 года Xcode до сих пор не имеет встроенной функции, но теперь поддерживает расширения. Итак, вы здесь: "xcsort" - это расширение сортировать текст в Xcode 8. Он добавляет команду для сортировки строк при выборе.

Ответ 3

Как

В TextMate откройте узел и посмотрите, как они его реализовали;)

В частности, они использовали sort -f для этой команды.

В Xcode

Xc4 не предлагает внешние команды, но Xc3 сделал... какую версию вы используете?

Вот обзор для системы Xc3 script: http://www.mactech.com/articles/mactech/Vol.23/23.01/2301XCode/index.html

Xc4 позволяет запускать внешний script через Behaviors, но вы не можете передавать или возвращать текст/выбор.

AppleScript

Вы можете сделать это с помощью AppleScript... каждый раз, когда я пытался сделать что-то нетривиальное с AS + Xcode, оно не получилось очень надежно (если вообще). Но это было с Xc3 - определение того, что вам нужно, может быть проще с Xc4 (унифицированный пользовательский интерфейс и все).

Я просто использую TextMate для этого.

Ответ 4

Там ошибка 10.7 и 10.8, где ярлыки для служб Automator не всегда работают до тех пор, пока меню служб не будет показано один раз из строки меню. Вы все же можете выбрать их из контекстного меню, но другой вариант - назначить ярлык для script следующим образом:

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 по умолчанию в среде, используемой оболочкой script.

Ответ 5

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