Управление текстом в XCode, перемещение одной строки

codegolf'ish решение было бы больше похоже:

flipVal = (wParam == VK_F11) ? !flipVal : flipVal;
otherVal = (wParam == VK_F12) ? !otherVal : otherVal;
11
задан Jeffrey Harris 4 September 2009 в 16:15
поделиться

3 ответа

То, что вы хотите сделать, может быть достигнуто с помощью «Пользовательских сценариев» Xcode - и он, кстати, поставляется с парой сценариев, которые почти делают то, что вы хотите. (Я использую Xcode 3.2 здесь, но я думаю, что они также были там в 3.1)

Посмотрите в / Developer / Library / Xcode / User Scripts / ; там есть два приложения: Move Line Up.scpt и Move Line Down.scpt . Вот что находится в Переместить строку вверх :

(*
To edit this script, choose Save As... and save it in your home directory, then re-add it to the User Scripts list.
*)
using terms from application "Xcode"
    tell first text document
        set {startLine, endLine} to selected paragraph range

        if startLine > 1 then
            set theText to (paragraphs startLine through endLine)
            set theText to (theText as string)
            delete (paragraphs startLine through endLine)
            make new paragraph at beginning of paragraph (startLine - 1) with data theText
            set selected paragraph range to {startLine - 1, endLine - 1}
        else
            beep 1
        end if
    end tell
end using terms from

Они почти делают то, что вы хотите, за исключением того, что после этого они выделяют всю строку; Я не эксперт по приложениям, но вы, вероятно, захотите сохранить выбранный диапазон символов . Взгляните на словарь сценариев Xcode (в редакторе AppleScript, File -> Open Dictionary -> Xcode), чтобы узнать типы объектов, которыми вы можете манипулировать.

Вы можете добавить свои собственные сценарии в Xcode с помощью пункта меню «Редактировать пользовательские сценарии» в меню сценариев; и назначьте сочетания клавиш для сценариев в этом окне, дважды щелкнув в правом столбце рядом с записью для пункта меню сценария.

Вы также можете использовать сценарии оболочки (perl, python, bash и т. д.) в меню пользовательских скриптов, но они обрабатывают только выделенный фрагмент или весь файл, поэтому может оказаться немного тяжелым для перемещения одной строки вверх или вниз.

См. всю документацию по пользовательским скриптам здесь: http: // developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/XcodeWorkspace/310-User_Scrips/user_scripts.html

Надеюсь, это поможет!

6
ответ дан 3 December 2019 в 01:33
поделиться

Я думаю, ваш вопрос более общий, чем Xcode / emacs. Большинство IDE не могут делать то, что могут делать редакторы, и наоборот.

Я использую Xcode для «простых» вещей и компилирую / отлаживаю. Когда я хочу сделать много кодирования (хм ... редактирование текста), я открываю несколько файлов в одном Vim (без обид на emacs ... vim - мой выбор редактора) и использую все доступные уловки vim.

Я следуйте тому же процессу, когда мне нужно много писать код в Windows (Visual Studio). У меня VS открыт только для компиляции / отладки, но большую часть кода я пишу в отдельном окне Vim.

Мне не нужно ничего делать в Unix, потому что я просто открываю файл в Vim и запускаю Makefile из Vim, прыгая напрямую к ошибкам и так далее (: mak) ...

Я '

0
ответ дан 3 December 2019 в 01:33
поделиться

Кроме того, вы можете подключить emacs (или vi, или bbedit, или ed, я полагаю) к xcode, чтобы они разговаривали друг с другом. Когда вы говорите xcode открыть файл, он вызовет emacsclient и т. Д. Вы даже можете заставить emacs сообщить xcode, где поставить точку останова (я не помню, как, но я задал здесь вопрос некоторое время назад, и он отлично работает )

0
ответ дан 3 December 2019 в 01:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: