Xcode yinelenen satır


128

Orada olan bir Duplicate(varsayılan kısayol ile Düzen Menüsü komut D), fakat (aynı öyle Halley Xcode Arayüz Oluşturucu bölümünde çoğaltma içindir işaret).

Peki, Xcode 4'teki bir satırı nasıl ( kolayca ) çoğaltırsınız?


Xcode 3 için ilgili soru (çalışan bir cevapla) ... ve Xcode 4 için çalışmayan.


Neden sadece kopyalayıp yapıştırmıyorsunuz?

Çünkü sıkıcı ve çok fazla el akrobasi gerektiriyor:

ya (1) : Satır başlayan ve daha sonra basarak hareket ⇧^E, daha sonra kopyalama ⌘C, yeni satıra geçilmesini, imleci alligning ve nihayet ile yapıştırarak ⌘V;

veya (2) : ^A(imleci satırın başlangıcına ^SPACEayarla ), (işareti ayarla), ^E(imleci satır sonuna ayarla), ⇧^W( Select to Mark; özelleştirilmiş), kopya, yeni satır, vb.

Frank Schröder'in ( ilgili soruda ) söylediği gibi:

Bütün mesele Cmd-C / Cmd-V kısayollarını kullanmak DEĞİLDİR.


1
Satırı seçin ve kopyalayıp yapıştırın?
Dani

1
@Dani, CP çok fazla iş (ve satır çoğaltma ihtiyacı nadiren ortaya çıkan bir şey değil). :) Soruyu güncelledim.
Blaz

1
Command-D, Arabirim Oluşturucu'da kontrol çoğaltması içindir.
Hailei

@Halley, bunu bilmek güzel. Ve ⌥-fare-sürüklemeye eşdeğer midir (arayüz öğelerini de kopyalar)?
Blaz

@ nazik ben öyle düşünüyorum. Disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/… 'deki Değiştirici Tuşlar bölümünde "sürükle ve bırak işlemleri sırasında Option tuşuna basmak seçilen nesneleri taşımak yerine kopyalamak" der.
Hailei

Yanıtlar:


173
  1. Kuvvetin karanlık tarafını içeren bu klasöre gidin:

    • Xcode 4.2 veya öncesi: /Developer/Library/PrivateFrameworks/IDEKit.framework/Resources
    • Xcode 4.3 veya sonrası: /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources.
  2. IDETextKeyBindingSet.plist.

  3. Aşağıdaki ekran görüntüsü olarak yeni bir sözlük ve yeni bir komut öğesi ekleyin (onlara ne istediğinizi adlandırın): Plist düzenleme

    en That: selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:

  4. Xcode'u yeniden başlatın ve Tercihler - Anahtar Bağlamalar'a gidin, komutunuzu arayın.

  5. Komut için bir tuş kombinasyonu ayarlayın: Anahtar Bağlamalar

  6. Nihayet Xcode üzerindeki tuş bağlamalarının gücünü ortaya çıkardı ...


