EDIT: 12 липня 2020 р.
Після оновлення до Xcode 11.5 мого duplicate line
ключового запису з plist
файлу не було. Мені довелося його ще раз додати. Ключова прив'язка все ж була там.
EDIT: 17 вересня 2019 р.
Після оновлення до Xcode 10.3 мого duplicate line
ключового запису з plist
файлу не було. Мені довелося його ще раз додати. Ключова прив'язка все ж була там.
EDIT: 28 травня 2019 р.
Після оновлення до Xcode 10.2 мого duplicate line
ключового запису з plist
файлу не було. Мені довелося його ще раз додати. Ключова прив'язка все ж була там.
EDIT: 23 грудня 2018 р.
Після оновлення до Xcode 10.1 всі мої ярлики знову зламалися. Але щось інше полягало в тому, що після оновлення файлу плистів для дублювання рядків мені не довелося визначати свої ключові прив’язки, вони вже були там. Дивно.
EDIT: 14 жовтня 2018 р.
Xcode 10: Хтось високо в Apple дуже любить копіювати / вставляти, і гарантує, що з кожною версією оновлення Xcode дублювання рядків буде видалено з усієї установки. Ми, розробники, були надзвичайно засмучені цією нісенітницею, що триває в Xcode, з тих пір, єдиною IDE, що не має можливості дублювання рядків. Щойно я оновив Xcode 10, і, як ви здогадалися, всі мої клавіші швидкого доступу видаляються разом із функцією дублювання рядків. Однак це можна зафіксувати, як у оригінальній відповіді. Невелика різниця цього разу полягає в тому, що вам знадобиться наступний рядок:
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
EDIT: Xcode 9: Мені довелося переробити ярлики та копіювання рядків та видалення рядків, але добре, що тепер ви можете редагувати IDETextKeyBindingSet.plist знову. Цей високопоставлений хлопець Apple повинен бути у відпустці, коли випустив цю версію.
EDIT: Xcode 8: Баггі, ви не можете взагалі змінювати файл IDETextKeyBindingSet.plist. Xcode скидає його при запуску. Цей високопоставлений хлопець в Apple справді налаштований змусити нас використовувати копіювати / вставляти замість простого дублювання рядків, як у всіх інших IDE там.
EDIT: Xcode 7.1, і досі немає ярликів для дублювання та видалення рядків. Це єдиний IDE, з яким я коли-небудь працював, не маючи таких ярликів. І я не уявляю життя розробника без цих двох критичних ярликів.
Ось як це можна зробити:
Спочатку нам потрібно змінити файл-пліст, який знаходиться всередині пакета Xcode.app (для редагування потрібен sudo)
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
Потім шукайте <key>Insertions and Indentations</key>
та під <dict>
тегом додайте наступне:
<key>Insert New Line Below</key>
<string>moveToEndOfLine:, insertNewline:</string>
<key>Insert New Line Above</key>
<string>moveUp:, moveToEndOfLine:, insertNewline:</string>
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
Потім знайдіть те та це всередині розділу <key>Deletions</key>
під <dict>
тегом:
<key>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>
Тепер відкрийте / перезапустіть Xcode, перейдіть до "Налаштування" та перейдіть на вкладку "Ключові прив'язки". Використовуйте панель пошуку для фільтрування та пошуку нових ярликів. Потім натисніть перед описом ярлика, щоб призначити йому ярлик за вашим уподобанням. Переконайтесь, що ваш ярлик не суперечить існуючим ярликам.