Xcode duplikat baris

128

Ada adalah sebuah Duplicateperintah dalam Menu Edit (dengan shortcut default D), tetapi (sebagai Halley menunjukkan) dimaksudkan untuk duplikasi dalam Interface Builder bagian dari Xcode.

Jadi, bagaimana Anda ( dengan mudah ) menduplikasi baris di Xcode 4?


Pertanyaan terkait (dengan jawaban yang berfungsi) untuk Xcode 3 ... dan yang tidak berfungsi untuk Xcode 4.


Mengapa tidak salin & tempel saja?

Karena itu membosankan dan memerlukan terlalu banyak akrobat tangan:

baik (1) : pindah ke baris awal dan kemudian menekan ⇧^E, lalu menyalin dengan ⌘C, pindah ke baris baru, menyelaraskan kursor, dan terakhir menempel dengan ⌘V;

atau (2) : ^A(atur kursor ke awal baris), ^SPACE(setel tanda), ^E(setel kursor ke akhir baris), ⇧^W( Select to Mark; disesuaikan), salin, baris baru, dll.

Seperti yang dikatakan oleh Frank Schröder (dalam pertanyaan terkait ):

Intinya adalah TIDAK menggunakan pintasan Cmd-C / Cmd-V.

Blaz
sumber
1
Pilih garis dan salin tempel?
Dani
1
@Dani, CP terlalu banyak pekerjaan (dan duplikasi baris bukanlah sesuatu yang kebutuhannya jarang muncul). :) Saya telah memperbarui pertanyaan tersebut.
Blaz
1
Command-D untuk duplikasi kontrol di Interface Builder.
Hailei
@Halley, ini bagus untuk diketahui. Dan apakah itu setara dengan ⌥-mouse-drag (yang juga menyalin elemen antarmuka)?
Blaz
@courteous menurutku begitu. Bagian Modifier Keys di disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/… mengatakan bahwa "menekan tombol Option selama operasi drag-and-drop menyalin objek yang dipilih alih-alih memindahkannya."
Hailei

Jawaban:

173
  1. Buka folder ini yang berisi sisi gelap gaya:

    • Xcode 4.2 atau sebelumnya: /Developer/Library/PrivateFrameworks/IDEKit.framework/Resources
    • Xcode 4.3 atau yang lebih baru: /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources.
  2. Buka IDETextKeyBindingSet.plist.

  3. Tambahkan kamus baru dan item perintah baru seperti gambar di bawah (beri nama sesuai keinginan Anda): Mengedit plist

    Itu: selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:

  4. Restart Xcode dan pergi ke Preferences - Key Bindings, cari perintah Anda.

  5. Tetapkan kombinasi tombol untuk perintah: Binding Kunci

  6. Akhirnya melepaskan kekuatan pengikatan kunci pada Xcode ... Selamat menikmati!

Hailei
sumber
3
@MichalStefanow, lokasi yang Anda tulis sebenarnya adalah lokasi yang sama dengan yang /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resourcesditunjuk alias. Jika tidak, saya telah berhasil mengikuti langkah Halley pada versi 4.3.2 ... Saya sarankan Anda mencadangkan file asli dan kemudian membukanya di Xcode itu sendiri (dan bukan di TextEdit). Juga, mengenai izin: mengubahnya (hanya untuk file itu sendiri; tidak diperlukan rekursi) di Finder berfungsi dengan baik.
Blaz
29
Terima kasih! Untuk pengguna yang malas - selectLine :, salin :, moveToEndOfLine :, insertNewline :, paste :, deleteBackward:
Vlad Tsepelev
15
Jika xCode Anda rusak! Tutup xCode, buka file dengan editor teks apa saja dan tambahkan kamus Anda: <key>Custom</key> <dict> <key>Duplicate Current Line</key> <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string> </dict>
Vlad Tsepelev
2
Bekerja untuk saya di XCode 4.4.1! Mengalami masalah saat mengubah izin (finder atau chmod 777 dan mulai dengan sudo dari terminal tidak berfungsi, karena alasan tertentu). Saya menyalin file ke tempat lain, mengeditnya, dan menimpa yang asli, yang berhasil.
Ixx
2
Saya adalah android dev dan ketika saya mulai mencoba ios dev saya menyadari betapa android studio (atau ide intellij) itu bagus.
IlyaEremin
91

Perbarui 2020

Bekerja pada versi Xcode: 11.3.1 juga

Bekerja dalam versi Xcode: 7.1, 7.3, 7.3.1, 8.0, 8.1, 8.2, 8.3, 9.0, 9.1, 9.2, 10.0, 10.1, 10.2.1

Petunjuk

  1. Berikan izin untuk mengedit file berikut. Sebagian besar OS tidak mengizinkan Anda untuk mengedit file.

untuk versi 11.3.1

sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources//IDETextKeyBindingSet.plist

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/

di bawah 11.3 versi


sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/
  1. Edit file tersebut, dengan menulis perintah berikut: (Buka di sublime atau editor teks jika bisa)

untuk 11.3.1

open  

/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/

untuk versi di bawah ini

open /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
  1. Tambahkan cuplikan xml berikut:
<key>custom</key>
<dict>
    <key>Duplicate Current Line</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
    <key>Duplicate Lines</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
    <key>Delete Line</key>
    <string>selectLine:, deleteBackward:</string>
</dict>

Screenshot

masukkan deskripsi gambar di sini

dan Restart Xcode dan pergi ke Preferences - Key Bindings, cari perintah yang kita ketikkan (Duplicate Lines & Duplicate Current Line).

masukkan deskripsi gambar di sini

Itu dia.

Untuk unix orang yang perlu diperhatikan: -

sudo chmod 755 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/ 
Zumry Mohamed
sumber
Ini bekerja seperti pesona! Saya mengedit IDETextKeyBindingSet.plistdan menambahkan kamus di atas dan kemudian memetakan kunci di Preferensi XCode.
Randika Vishman
3
Ini adalah jawaban nerd yang dibutuhkan pengguna mac!
Luca Davanzo
1
Untuk Xcode 10.1, saya harus menggunakan string berikut: moveToBeginningOfLine :, deleteToEndOfLine :, yank :, insertNewline :, setMark :, moveToBeginningOfLine :, selectToMark :, yank: . Terima kasih banyak kepada @tmsimont
marcelosalloum
1
ini adalah hal pertama di Google setiap kali Xcode diperbarui.
Pengembang baru
1
Solusi ini bekerja untuk saya daripada jawaban yang diterima
khalid
18

Oke, saya telah menemukan ini:

Versi untuk XCode 11:

selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:
  • tidak menyentuh papan klip
  • bekerja dengan banyak baris
  • memilih baris yang ditambahkan, sehingga dapat digunakan beberapa kali tanpa memilih ulang
  • seleksi tetap di XCode 11
  • bekerja lebih baik dengan undo

Karena saya menerapkan perubahan ini setelah setiap pembaruan XCode, saya telah membuat skrip untuk itu. Mungkin bisa menyebabkan kerusakan, tapi saya sudah mencoba membuatnya relatif aman. Itu membuat salinan file, dan kemudian mengganti baris dengan salinannya dan perintah tambahan menggunakan perl. Membutuhkan XCode untuk diinstal di/Applications/Xcode.app

cp /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist ~/Desktop/IDETextKeyBindingSet.plist; sudo perl -pi -e 's/\<string\>selectWord:\<\/string>/'$'\<string\>selectWord:\<\/string\>\n\t\t\<key\>Duplicate Selection\<\/key\>\n\t\t\<string\>selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:\<\/string>/g' /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

Versi lama (Saya tidak yakin apakah yang baru kompatibel dengan versi lama, jadi saya akan menyimpannya di sini):