3
@MichalStefanow, yazdığın yeri aslında aynı yere o /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resourcestakma noktalarına. Aksi takdirde, 4.3.2 sürümündeki Halley'in adımlarını başarıyla takip ettim ... Orijinal dosyayı yedeklemenizi ve ardından Xcode'un kendisinde açmanızı (TextEdit'te değil) öneririm. Ayrıca, izinlerle ilgili olarak: Finder'da onları değiştirmek (yalnızca dosyanın kendisi için; özyineleme gerekmez) gayet iyi çalıştı.
Blaz

29
Big thanx! Tembel kullanıcılar için - selectLine :, copy :, moveToEndOfLine :, insertNewline :, paste :, deleteBackward:
Vlad Tsepelev

15
XCode'unuz çökerse! XCode'u kapatın, dosyayı herhangi bir metin düzenleyiciyle açın ve sözlüğünüzü ekleyin: <key>Custom</key> <dict> <key>Duplicate Current Line</key> <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string> </dict>
Vlad Tsepelev

2
XCode 4.4.1'de benim için çalışıyor! İzinleri değiştirirken bazı sorunlar yaşadım (finder veya chmod 777 ve terminalden sudo ile başlamak bazı nedenlerden dolayı işe yaramadı). Dosyayı başka bir yere kopyaladım, düzenledim ve işe yarayan orijinal dosyanın üzerine yazdım.
Ixx

2
Ben android geliştiriciyim ve ios dev'i denemeye başladığımda android stüdyosunun (veya intellij fikrinin) ne kadar iyi olduğunu anladım.
IlyaEremin

91

2020 Güncellemesi

Xcode sürümlerinde çalışır: 11.3.1 de

Xcode sürümlerinde çalışır: 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

Talimat

  1. Aşağıdaki dosyaları düzenleme izni verin. İşletim sistemi çoğu zaman dosyaları düzenlemenize izin vermez.

11.3.1 sürümü için

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/

11.3 sürümün altında


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. Aşağıdaki komutu yazarak dosyayı düzenleyin: (Yapabiliyorsanız, yüce veya metin düzenleyicide açın)

11.3.1 için

open  

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

aşağıdaki versiyonlar için

open /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
  1. Aşağıdaki xml parçacıklarını ekleyin:
<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>

Ekran görüntüleri

görüntü açıklamasını buraya girin

ve Xcode'u yeniden başlatın ve yazdığımız Preferences - Key Bindingskomutu arayın (Satırları Çoğalt & Geçerli Satırı Çoğalt).

görüntü açıklamasını buraya girin

Bu kadar.

Unix kullanıcılarının dikkat etmesi gerekenler: -

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

Mucizevi şekilde çalışır! IDETextKeyBindingSet.plistYukarıdaki sözlüğü düzenledim ve ekledim ve ardından anahtarları XCode Tercihleri'nde eşledim.
Randika Vishman

3
Bunlar, Mac kullanıcılarının ihtiyaç duyduğu inek cevapları!
Luca Davanzo

1
XCode 10.1 için, ben şu dizeyi kullanmak zorunda kaldı: moveToBeginningOfLine :, deleteToEndOfLine :, yank :, insertNewline :, setMark :, moveToBeginningOfLine :, selectToMark :, yank: . @Tmsimont
marcelosalloum'a çok

1
Bu, Xcode her güncellendiğinde Google'da ilk bulduğum şey.
newDeveloper

1
Bu Çözüm, kabul edilen cevaptan çok benim için işe yarıyor
khalid

18

Tamam, şunu buldum:

XCode 11 sürümü:

selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:
  • panoya dokunmaz
  • birden çok hatla çalışır
  • eklenen satırları seçer, böylece yeniden seçilmeden birden çok kez kullanılabilir
  • XCode 11'de sabit seçim
  • geri alma ile daha iyi çalışır

Bu değişikliği her XCode güncellemesinden sonra uyguladığım için bunun için bir komut dosyası oluşturdum. Muhtemelen biraz hasara neden olabilir, ancak nispeten güvenli hale getirmeye çalıştım. Dosyanın bir kopyasını oluşturur ve ardından perl kullanarak satırı ve ek komutuyla değiştirir. XCode'un yüklenmesini gerektirir/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

Eski sürüm (Yeni sürümün eski sürümlerle uyumlu olup olmadığından emin değilim, bu yüzden burada tutacağım):

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

ve manuel dosya düzenlemeyi önlemek için eski sürüm için komut dosyası:

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: küçük düzeltme edit2: paragraf seçimine değiştirildi edit3: XCode 11 için eklenen sürüm


Bu kombinasyonu aradığınız için gerçekten teşekkürler. Bu, istenmeyen yeni satırlar eklemeden tek satırı veya birden çok satırı kopyalayabilir ve ayrıca ctrl-z iyi çalışır.
mkeremkeskin

Teşekkürler, IntelliJ davranışına en yakın olan budur IMHO
OxyFlax

17

Bugün Xcode 5 için satırları ve seçimleri silen ve kopyalayan çok küçük bir eklenti yazdım.

GitHub depomdan indirebilirsiniz : XcodeKit Eklentisi - https://github.com/ptfly/XcodeKit


Bunu yeni indirip yükledim - Komutlar için klavye kısayolları ayarlamak için Sistem tercihlerini de kullanabilirsiniz. Çok hoş!
Orion Edwards

En iyi çözüm, bunun mevcut panoyu bozmamasıdır. Tuş bağlantıları eklemek için: Sistem tercihleri ​​-> klavye -> kısayollar -> uygulama kısayolları -> '+'. Xcode ve menü başlığı seçin, örneğin 'Seçimi / Satırı Sil'
Sjoerd Perfors

Bunu yeni kurdum. MUHTEŞEM, yine de bazı nedenlerden dolayı, düzenleme altındaki "Yinelenen" menüm gri görünüyor. Editörde bir satır seçmeme rağmen, imleç ve tüm satırı seçmeyi denedim.
John Ballinger

Bu harikadan da fazlası. Teşekkür ederim!
0x6A75616E

benim için çalışmıyor. "Çoğalt" gri renkte görünür ve klavye kısayolu da çalışmaz.
SquareBox

13

@ Hailei'nin cevabı oldukça iyiydi, ancak el ile kopyala / yapıştır yaklaşımının kaçınmaya çalıştığım kısmı olan pano içeriğini bozmanın talihsiz bir yan etkisine sahipti (kopyalanan satırın içeriği ile doldurulmuş halde bırakarak) .

Ben de komut dizisini şu şekilde değiştirdim:

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

Bir kenara bir şey ayarladıysanız, 2 yank:s amaçlandığı gibi çalışmayabilir , ancak varsayılan olduğundan oldukça eminim ve bunu değiştirmek için önemsiz olmayan bazı işler yapmanız gerekir (bir giriş eklemeyi gerektirir ).NSTextKillRingSize11~/Library/Preferences/.GlobalPreferences.plist


defaults write -g NSTextKillRingSize 1GlobalPreferences.plist ile oynamak yerine komutu kullanmanızı öneririm. ;)
dbernard

