EDYCJA: 12 lipca 2020 r.
Po ponownej aktualizacji do Xcode 11.5 mój duplicate line
wpis klucza z plist
pliku zniknął. Musiałem to dodać ponownie. Kluczowe powiązanie nadal istniało.
EDYCJA: 17 września 2019 r.
Po ponownej aktualizacji do Xcode 10.3 mój duplicate line
wpis klucza z plist
pliku zniknął. Musiałem to dodać ponownie. Kluczowe powiązanie nadal istniało.
EDYCJA: 28 maja 2019 r.
Po ponownej aktualizacji do Xcode 10.2 mój duplicate line
wpis klucza z plist
pliku zniknął. Musiałem to dodać ponownie. Kluczowe powiązanie nadal istniało.
EDYCJA: 23 grudnia 2018
Po aktualizacji do Xcode 10.1 wszystkie moje skróty znowu się zepsuły. Ale coś innego było to, że po zaktualizowaniu pliku plist pod kątem duplikacji linii nie musiałem definiować moich przypisań klawiszy, one już tam były. Dziwne.
EDYCJA: 14 października 2018
Xcode 10: Ktoś wysoko w Apple naprawdę uwielbia kopiować / wklejać i dba o to, aby z każdą wersją aktualizacji Xcode, duplikacja linii została usunięta z instalacji wszystkich. My, programiści, byliśmy bardzo sfrustrowani tym nonsensem, który od zawsze miał miejsce w Xcode, jedynym IDE bez opcji kopiowania linii. Właśnie zaktualizowałem do Xcode 10 i jak się domyślacie - wszystkie moje klawisze skrótów zostały usunięte wraz z funkcją powielania linii. Jednak można to naprawić, tak jak w oryginalnej odpowiedzi. Niewielka różnica tym razem polega na tym, że będziesz potrzebować następującego wiersza:
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
EDYCJA: Xcode 9: Musiałem przerobić moje skróty oraz powielanie i usuwanie linii, ale dobrą rzeczą jest to, że teraz możesz ponownie edytować IDETextKeyBindingSet.plist. Ten wysoko postawiony facet z Apple musi być na wakacjach, kiedy wydali tę wersję.
EDYCJA: Xcode 8: Buggy, nie możesz w ogóle modyfikować pliku IDETextKeyBindingSet.plist. Xcode resetuje go przy starcie. Ten wysoko postawiony facet w Apple jest naprawdę zdeterminowany, abyśmy używali kopiowania / wklejania zamiast prostego powielania linii, jak we wszystkich innych IDE.
EDYCJA: Xcode 7.1 i nadal nie ma skrótów do powielania i usuwania linii. To jedyne IDE, z jakim kiedykolwiek pracowałem, bez takich skrótów. Nie wyobrażam sobie życia programisty bez tych dwóch krytycznych skrótów.
Oto, jak można to zrobić:
Najpierw musimy zmodyfikować plik plist, który znajduje się w pakiecie Xcode.app (wymaga sudo do edycji)
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
Następnie poszukaj <key>Insertions and Indentations</key>
i pod <dict>
tagiem dodaj:
<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>
Następnie znajdź i te w sekcji <key>Deletions</key>
pod <dict>
tagiem:
<key>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>
Teraz otwórz / uruchom ponownie Xcode, przejdź do Preferencji i przejdź do zakładki „Wiązania klawiszy”. Użyj paska wyszukiwania, aby filtrować i szukać nowych skrótów. Następnie kliknij przed opisem skrótu, aby przypisać mu odpowiedni skrót. Upewnij się, że Twój skrót nie powoduje konfliktu z istniejącymi skrótami.