Pengeditan multiline dalam Visual Studio Code

581

Apakah mungkin untuk mengaktifkan pengeditan multiline seperti di Sublime Text ?

Misalnya, tekan Ctrluntuk menempatkan kursor kursor tambahan dan mampu menulis / menghapus beberapa tempat dalam dokumen sekaligus.

AfBu
sumber
4
Di banyak aplikasi mac (mis. TextEdit), saya juga dapat meng-drag mouse untuk memilih kotak. Apakah ini tersedia dalam Kode VS?
Simon Woodside
Posting terkait di sini .
RBT
2
Mulai April 2018 (versi 1.23), kita dapat menggunakan tombol tengah mouse untuk memilih banyak kolom. code.visualstudio.com/updates/…
blueray
5
Bagi siapa pun yang mencari nama perintah ini di bagian pintasan keyboard, itu adalah:editor.action.insertCursorAtEndOfEachLineSelected
enzoborgfrantz
1
@enzoborgfrantz +1 Persis apa yang saya cari! Jawaban yang dipilih harusnya pertama kali menyebutkan perintah editor yang relevan karena ikatan kunci dapat bervariasi.
pius

Jawaban:

1064

Di Windows, Anda menahan Ctrl+ Altsambil menekan tombol panah atas atau bawah untuk menambahkan kursor.

Mac: ⌥ Opt+ ⌘ Cmd+ /

Linux: Shift+ Alt+ /

Perhatikan bahwa perangkat lunak pihak ketiga dapat mengganggu pintasan ini, mencegahnya berfungsi sebagaimana mestinya (khususnya perangkat lunak HD Graphics Intel pada Windows; lihat komentar untuk detail lebih lanjut).

Jika Anda mengalami masalah ini, Anda dapat menonaktifkan tombol pintas Intel / perangkat lunak lain, atau memodifikasi pintasan Kode VS (dijelaskan di bawah).

Tekan Escuntuk mengatur ulang ke satu kursor tunggal.

Kursor multiline dalam Visual Studio Code

Atau, seperti yang ditunjukkan Isidor Nikolic , Anda dapat menahan Altdan mengklik kiri untuk menempatkan kursor secara sewenang-wenang.

Kursor multiline yang ditempatkan secara sewenang-wenang dalam Visual Studio Code

Anda dapat melihat dan mengedit pintasan keyboard melalui:

File → Preferensi → Pintasan Keyboard

Dokumentasi:

https://code.visualstudio.com/docs/customization/keybindings

Lembar cheat shortcut keyboard VS Code resmi:

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
https://code.visualstudio.com/shortcuts/ keyboard-shortcuts-linux.pdf

Nacimota
sumber
155
Di windows, opsi pertama hanya membalik layar saya. : - /
Kristoffer la Cour
26
Ini tidak berlaku lagi. Coba CTRL + SHIFT + UP/DOWN/CLICKATAUALT + SHIFT + UP/DOWN/CLICK
Han
39
@Nacimota - pada mesin windows 10 (baru saja diuji sekarang) kombinasi CTRL + ALT + ARROW akan membalik layar, CTRL + ALT + SHIFT + ARROW akan membuat kursor baru. Daftar pintasan keyboard PDF yang dipublikasikan mungkin kedaluwarsa.
Alex C
11
@AlexC pintasan tidak ketinggalan zaman; unduh versi terbaru dan lihat sendiri konfigurasinya. Jika Anda menemukan bahwa pintasan yang tercantum membalik layar Anda, saya bertaruh itu karena Anda memiliki GPU Intel dan sedang menjalankan perangkat lunak Intel untuknya yang secara default memotong pintasan ini. Buka perangkat lunak HD Graphics dan nonaktifkan atau hapus hotkey jika itu mengganggu Anda, tetapi jangan mengedit posting saya untuk menambahkan informasi yang salah . Pintasan yang tercantum akurat, dan saya tidak akan mencantumkan setiap bagian dari perangkat lunak pihak ke-3 yang mungkin atau mungkin tidak mengganggu mereka.
Nacimota
6
@Nacimota dengan segala hormat, itu adalah kesalahan jujur ​​yang mewakili kenyataan bagi sebagian besar pengguna. Ada cukup banyak mesin intel di luar sana di mana ini mungkin merupakan konfigurasi default sehingga informasi tambahannya berharga. Kami berdua memiliki tujuan untuk memberikan jawaban terbaik yang terbaru. Kalimat tambahan untuk menyebutkan perbedaan itu akan sangat membantu.
Alex C
137