@amas Büyük olasılıkla, ana klasör (ler) deki izinleri değiştirme riskini almak istemiyorsanız, dosyayı değiştirmeden önce orijinal dosyanın üzerine yazmanız gerekebilir.
nipponese

bu neredeyse işe yarıyor, ancak bir nedenden ötürü çoğaltılan satırın sonuna bir sürü boşluk ekleniyor .. neden?
tmsimont

5
bu değişiklikle düzelttiyse:moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, setMark:, moveToBeginningOfLine:, selectToMark:, yank:
tmsimont

Önerilen cevap bu olmalıdır (@ Hailei'nin rehberini takip edin). Teşekkürler!
brkeyal

9

Neden tek bir satırı kopyalıyorsunuz? Tüm paragrafı kopyalamak daha iyidir. Sıram:

Mevcut Paragrafı Çoğalt

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

Mevcut Paragrafı Sil

selectParagraph:,
delete:,
moveUp:,
moveToEndOfParagraph:

Xcode 4.6'da iyi çalışıyor


Anlaşılan, paragrafları değiştirmek satırlardan üstündür. Herkes, düzenleyicinizi metni kaydıracak kadar daraltın ve satır komutlarını kullanmaya çalışın.
Logan Moseley

Kodunuzun sardığı pencereniz ne kadar küçük. Çok sık oluyorsa, kodunuzu daha küçük satırlara bölmeyi düşünün.
quemeful

9

Hem imleci hareket ettirmek hem de tüm satırları seçmek için (ekleyerek) ok tuşlarıyla ( ) birlikte neden kimsenin bahsetmediğini merak ediyorum. ) için .

Düzenli kullanarak bir satırın başında imleci hareket ettirerek tüm satırları (yinelenen) kopyalamak + (yerine ctrl+ A) ve daha sonra kullanmak + + (yerine ctrl+ +E ucuna bütün çizgi seçip kopyalamak için) / yapıştırın.

Kimsenin bu klavye kısayollarını kullanmadığı başka konularla karşılaştım. OS X'te küreseller ve onları her zaman kullanıyorum! Çok daha az el akrobasi;)


