XCode копирует/удаляет строку

Вы, вероятно, хотите, чтобы родительские и дочерние узлы имели тип того же типа , что и сам узел, а не только некоторый тип , соответствующий Node. Это будет Self в определении протокола:

protocol Node {
    var parent: Self? { get set }
    var children: [Self] { get set }
}

Теперь вы можете определить конкретный класс (см. Требование к протоколу Swift, которое может быть удовлетворено только при использовании окончательного класса для почему класс должен быть final):

final class TreeNode: Node {
    var parent: TreeNode? = nil
    var children: [TreeNode] = []
}

и

func getReversedChildren(node: T) -> [T] {
    return node.children.reversed()
}

компилируются без проблем.

122
задан Sam 16 August 2014 в 14:18
поделиться

7 ответов

Вся суть НЕ в том, чтобы использовать ярлыки Cmd-C / Cmd-V . У меня такая же проблема, исходящая от IntelliJ, и возможность просто дублировать строки с помощью Cmd-D и удалять их с помощью Cmd-Y - это большая экономия времени.

Это было сделано. с тех пор меня беспокоит. Однако похоже, что кто-то еще нашел решение , которое работает.

Короче говоря, создайте файл ~ / Library / KeyBindings / PBKeyBinding.dict со следующим содержимым и перезапустите Xcode.

{
    "^$K" = (
        "selectLine:",
        "cut:"
    );

    "^$D" = (
        "selectLine:",
        "copy:",
        "moveToEndOfLine:",
        "insertNewline:",
        "paste:",
        "deleteBackward:"
    );
}

Это создаст два ярлыка: Ctrl - Shift - K для удаления текущей строки и Ctrl - Shift - D для дублирования текущей строки. Обратите внимание, что это будет только , если вы НЕ используете настраиваемую привязку клавиш, установленную в Xcode. Переключитесь на «XCode Default», и все должно работать. Протестировано в XCode 3.2 на Snow Leopard.

Дополнительная информация о привязках клавиш Mac OS X: http://funkworks.blogspot.it/2013/03/republishing-of-wwwerasetotheleftcompos.html

89
ответ дан 24 November 2019 в 01:21
поделиться

Трижды нажмите для выбора целой строки, команда-c, чтобы выбрать и управлять-v дважды для дублирования его. Это не функция XCode, это - просто часть ОС.

4
ответ дан 24 November 2019 в 01:21
поделиться

Для удаления строки : Ctrl - для движения в начало строки, затем Ctrl - K для удаления его, и другое время Ctrl - K для удаления пустой строки. (Я не использую XCode очень часто, но я привык к этому в Emacs и других вводах текста с подобной Emacs привязкой, и это, кажется, работает в XCode также.)

И копировать строку : Я не знаю о многих программах, которые имеют команду для этого, но обычно я просто использую Copy+Paste - в XCode, это подобно CUA: Ctrl + для движения в начало строки, Сдвиг + в † “ для выбора его, Команда + C для копирования и Команда + * V для вставки дважды (однажды переопределение строки и однажды добавляющий к нему).

(от человека, который вводит и редактирует текст все время, так часто в различных программах, и иногда получает pissed при необходимости отвлечься с немым виджетом при создании небольшого исправления во вводе текста, что он просто не может постараться не помнить эти последовательности и привычки)

101
ответ дан 24 November 2019 в 01:21
поделиться

Перейдите к этому адресу:

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet

и затем копирует файл IDETextKeyBindingSet.plist в некоторых где и затем открывает скопированный файл и вставляет

selectLine: копия: вставка: вставка: как это изображение вводят описание изображения здесь и сохраняют его и заменяют скопированный файл в этом/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet

адреса, затем перезапускают XCode, открывают предварительные заборы XCode, перейдите к вкладке привязки клавиш, поиск дублирующейся (настроенной) строки и определите короткий ключ для него как изображение ниже

[1]: https://i.stack.imgur.com/UTeZu.png

0
ответ дан 24 November 2019 в 01:21
поделиться

Если вы уже настроили привязки клавиш Xcode, вам придется отредактировать файл: ~ / Library / Application Support / Xcode / Key Привязки / <пользователь> .pbxkeys . Просто добавьте два массива (описанных выше) в Корневой / текстовый словарь.

1
ответ дан 24 November 2019 в 01:21
поделиться

Использовать пользовательские сценарии.

Еще есть скрипты для перемещения и удаления строк. Вы должны определить привязки клавиш для этих сценариев (меню Сценарии -> Редактировать пользовательские сценарии ... в xCode 3.2).

Чтобы продублировать строку, вы должны создать свой собственный скрипт. Но это очень просто! Дублируйте сценарий «Переместить строку вниз» и удалите строку, удаляющую выделенный текст:

delete (paragraphs startLine through endLine)
4
ответ дан 24 November 2019 в 01:21
поделиться

Решение от damien.flament отлично работает, и вам может потребоваться установить output на «Отменить вывод», см. Рисунок ниже

Userscripts setting

PS: Не знаю, как прокомментировать его ответ.

2
ответ дан 24 November 2019 в 01:21
поделиться
Другие вопросы по тегам:

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