Dipecahkan hanya menggunakan dua langkah!

  1. Ctrl + F

  2. Alt + Enter

Ini sama dengan Alt+ Teks Luhur F3.

Masukkan deskripsi gambar di sini

Peter Mortensen
sumber
21
Efek yang sama memberi Anda menekan ctrl + F2
ksopyla
2
Bisakah kita memilih semua baris sekaligus yang mengandung kata kunci itu? Teks luhur memilikinya Ctrl + F> Alt + F3> Ctrl + L
Anirban
Apa ini dalam istilah Mac? Ctrl dan Alt digantikan oleh ...?
OldPeculier
67

Anda bisa Alt+ klik untuk kursor tambahan. Dan seperti yang telah disebutkan, Ctrl+ Alt+ atau .

Isidor Nikolic
sumber
9
Dan Anda dapat menggunakan Alt + Shift + klik untuk memilih dua baris dan setiap baris di antaranya.
Steven Liekens
6
Pertanyaannya adalah, bagaimana cara mengedit Key Binding (Apa Alt + Clicknama itu?)
David Refoua
Alt + klik secara otomatis mendefinisikan kata, atau bergerak ke kiri kata dan tidak berfungsi untuk saya.
jbodily
Menemukan jawaban untuk pertanyaan saya, bisa Alt (yang default , atau Ctrl / option. Opsi ini dapat dimodifikasi dengan "editor.multiCursorModifier": "ctrlCmd"kunci settings.json.
David Refoua
62

Memilih kotak

Windows: shift+ alt+Mouse Left Button

macOS: shift+ option+Click

Ini bertentangan dengan apa yang disebutkan dalam jawaban untuk Apakah Visual Studio Code memiliki kotak pilih / edit multi-line? .

Peter Mortensen
sumber
Saya bukan penggemar Shift + Alt + Click (meskipun berfungsi). Jadi untuk membuatnya bekerja (pada Windows) seperti di VS, saya melakukan ini: buka menu Pilihan, dan pilih Beralih ke Alt + Klik untuk Multi-Kursor. Sekarang Alt + Click tidak memilih kotak.
Kon
27

Gunakan Ctrl+ Duntuk menggunakan pengeditan banyak kata dari kata yang sama di Windows dan Linux.

Gunakan CMD+ Duntuk Mac.

Krishnaraj R
sumber
Seperti yang dikatakan @Krishnaraj, Ctrl + D berfungsi. Sebenarnya baik VSCode dan Sublime mendukung ini. Pastikan menerapkan Ctrl + D pada semua kejadian nanti tanpa melepaskan ctrl. Ya, Anda masih perlu memilih secara manual, itu hanya membantu Anda membebaskan mouse Anda. MacOS Command + D
Oscar Zhang
22

Dari versi 1.13 (Mei 2017) Anda akhirnya dapat mengubah kunci pengubah default untuk membuat beberapa kursor (tambahkan ke pengaturan):

"editor.multiCursorModifier": "ctrlCmd"

PS: Pengubah "ikuti tautan" mulai saat ini Alt.

Alex
sumber
Banyak dari jawaban lain ini tidak menjawab pertanyaan. Yang ini - cara menempatkan ekstra carets dengan klik mouse.
Aleksander Niedziolko
17

Di Mac itu adalah:

Option+ Commandsambil menekan tombol panah atas atau bawah .

kiewik
sumber
16

Saya ingin memilih beberapa baris dan menekan "sesuatu" untuk memiliki kursor untuk setiap baris yang dipilih (mirip dengan Ctrl+ Shift+L dalam Sublime Text). Tindakan ini dalam Visual Studio Code disebut "Tambahkan Kurs ke Baris Berakhir".

Ini diuji dalam Visual Studio Code 1.22 dan bekerja pada Windows dan Mac .

Inilah caranya:

  1. Pilih jalur yang Anda inginkan memiliki banyak kursor.
  2. Cukup tekan Alt+ Shift- I.

Anda sekarang memiliki satu kursor per baris yang dipilih.

Maxime
sumber
1
@Manza Dalam VS Code, Anda ALT-SHIFT-I(seperti itidak L). Font tidak membantu melihat dengan benar. Saya menggunakan perintah ini beberapa kali per hari pada Mac dan Windows dan hanya menguji sekali lagi dengan versi terbaru dari Kode VS: 1.24.1 dan saya jamin Anda berhasil. Mungkin Anda memiliki plugin yang menyebabkan konflik?
Maxime
wow ya, itu lakukan triknya, terima kasih banyak, saya masih membalik-balik antara fitur luhur ini, adalah soooo berguna
Manza
bagi saya itu CTRL-SHIFT-L (windows)
spesimen
14

Saya menggunakan ekstensi vscodevim , jadi saya tidak yakin apakah ini masalah umum. Tapi, saya mengalami masalah di mana Ctrl+ Alt+ UpArrowmembalik layar saya terbalik.

Melihat Dasar-Dasar Kode Visual Studio (saya tidak tahu apakah mereka mengubahnya dalam pembaruan terbaru), ia mengatakan untuk menggunakan:

Ctrl+ Alt+ Shift+ ( Up/ down)

Andrew
sumber
1
Ctrl + Alt + [Tombol Panah] adalah pintasan keyboard umum untuk rotasi layar, tentunya dengan driver grafis Intel dan / atau perangkat lunak terkait. Saya membayangkan sedang dicegat oleh ini sebelum VSCode melihat. Baru-baru ini (dan mengganggu, karena saya dulu menggunakannya) rotasi tampaknya telah dihentikan dalam pembaruan untuk perangkat lunak Intel dan sekarang hanya tersedia melalui menu yang bertele-tele di Windows. Karena itu pintasan keyboard harus bekerja di VSCode dengan driver yang lebih baru.
Bob Sammers
9

Langkah 1:

Pilih kata yang akan diganti


Langkah 2:

Ctrl+ Fini akan memilih beberapa kemunculannya


Langkah 3:

Alt + Enterini akan mengatur kursor pada semua kejadian yang ditemukan


Langkah 4:

Mulailah mengetik kata baru


Viraj Singh
sumber
6
Juga cmd+shift+Ldi Mac. Lakukan hal yang sama dalam satu langkah.
Andres
2
@Andres, terima kasih! Ini memang memecahkan masalah saya di Windows, solusi lain membalik layar saya.
Tarik Hacialiogullari
8

Pada April 2018 (versi 1.23) Anda sekarang juga dapat menggunakan tombol tengah mouse untuk memilih multiline / pilih kotak.

Jemmeh
sumber
Terima kasih untuk itu, ini menghemat waktu, adakah opsi untuk papan kunci? suka highlight dan kemudian ctrl + l di sublim?
Manza
Itu fitur yang sedikit berbeda, tetapi Anda mungkin mencari ctrl + i. code.visualstudio.com/docs/getstarted/keybindings
Jemmeh
8

Dalam rilis terbaru dari Visual Studio Code, Anda sekarang dapat menyeret kursor sambil menahan Option (Alt pada Windows) untuk memilih kolom yang sama pada beberapa baris.

Untuk mengaktifkan ini, pastikan Anda mengubah Anda editor.multiCursorModifieragar terlihat seperti ini:

"editor.multiCursorModifier": "ctrlCmd"

Dari catatan rilis Visual Studio Code 1.32.0:

Dalam video berikut, seleksi dimulai sebagai seleksi reguler dan kemudian Alt ditekan dan ditahan hingga tombol mouse dilepaskan:

Contoh pemilihan kolom yang ditingkatkan:

Tyler Becks
sumber
6

Di Windows, kombinasi di bawah ini berfungsi untuk saya:

  • Ctrl+ Shift+ Alt+down arrow
  • Ctrl+ Shift+ Alt+up arrow
Dnyneshwar
sumber
Ini tampaknya identik dengan Visual Studio!
GaTechThomas
4

Saya pikir itu tergantung pada versi Visual Studio Code Anda.

Milik saya adalah versi Linux Visual Studio Code 1.7.2.

                                     "when": "editorTextFocus" },
{ "key": "shift+alt+up",          "command": "editor.action.insertCursorAbove",
                                     "when": "editorTextFocus" },
{ "key": "ctrl+shift+down",       "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" },
{ "key": "shift+alt+down",        "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" }```

The point is the shortcuts are not same in all machines, so you should check your configuration. Go to menu:

> Menu *File* → *Preferences* → *Keyboard Shortcuts*

Search for `editor.action.insertCursorAbove` and `editor.action.insertCursorBelow` and see your current configurations. You may change them if they conflict with operating system's shortcut keys.



Han
sumber
Menambahkan SHIFT + ALT + ATAS / BAWAH ke pengaturan pengguna saya bekerja pada Windows 10
SteveC
4

Dalam Visual Studio Code cukup tekan Altdan tempatkan kursor Anda ke tempat edit (di mana Anda ingin mengedit) dan klik kanan untuk memilih.

Robin
sumber
2
Jawaban ini tampaknya tidak lengkap
Spangen
4

Solusi yang berfungsi untuk saya adalah pertama - tama memilih teks yang diperlukan untuk diedit dan kemudian menggunakan CTRL+ F2untuk memilih semua data yang cocok di halaman. Anda juga dapat menggunakan CTRL+ Shift+ Lseperti yang disarankan oleh @lesterCovax

Tolong dicatat: Solusi di atas menggunakan kemampuan yang melekat dari editor VSCode untuk memilih teks yang sama di seluruh halaman, dan oleh karena itu, berhati-hatilah.

Bagi saya solusi Ctrl+ ALT+ di atas Arrowkeystidak berfungsi karena menyebabkan layar mengubah orientasi tampilan terhadap pemilihan garis dalam VSCode.

masukkan deskripsi gambar di sini

RICHARD ABRAHAM
sumber
3

Selain semua jawaban, ada satu cara lagi. Pilih garis yang Anda inginkan dan kemudian tekan:

  • Windows: Shift+ Alt+i
  • Mac: shift+ option+i

Ini menempatkan kursor di setiap baris dalam seleksi.

Pulkit Agarwal
sumber
Ini bekerja dengan sempurna! terima kasih
Miguel Stevens
2

Jika Anda menggunakan Linux, ada kemungkinan konflik dengan Alt+ klik , yang merupakan default untuk "memindahkan jendela".

Anda bisa pergi ke menu SettingsJendela PerilakuJendela PerilakuActions tab

Hapus Alt+left (tahan) dan itu akan berhasil.

Ini adalah cara terbaik, karena Anda tidak perlu memegang dua +tombol untuk melakukan tugas yang begitu sederhana.

Marcelo Agimóvel
sumber
2

Saya menggunakan Teks Sublim keymap dan pengikat tombol yang disediakan oleh jawaban atas sepertinya tidak berfungsi :( Bisa jadi ada beberapa konflik antara Visual Studio Code dan keymap yang luhur.

Pengikat kunci yang direkomendasikan oleh @Han bekerja untuk saya (sangat dihargai!):

  • Masuk ke mode kursor multiline dengan Ctrl+ Shift+ Up/Down
  • Keluar dengan Esc

(Sidenote) Di bawah ini adalah contoh kecil menggunakan Emmet bersama dengan kursor multiline (diaktifkan dan dinonaktifkan dengan ikatan kunci yang tercantum di atas):

Masukkan deskripsi gambar di sini

Shan Dou
sumber
2

versi 1.43 (Februari 2020)

Anda sekarang dapat beralih mode pemilihan kolom, yang mengubah gerakan mouse dan tombol panah, melalui:

  • Bilah Menu> Pilihan> Mode Pemilihan Kolom
  • Ctrl+ Shift+ P(Tampilkan Semua Perintah)> Toggle Column Selection Mode
  • Ikat kunci untuk perintah "editor.action.toggleColumnSelection"

masukkan deskripsi gambar di sini

Catatan: Ada panel "Pilihan Kolom" di bilah status setelah aktivasi, yang dapat Anda tekan untuk menonaktifkannya lagi.

ford04
sumber
1

Pengaturan saya: Windows 8.1 64 bit, Visual Studio Code versi 1.33.1.

Masalah: Konflik dengan pintasan keyboard Intel HD Graphics 4000

Saya punya masalah ketika saya menggunakan pintasan default dari Visual Studio Code ( Ctrl+ Alt+ UP, Ctrl+ Alt+ DOWN). Dalam kasus saya, perintah ini memutar layar saya masing-masing dalam 0º dan 180º. Itu terjadi, karena ada aplikasi Intel Grafis yang diinstal di komputer saya. Kemudian, saya cukup menonaktifkan pintasan aplikasi ini.

Berikut ini adalah tutorial untuk membantu seseorang.

Rui M.
sumber
1
Di Windows 7 Anda dapat mengklik kanan desktop, pilih opsi grafik -> hotkeys -> disable.
Moritz Roessler
0

Cukup Optklik untuk saya di Mac

pemula
sumber
0

The solusi dari @maxime dari menggunakan SHIFT + ALT + ibekerja untuk saya, ketika saya perlu cepat mengedit ~ 20k baris dalam file. Sebagian besar cara pintas keyboard lain yang disebutkan hanya berguna untuk jumlah baris yang terbatas. SHIFTpilih area yang ingin Anda edit kolom, lalu tekanSHIFT + ALT + i adalah cara paling efisien untuk menangani hal ini.

Apa yang secara tidak sengaja saya temukan, (dan belum disebutkan di sini) adalah bahwa ada batas 10k baris dalam "mode edit kursor" (ada permintaan fitur Github terbuka untuk meningkatkannya). Ini berarti bahwa untuk file yang sangat besar, mungkin lebih baik skrip hasil edit Anda, daripada melakukannya secara manual.

Bagi mereka yang suka @specimen yang harus menggunakan cara pintas seperti CTRL + SHIFT + L(pengikatan default Select all occurrences of current selection) untuk melakukannya, Anda harus memeriksa bahwa Anda tidak menginstal ekstensi keymap. Anda dapat memeriksa dengan mencari @recommended:keymapsdi panel ekstensi, pergi ke File > Preferences > Keymaps( CTRL+K CTRL+M).

Keymap [Windows] default dapat ditemukan dalam bentuk PDF DI SINI , atau Anda dapat pergi ke File > Preferences > Keyboard Shortcutsuntuk menemukan / memodifikasi binding saat ini. Ada juga dokumentasi binding kunci yang lebih mendalam DI SINI .

LesterCovax
sumber
0

Di Linux Fedora (saya mencoba dengan Fedora 31) dengan KDE, buka:

  1. Pengaturan sistem
  2. Manajemen Jendela
  3. Perilaku Jendela
  4. Tindakan Jendela
  5. Jendela Bagian Dalam, Bilah Judul, dan Tindakan Bingkai
  6. Klik Kotak Klik Kiri
  7. Pilih Tidak melakukan apa pun (mengganti gerakan / seret)

Sekarang Anda dapat memilih beberapa baris dengan Alt + Klik Kiri !

kintsukuroi
sumber