selectParagraph:, delete:, yank:, moveToBeginningOfLine:, setMark:, yank:, moveToBeginningOfLine:, moveLeft:, selectToMark:

dan skrip untuk versi lama untuk menghindari pengeditan file manual:

cp /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist ~/Desktop/IDETextKeyBindingSet.plist; sudo perl -pi -e 's/\<string\>selectWord:\<\/string>/'$'\<string\>selectWord:\<\/string\>\n\t\t\<key\>Duplicate Selection\<\/key\>\n\t\t\<string\>selectParagraph:, delete:, yank:, moveToBeginningOfLine:, setMark:, yank:, moveToBeginningOfLine:, moveLeft:, selectToMark:\<\/string>/g' /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

edit: perbaikan kecil edit2: diubah ke pemilihan paragraf edit3: versi yang ditambahkan untuk XCode 11

Rychu
sumber
Terima kasih banyak untuk ini, mencari kombinasi ini. Ini dapat menduplikasi satu baris atau beberapa baris tanpa menambahkan baris baru yang tidak diinginkan dan juga ctrl-z bekerja dengan baik.
mkeremkeskin
Terima kasih, itulah yang paling dekat dengan perilaku IntelliJ IMHO
OxyFlax
17

Hari ini saya menulis plugin yang sangat kecil untuk Xcode 5 yang menghapus dan menggandakan garis dan pilihan.

Anda dapat mengunduhnya dari repo GitHub saya: Plugin XcodeKit - https://github.com/ptfly/XcodeKit

tak ada taranya
sumber
Saya baru saja mengunduh dan menginstal ini - Anda dapat menggunakan preferensi Sistem untuk mengatur pintasan keyboard untuk perintah juga. Sangat bagus!
Orion Edwards
Solusi terbaik adalah karena ini tidak akan merusak clipboard Anda saat ini. Untuk menambahkan keybindings: Preferensi sistem -> keyboard -> pintasan -> pintasan aplikasi -> '+'. Di sana pilih Xcode dan judul menu misalnya 'Hapus Pilihan / Garis'
Sjoerd Perfors
Saya baru saja menginstal ini. LUAR BIASA, untuk beberapa alasan, menu "Duplikat" saya yang sedang diedit berwarna abu-abu. Meskipun saya telah memilih satu baris di editor, kursor dan telah mencoba memilih seluruh baris.
John Ballinger
Ini lebih dari luar biasa. Terima kasih!
0x6A75616E
itu tidak berhasil untuk saya. "Duplikat" berwarna abu-abu dan pintasan keyboard juga tidak akan berfungsi.
SquareBox
13

Jawaban @ Hailei cukup bagus, tetapi memiliki efek samping yang tidak menguntungkan berupa clobber konten clipboard (membiarkannya diisi dengan konten dari baris yang digandakan), yang merupakan bagian dari pendekatan salin / tempel manual yang saya coba hindari .

Jadi, saya mengubah urutan perintah menjadi ini:

moveToBeginningOfLine:,
deleteToEndOfLine:,
yank:,
insertNewline:,
moveToBeginningOfLine:,
yank:

2 yank:s mungkin tidak berfungsi sebagaimana mestinya jika Anda telah NSTextKillRingSizemenyetel sesuatu selain 1, tetapi saya cukup yakin 1adalah defaultnya, dan Anda harus melakukan beberapa pekerjaan non-sepele untuk mengubahnya (ini memerlukan penambahan entri ke ~/Library/Preferences/.GlobalPreferences.plist).