Bu, yalnızca 1 eylem / tuş kombinasyonu ile çoğaltmaktan çok daha fazla "el akrobasi" gerektirir ... bir metin düzenleyicide veya web tarayıcısında metni çoğaltma yöntemim budur, evet, ancak IDE'den biraz daha fazlasını bekliyorum.
Ixx

1
Ayrıca, yinelenen satır kısayoluyla pano içeriğinin üzerine yazmazsınız. Çoğu zaman bir şeyi kopyalar, kodu çoğaltır ve yapıştırmak istersiniz - yönteminizle tekrar kopyalamanız gerekir.
Ixx

İyi evet. Ancak OP'nin önerdiğinden daha az. Tek bir komutun en iyisi olduğuna katılıyorum. Bir alternatif göstereceğimi düşündüm.
Baldur

1
bu, kutudan çıkar çıkmaz olmaktan daha iyidir. Seçim yapılmadan cmd + C / X'in diğer editörlerin yaptığı gibi tüm satırı kopyalamasını / kesmesini
diliyorum

@Baldur Ben de bunu yapıyorum. cmd + sol cmd + üst karakter + sağ cmd + c cmd + sağ giriş cmd + sol cmd + p. 7 tuş vuruşunda 3 saniyeden daha kısa sürede kolayca yapılabilir, ancak yine de birçok metin düzenleyicide olduğu gibi ctrl + d'ye göre oldukça sıkıcıdır. Bunun xcode'da yerleşik olmaması veya genel olarak mac ve apple yazılımının daha iyi kısayol tuşlarına sahip olmaması talihsiz bir durumdur.
csga5000

9

DÜZENLEME: Tem 12, 2020 Xcode 11.5'e tekrar güncelledikten sonra duplicate line,plist dosyadaki kayboldu. Tekrar eklemem gerekiyordu. Yine de kilit bağlantı hala oradaydı.

DÜZENLEME: Eylül 17, 2019 Xcode 10.3'e tekrar güncelledikten sonra duplicate line,plist dosyadaki kayboldu. Tekrar eklemem gerekiyordu. Yine de kilit bağlantı hala oradaydı.

DÜZENLEME: 28 Mayıs 2019 Xcode 10.2'ye tekrar güncelledikten sonra dosyadaki duplicate lineanahtar girişim plistkayboldu. Tekrar eklemem gerekiyordu. Yine de kilit bağlantı hala oradaydı.

DÜZENLEME: 23 Aralık 2018 Xcode 10.1'e güncellemeden sonra tüm kısayollarım tekrar bozuldu. Ancak farklı bir şey, plist dosyasını satır çoğaltması için güncelledikten sonra, anahtar bağlamalarımı tanımlamama gerek kalmadı, zaten oradaydı. Garip.

DÜZENLEME: 14 EKİM 2018 Xcode 10: Apple'da üst düzey bir kişi kopyala / yapıştırmayı çok seviyor ve Xcode güncellemesinin her sürümünde, satır çoğaltmanın herkesin yüklemesinden kaldırıldığından emin oluyor. Biz geliştiriciler, satır çoğaltma seçeneği olmayan tek IDE olan Xcode'da sonsuza kadar süren bu saçmalıktan son derece hüsrana uğradık. Xcode 10'a yeni güncelledim ve tahmin ettiğiniz gibi - tüm kısayol tuşlarım, satır çoğaltma işlevimle birlikte kaldırıldı. Ancak, orijinal cevapta olduğu gibi düzeltilebilir. Bu sefer küçük bir fark, aşağıdaki satıra ihtiyacınız olacak:

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

DÜZENLEME: Xcode 9: Kısayollarımı ve satır çoğaltma ve silme işlemlerini yeniden yapmak zorunda kaldım, ancak iyi olan şey, şimdi IDETextKeyBindingSet.plist'i yeniden düzenleyebilmeniz. Bu yüksek seviyeli Apple adamı, bu sürümü yayınladıklarında tatilde olmalı.

DÜZENLE: Xcode 8: Buggy, IDETextKeyBindingSet.plist dosyasını hiçbir şekilde değiştiremezsiniz. Xcode başlangıçta onu sıfırlar. Apple'daki bu üst düzey adam, diğer tüm IDE'lerde olduğu gibi basit satır çoğaltma yerine kopyala / yapıştır kullanmamıza gerçekten kararlı.

