Visual Studio Code'da doğru girintiyle kopyalayıp yapıştırma ayarları


96

Visual Studio Code kullanarak bir kod parçasını kopyalayıp yapıştırdığımda, yeni bir satır oluşturmak için enter tuşuna bastıktan sonra aşağıdakiler gerçekleşir:

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

Görünüşe göre, yeni satır tarafından oluşturulan girintiyi, kopyalanan ön bilgiden önceki bilgileri üstüne ekleyerek tutuyor. Kodun yapıştırmada otomatik olarak güzelleştirilmesini tercih ederim.

Bu davranış ayarlar aracılığıyla değiştirilebilir mi?

DÜZENLEME: Platformlar arası kopyalayıp yapıştırmadan bahsetmiyorum, Visual Studio Code'da aynı dosya içinde kopyalayıp yapıştırmaktan bahsediyorum.


a) kaynağınızdan ilk satırdaki boşlukları kopyalamayın veya b) yapıştırırken imlecinizin satırın başında olduğundan emin olun. Temel olarak VSC, "olduğu gibi" orada geçer.
newBee

Peki bunu ayarlar aracılığıyla değiştirmenin bir yolu yok mu?
Tiago

Metni vurgulamak ve birlikte taşımak ALT + Arrowkeygirintiyi koruyacaktır. Ayarları değiştirmeye bir alternatif arayanlar için.
Daniel Thompson

Yanıtlar:


103

Bu zaten vscode "editor.formatOnPaste": trueözelliğiyle ayarlara entegre edilmiştir .


12
Bu maalesef yapıştırılan herhangi bir kodu da biçimlendirir, ki bu her zaman istediğiniz gibi değildir.
philraj

2
Hayır, aynı değil. Github.com/Microsoft/vscode/issues/6392 kapatılmış, ancak aslında çözülmemiş uzun süredir devam eden bir sorun var , yorumlara bakın. İstediğimiz her şey, "editor.formatOnPaste": trueformat yapılırken metnin kopyalandığı başlangıç ​​seviyesi değil, hedef / hedef satırın girinti seviyesini korumak / eşleştirmek , örneğin python için PEP8 gibi.
ololobus

Benim istediğim gibi çalışıyor. İmlecin yapıştırdığım her yere kopyaladığım bölümü geçmesini istiyorum
Dave Pile

2
VSCode dışındaki her Metin Düzenleyici, bir Kullanıcının herhangi bir metni üç kez tıklamasına ve vurgulamasına izin verir. Kopyalamak için CTRL C ve ardından kopyalanan metni çoğaltmak için CTRL V, CTRL V. VS Kodu dışında, üçlü tıklama CTRL C CTRL V metni ayarlar ve ardından 2. CTRL V durumu daha da kötüleştirir. CTRL C CTRL V klavye kısayollarının en yaygın olanıdır, annem bile bunu biliyor.
NZ Dev

3
İfadenizin geri kalanına hemfikir olduğum kadar, bu görüşlü değil. KOPYA ve YAPIŞTIRMA GÖRÜŞ OLMAMALIDIR, KOPYALA ve YAPIŞTIR sadece 1 şekilde çalışmalıdır.
NZ Dev

41

Bu eklenti size yardımcı olabilir:

yapıştırma ve girinti uzantısı

Sadece kısayolu değiştirmeniz gerekiyor ve işe yarıyor. Mac kullanıyorsanız, muhtemelen kullanmak 'cmd'yerine kullanmak isteyeceğinizi unutmayın 'ctrl'. Bunun gibi:

{
    "key": "ctrl+v",
    "command": "pasteAndIndent.action",
    "when": "editorTextFocus && !editorReadonly"
},
{
    "key": "ctrl+v",
    "command": "editor.action.clipboardPasteAction",
    "when": "!editorTextFocus"
},
{
    "key": "ctrl+shift+v",
    "command": "editor.action.clipboardPasteAction",
    "when": "editorTextFocus && !editorReadonly"
}

9
Sublime Text 3 davranışını yeniden oluşturmak için bunu kullanın, yani. cmd + shift + v girintiyi yapıştırmak için: { "key": "cmd+shift+v", "command": "pasteAndIndent.action", "when": "editorTextFocus && !editorReadonly" }
phocks

Bu çözüm hala çalışıyor. Artık her kopyaladığımda / yapıştırdığımda kodun içine koymayı sevdiği kötü bir sekme yok.
Luminous

6
Buldum, "Klavye Kısayolları" na gidin ve ardından ekranın sağ üst köşesindeki "Klavye Kısayollarını Aç JSON" simgesine tıklayın, bulması zor sanırım!
Matt Fletcher

Bu uzantının büyük bir dezavantajı vardır: sadece yapıştırılan parçayı değil, yapıştırırken tüm dosya kodunu formatlar! Kaldırmam gerekiyordu.
sdlins

keybindings.jsonJSON snippet'ini eklemeniz gereken yeri bulmak için : Command Palette'de "Tercihler: Klavye Kısayollarını Açın (JSON) arayın
Cornelius Roemer

14

Ctrl+ ve Vardından Ctrl+ Zkutunun dışında çalışıyor gibi görünüyor.


2
Bu şaşırtıcı bir şekilde işe yarıyor. Bunu yapmak zorunda olmak biraz can sıkıcı ama hiç yoktan iyidir
Nate Beers

Cmd + V ve Cmd + Z'yi denediniz mi?
Philippe

bunu bir Microsoft ürününün kopyalama ve yapıştırma yeteneğini işleyememesi için bırakın ... OMG çok mutlu bir Linux dizüstü bilgisayar kullanıyorum ... teşekkürler bu geçici çözüm çalışıyor
Scott Stensland

-2

Basit bir çözüm , kodu kopyaladıktan sonra Ctrl+ Shift+ denemektir V. İçinde girintiler olan tüm kodları doğru şekilde yapıştıracaktır.


Bu tam olarak aynı şekilde çalışmıyor. Bunu deneyin: paragrafı vurgulayın - CTRL C, CTRL + SHFT + V, CTRL + SHFT + V. Çirkinleşiyor !!!!
NZ Dev

"Denemek" tuhaf geliyor. Bu tam olarak ne yapar? Ya bir kullanıcı kısayolları değiştirdiyse?
Nico Haase
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.