Kelan
sumber
Saya sarankan menggunakan perintah defaults write -g NSTextKillRingSize 1daripada bermain dengan GlobalPreferences.plist. ;)
dbernard
@amas Sepertinya Anda perlu menyalin file di tempat lain sebelum Anda memodifikasinya lalu menimpa file asli, kecuali jika Anda ingin mengambil risiko mengubah izin pada folder induk.
nipponese
ini hampir berhasil, tetapi untuk beberapa alasan sekelompok spasi putih ditambahkan ke akhir baris yang digandakan .. ada ide mengapa?
tmsimont
5
jika diperbaiki dengan modifikasi ini:moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, setMark:, moveToBeginningOfLine:, selectToMark:, yank:
tmsimont
Ini harus menjadi jawaban yang disarankan (mengikuti panduan @ Hailei). Terima kasih!
brkeyal
9

Mengapa menduplikasi satu baris? Menggandakan seluruh paragraf lebih baik. Urutan saya:

Gandakan Paragraf Saat Ini

selectParagraph:,
delete:,
yank:,
moveToBeginningOfParagraph:,
yank:,
moveUp:,
moveToEndOfParagraph:

Hapus Paragraf Saat Ini

selectParagraph:,
delete:,
moveUp:,
moveToEndOfParagraph:

Bekerja dengan baik di Xcode 4.6

BB9z
sumber
Setuju, memanipulasi paragraf lebih baik daripada garis. Semuanya, buat editor Anda cukup sempit untuk membungkus teks dan coba gunakan perintah baris.
Logan Moseley
Seberapa kecil jendela Anda yang dibungkus kode Anda. Pertimbangkan untuk memecah kode Anda menjadi beberapa baris yang lebih kecil jika itu sering terjadi.
Quemeful
9

Saya bertanya-tanya mengapa tidak ada yang menyebutkan menggunakan bersama dengan tombol panah ( ) untuk memindahkan kursor dan memilih seluruh baris (dengan menambahkan ).

Saya secara teratur menyalin seluruh baris (duplikat) dengan menggerakkan kursor ke awal baris menggunakan + (bukan ctrl+ A) dan kemudian menggunakan + + (bukan ctrl+ + E) untuk memilih seluruh baris sampai akhir dan kemudian salin / tempel.

Saya mengalami utas lain di mana tidak ada orang yang tampaknya menggunakan pintasan keyboard ini. Mereka bersifat global di OS X dan saya menggunakannya sepanjang waktu! Apalagi akrobat tangan;)

Baldur
sumber
Ini membutuhkan lebih banyak "akrobat tangan" daripada menduplikasi hanya dengan 1 kombinasi aksi / tombol ... ini adalah cara saya menduplikasi teks di editor teks atau browser web, ya, tapi saya mengharapkan sedikit lebih dari IDE.
Ixx
1
Dan juga, dengan shortcut baris duplikat Anda tidak menimpa konten clipboard. Seringkali saya menyalin sesuatu, menggandakan kode dan ingin menempelkannya - dengan metode Anda, Anda harus menyalinnya lagi.
Ixx
Baiklah. Namun kurang dari cara yang disarankan oleh OP. Saya setuju bahwa satu perintah adalah yang terbaik. Saya hanya berpikir saya akan menunjukkan alternatif.
Baldur
1
ini masih lebih baik daripada tidak sama sekali. saya berharap cmd + C / X tanpa pilihan hanya akan menyalin / memotong seluruh baris seperti yang dilakukan editor lain ...
manroe
@Baldur Ini adalah apa yang saya lakukan juga. cmd + cmd kiri + shift + cmd kanan + c cmd + kanan masukkan cmd + cmd kiri + p. Dengan 7 penekanan tombol, ini dapat dengan mudah dilakukan dalam waktu kurang dari 3 detik, namun, ini masih cukup membosankan dibandingkan dengan ctrl + d seperti di banyak editor teks. Sayangnya ini tidak dibangun di xcode, atau secara umum mac dan perangkat lunak apple tidak memiliki tombol pintas yang lebih baik.
csga5000
9

EDIT: 12 Jul 2020 Setelah memperbarui ke Xcode 11.5 lagi duplicate lineentri kunci saya dari plistfile hilang. Saya harus menambahkannya lagi. Pengikatan kuncinya masih ada.