DÜZENLEME: Xcode 7.1 ve hala satır çoğaltma ve silme için kısayollar yoktur. Bu, bu tür kısayollar olmadan şimdiye kadar çalıştığım tek IDE. Ve bu iki kritik kısayol olmadan bir geliştiricinin hayatını hayal edemiyorum.

İşte nasıl yapılabileceği:

Öncelikle, Xcode.app paketinin içinde bulunan bir plist dosyasını değiştirmemiz gerekir (düzenlemek için sudo gerekir)

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

Ardından arayıp etiketinin <key>Insertions and Indentations</key>altına <dict>aşağıdakileri ekleyin:

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

Ardından etiketinin <key>Deletions</key>altındaki bölümde ve bunları bulun <dict>:

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

görüntü açıklamasını buraya girin

Şimdi Xcode'u Açın / Yeniden Başlatın, Tercihler'e gidin ve "Anahtar Bağlamalar" sekmesine gidin. Yeni kısayolları filtrelemek ve aramak için arama çubuğunu kullanın. Ardından, istediğiniz kısayol atamak için kısayol açıklamasının önüne tıklayın. Kısayolunuzun mevcut kısayollarla çakışmadığından emin olun.

görüntü açıklamasını buraya girin


3

Komut dizisini şu şekilde revize etmeyi düşünürdüm:

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

Eklenen deleteToBeginningOfLine, çoğaltılan satırın girintisini korur.


Bu, (güzel görünen) satırsonlarını virgülden sonra bir boşlukla değiştirmem gerektiğini fark ettiğimde harika çalıştı.
McUsr

2

insertLineBreak en azından yeni satırda kopya yapmam için gerekli, onsuz aynı satırda kopya almam


2

MacOS Sierra ve Xcode 9'da .plist dosyasının kilidini açmakta büyük bir sorun yaşadım, hatta @Tim kararı benim için işe yaramadı. Aynı sorunu yaşıyorsanız terminale gidin ve şunu yapın:

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

Bunu yapmanın başka birkaç olası yolu da burada açıklanmaktadır .

Ardından nano düzenleyicide ^W'Eklemeler ve Girintiler' bölümüne geçmek için 'eklemeler'i tıklayın ve yazın. <dict>Etiketinin hemen altına şu xml-snippet'i yapıştırın:

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

Dosyayı nano düzenleyicide kaydetmek için control + X, ardından Yve ardından düğmelerine basın Enter.

UPD: Kopyalamadan önce ek bir satır ekleyen daha iyi bir karar buldum (hemen altında başka bir satır olan bir satırı kopyalamak istediğinizde kullanışlıdır):

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

1

İşte benim Sil ( CTRL+D IDETextKeyBindingSet.plistimdeki ) ve Yinelenen ( CMD+ SHIFT+ D) girdilerim. (/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources içinde)

Bunları sadece Xcode 4.6.1'de ayarladım (yukarıdaki ve başka yerlerde user570753'ün cevabına göre)

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

0

XCode'da sublime'ın duplicateLineUp ve duplicateLineDown ile eşleşmesi isteyen tüm sublime metin kullanıcıları , lütfen aşağıdakileri IDETextKeyBindingSet.plist dosyanıza ekleyin

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

0

Başka birinin IDETextKeyBindingSet.plist'i düzenlemesine erişiminin reddedilmesi durumunda, kendinize şu şekilde okuma / yazma izinleri verebilirsiniz:

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

0

Hailei'nin cevabını tamamlamak için benim için en iyi şekilde çalışan komutlar şunlardı:

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

Önerilen komutları benim için istenen satırı iki satırın altına kopyalamaktı.


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

Yinelenen hat (lar) desteklenir. (Bu, Xcode 9.2'de çalışır)


0

Xcode 11'e gelince, yukarıdakilerin hiçbiri benim için çalışmadı. İlk yanıt, satırı sonraki satırdan sonra eklediği için tuhaf bir davranışa sahipti. Ancak aşağıdaki cevap benim için çalıştı.

<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>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.