EDIT: 17 Sep 2019 Setelah memperbarui ke Xcode 10.3 lagi duplicate lineentri kunci saya dari plistfile hilang. Saya harus menambahkannya lagi. Pengikatan kuncinya masih ada.

EDIT: 28 Mei 2019 Setelah memperbarui ke Xcode 10.2 lagi duplicate lineentri kunci saya dari plistfile hilang. Saya harus menambahkannya lagi. Pengikatan kuncinya masih ada.

EDIT: 23 Des 2018 Setelah memperbarui ke Xcode 10.1 semua pintasan saya rusak lagi. Tetapi sesuatu yang berbeda adalah bahwa setelah memperbarui file plist untuk duplikasi baris, saya tidak perlu menentukan binding kunci saya, mereka sudah ada di sana. Aneh.

EDIT: 14 OKTOBER 2018 Xcode 10: Seseorang yang berada di atas Apple sangat menyukai salin / tempel, dan pastikan bahwa dengan setiap versi pembaruan Xcode, duplikasi baris dihapus dari pemasangan semua orang. Kami para pengembang sangat frustrasi dengan omong kosong yang terjadi di Xcode sejak selamanya, satu-satunya IDE tanpa opsi duplikasi baris. Saya baru saja memperbarui ke Xcode 10, dan seperti yang Anda tebak - semua tombol pintas saya dihapus bersama dengan fungsi duplikasi baris saya. Namun, itu bisa diperbaiki seperti pada jawaban aslinya. Sedikit perbedaan kali ini adalah Anda memerlukan baris berikut:

<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>

EDIT: Xcode 9: Saya harus mengulangi pintasan dan duplikasi serta penghapusan baris, tetapi hal baiknya adalah sekarang Anda dapat mengedit IDETextKeyBindingSet.plist lagi. Pria Apple kelas atas ini pasti sedang berlibur ketika mereka merilis versi ini.

EDIT: Xcode 8: Buggy, Anda tidak dapat mengubah file IDETextKeyBindingSet.plist sama sekali. Xcode mengatur ulang saat mulai. Orang tinggi di Apple ini benar-benar bertekad untuk membuat kami menggunakan salin / tempel alih-alih duplikasi baris sederhana seperti di semua IDE lain di luar sana.

EDIT: Xcode 7.1 dan masih tidak ada jalan pintas untuk duplikasi dan penghapusan baris. Ini adalah satu-satunya IDE yang pernah saya gunakan tanpa jalan pintas seperti itu. Dan saya tidak bisa membayangkan kehidupan seorang pengembang tanpa dua jalan pintas penting ini.

Berikut cara melakukannya:

Pertama kita perlu memodifikasi file plist yang ada di dalam bundel Xcode.app (perlu sudo untuk mengedit)

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

Kemudian cari <key>Insertions and Indentations</key>dan di bawah <dict>tag tambahkan yang berikut ini:

<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>

Kemudian temukan dan ini di dalam bagian di <key>Deletions</key>bawah <dict>tag:

<key>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>

masukkan deskripsi gambar di sini

Sekarang Buka / Mulai Ulang Xcode, buka Preferensi dan buka tab "Key Bindings". Gunakan bilah pencarian untuk memfilter dan mencari pintasan baru. Kemudian klik di depan deskripsi pintasan untuk menetapkan pintasan yang Anda sukai. Pastikan pintasan Anda tidak bertentangan dengan pintasan yang ada.

masukkan deskripsi gambar di sini

zeeshan
sumber
3

Saya akan mempertimbangkan untuk merevisi urutan perintah menjadi:

selectLine:,
copy:,
moveToEndOfLine:,
insertNewline:,
deleteToBeginningOfLine:,
paste:,
moveToBeginningOfLine:, 
deleteBackward:

Yang ditambahkan deleteToBeginningOfLinemempertahankan indentasi dari garis duplikat.

pengguna570753
sumber
Ini bekerja dengan baik setelah saya menyadari bahwa saya harus menukar baris baru (yang terlihat bagus) dengan spasi setelah koma.
McUsr
2

insertLineBreak membutuhkan setidaknya saya untuk membuat salinan di baris baru, tanpa itu saya mendapat salinan di baris yang sama

Vladimir Kruglov
sumber
2

Saya mengalami masalah besar untuk membuka kunci file .plist di MacOS Sierra dan Xcode 9, bahkan keputusan @Tim tidak berhasil untuk saya. Jika Anda memiliki masalah yang sama, pergi ke terminal dan lakukan ini:

cd /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/
sudo chmod -R 777 *
nano IDETextKeyBindingSet.plist

Beberapa kemungkinan cara lain untuk melakukan ini juga dijelaskan di sini .

Kemudian di nano editor klik ^Wdan ketik 'sisipan' untuk melompat ke bagian 'Sisipan dan Indentasi'. Tepat di bawah <dict>tag tempelkan xml-snippet ini:

<key>Duplicate line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewLine:, paste:, deleteBackward:</string>

Tekan control + X, lalu Y, lalu Enteruntuk menyimpan file di editor nano.

UPD: Saya membuat keputusan yang lebih baik, yang menambahkan baris tambahan sebelum duplikasi (berguna saat Anda ingin menduplikasi baris yang memiliki baris lain tepat di bawahnya):

<key>Duplicate line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertLineBreak:, moveUp:, paste:, moveToBeginningOfLine:</string>
joliejuly
sumber
1

Ini adalah entri Hapus ( CTRL+ D) dan Duplikat ( CMD+ SHIFT+ D) saya dari IDETextKeyBindingSet.plist saya. (di /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources)

Saya baru saja mengatur ini di Xcode 4.6.1 (berdasarkan jawaban dari user570753 di atas dan di tempat lain)

    <key>Custimozed</key>
<dict>
    <key>Delete Current Line</key>
    <string>deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:</string>
    <key>Duplicate Current Line</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, deleteToBeginningOfLine:, paste:, moveToBeginningOfLine:, deleteBackward:</string>
</dict>
rampok
sumber
0

Setiap pengguna teks luhur yang ingin mencocokkan duplikatLineUp sublime dan duplikatLineDown di XCode, silakan tambahkan berikut ini ke file IDETextKeyBindingSet.plist Anda

<key>Line Duplications</key>
<dict>
    <key>Duplicate Current Line Above</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:, moveUp:</string>
    <key>Duplicate Current Line Below</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
</dict>
internet-nico
sumber
0

Jika ada orang lain yang ditolak aksesnya untuk mengedit IDETextKeyBindingSet.plist, Anda dapat memberikan izin baca / tulis kepada diri Anda sendiri dengan:

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
Tim
sumber
0

Sekadar melengkapi jawaban Hailei, perintah yang paling berhasil bagi saya adalah:

selectLine:, copy:, moveRight:, moveLeft:, insertNewline:, paste:, deleteBackward:

Perintah yang disarankannya menyalin baris yang diinginkan dua baris di bawah, untuk saya.

tongkat
sumber
0
<key>Duplicate Lines</key>    
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:</string>

Mendukung baris duplikat. (Ini berfungsi di Xcode 9.2)

Luminoid
sumber
0

Adapun Xcode 11 tidak ada yang berhasil untuk saya. Jawaban pertama berperilaku aneh karena memasukkan baris setelah baris berikutnya. Jawaban berikut, bagaimanapun, berhasil untuk saya.

<key>Duplication</key>
<dict>
    <key>Duplicate Current Line</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
    <key>Duplicate Lines</key>
    <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
    <key>Delete Line</key>
    <string>selectLine:, deleteBackward:</string>
</dict>
Ben
sumber