Baris duplikat dalam kode Visual Studio


146

Saya mencoba menemukan jalan pintas untuk menduplikasi baris dalam Visual Studio Code (saya menggunakan 1.3.1) Saya mencoba CTRL+ yang jelas Dtetapi tampaknya tidak berhasil.



Ctrl + D untuk duplikasi baris tidak begitu jelas: ia berfungsi di Notepad ++ misalnya, tetapi menghapus baris saat ini di Eclipse :)
kol

Lihat ekstensi Duplikat Kontekstual
CharlesB

secara default, CTRL + Dcukup pilih kejadian berikutnya yang dipilih vs IDE lain.
Amir Kian

Jawaban:


253

Klik File > Preferensi > Pintasan Keyboard :

masukkan deskripsi gambar di sini

Telusuri copyLinesDownActionatau copyLinesUpActiondi pintasan keyboard Anda

Biasanya SHIFT+ALT +


Pembaruan untuk Ubuntu:

Tampaknya Ubuntu menyembunyikan pintasan itu agar tidak terlihat oleh VSCode (yaitu mungkin menggunakannya sendiri). Ada masalah tentang itu di GitHub .

Untuk bekerja di Ubuntu Anda harus menentukan pintasan Anda sendiri, misalnya untuk menyalin baris menggunakan ctrl+ shift+ alt+ jdan CTRL+ SHIFT+ ALT+ kAnda bisa menggunakan keybindings.jsonseperti ini:

[
    { "key": "ctrl+shift+alt+j", "command": "editor.action.copyLinesDownAction",
                                    "when": "editorTextFocus && !editorReadonly" },
    { "key": "ctrl+shift+alt+k", "command": "editor.action.copyLinesUpAction",
                                    "when": "editorTextFocus && !editorReadonly" }
]

Di Mac: Kode> Preferensi> Pintasan Keyboard. Shift + Option + Panah Bawah.
jarmod

2
Jawaban @DAXaholic benar jika Anda membutuhkan solusi sederhana, cukup pertahankan kursor pada baris yang ingin Anda duplikat dan tekan ctrl + c dan ctrl + v. bekerja dengan baik
Gopi P

1
Di Ubuntu 16.04, secara default, Ctrl+ Shift+ Up Arrow/ Down Arrowpintasan dipetakan untuk memindahkan jendela ke ruang kerja yang berbeda. Anda dapat mengubahnya Ubuntu -->System Settings --> Keyboard --> Shortcuts --> Navigationlalu tekan Backspaceuntuk menghapus pintasan yang tidak diinginkan.
mowen

1
Milik saya terikat ke Ctrl + Shift + Alt + DownArrow, tetapi sebenarnya tidak melakukan apa pun saat saya mengklik tombol tersebut.
Aaron Franke

104

Duplikat dapat dicapai dengan CTRL+ Cdan CTRL+ Vdengan kursor di baris tanpa ada yang dipilih.


35
Saya belum menurunkan suara, tetapi saya akan membayangkan ini tidak dapat diterima untuk OP karena ini menyalin baris ke clipboard, yang merupakan salah satu alasan yang sangat baik untuk menginginkan perintah "baris duplikat" daripada perintah salin / tempel.
Matt Dell

1
Ini tidak berfungsi jika editor.emptySelectionClipboardopsi disetel ke false(konfigurasi pilihan saya).
Bill_Stewart

8

1
Satu hal yang menarik yang saya catat dalam metode ini adalah, tidak perlu melepaskan Ctrl Key setelah menekan 'C' (Lepaskan hanya setelah melepaskan V)
Arun

Ini merusak seluruh tujuan duplikasi baris instan.
Arman Karimi

53

Anda dapat menggunakan berikut ini tergantung pada OS Anda:

Windows:

Shift+ Alt+ atau Shift+ Alt+

Mac:

Shift+ Option+ atau Shift+ Option+

Linux:

Ctrl+ Shift+ Alt+ atau Ctrl+ Shift+ Alt+

Catatan: Untuk beberapa distro linux gunakan panah Numpad


9

Telusuri copyLinesDownActionatau copyLinesUpActiondi pintasan keyboard Anda

Biasanya, SHIFT+ ALT+


7

Ubuntu:

  • Gandakan Line Up: Ctrl+ Alt+ Shift+8
  • Gandakan Garis Bawah: Ctrl+ Alt+ Shift+2

1
bekerja dengan baik untuk saya. Terima kasih atas jawabannya.
singhkumarhemant

1
Ini sebenarnya adalah solusi yang bagus (bekerja di Ubuntu 20 & 19) yang tidak memerlukan perubahan apa pun ke pengaturan default. Mungkin tidak terlihat sangat intuitif tetapi 8 & 2 sebenarnya Naik dan Turun di Papan Angka
pengguna273711



2

Ada perintah baru di v1.40: editor.action.duplicateSelectiontidak terikat ke keybinding apa pun.

Pilihan duplikat

Kami telah menambahkan tindakan baru bernama Duplicate Selection. Saat dijalankan, pilihan saat ini akan diduplikasi dan hasilnya akan dipilih. Jika tidak ada pilihan, baris saat ini akan diduplikasi, semuanya tanpa menulis ke papan klip sistem.

dari https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_40.md

Beberapa orang mungkin merasa terbantu dalam situasi tertentu.


0

2 pintasan lain yang sangat berguna adalah memindahkan garis yang dipilih ke atas dan ke bawah, seperti teks luhur ...

{
  "key" : "ctrl+shift+down", "command" : "editor.action.moveLinesDownAction",
  "when" : "editorTextFocus && !editorReadonly"
},

dan

{
  "key" : "ctrl+shift+up", "command" : "editor.action.moveLinesUpAction",
  "when" : "editorTextFocus && !editorReadonly"
}

Salah. Anda tidak perlu selectgaris di ST untuk menduplikasinya.
Hijau

jalan pintas adalah untuk memindahkan "garis" yang dipilih
Nishant Baranwal

0

Versi Kode VC: 1.22.2 Buka: Kode -> Preferensi -> Pintasan Keyboard (cmd + K; cms + S); Ubah (edit): "Tambahkan Pilihan Ke Pencarian Berikutnya yang Cocok": "cmd + apa yang Anda inginkan" // bagi saya ini adalah "cmd + D" dan saya pur cmd + F; Pergi ke "Salin Garis Bawah": "cmd + D" // edit ini dan setel cmd + D sebagai contoh Dan bagi saya itu saja - saya menggunakan mac;



0

Anda dapat membuat keybindings yang hanya aktif saat Vim for VSCode aktif dan dalam mode tertentu (misalnya, "Normal", "Sisipkan", atau "Visual").

Untuk melakukannya, gunakan Ctrl+ Shift+ Puntuk membuka Palet Perintah VSCode, lalu cari "Preferensi: Buka Pintasan Keyboard (JSON)" - memilih opsi ini akan membuka keybindings.json . Di sini, pengikatan khusus dapat ditambahkan.

Misalnya, berikut adalah perintah VSCode klasik untuk memindahkan / menggandakan baris yang diubah untuk kemudahan penggunaan di Vim ..

    [
      {
        "key": "alt+j",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+j",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+k",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+k",
        "command": "editor.action.copyLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
    ]

Sekarang kita dapat menggunakan perintah ramah Vim ini di VSCode!

  • Alt+ Juntuk memindahkan satu baris ke bawah
  • Alt+ Kuntuk memindahkan satu baris ke atas
  • Shift+ Alt+ Juntuk menduplikasi garis ke bawah
  • Shift + Alt+ Kuntuk menduplikasi baris

0

Pembaruan yang dapat membantu pengguna Ubuntu jika mereka masih ingin menggunakan dan sebagai ganti dari satu set kunci.

Saya baru saja menginstal versi baru VSCode di Ubuntu 18.04 LTS dan saya memiliki perintah duplikat untuk Add Cursor AbovedanAdd Cursor Below

Keybindings Asli

Saya baru saja menghapus binding yang digunakan Ctrldan menambahkan milik saya dengan yang berikut ini

Copy Line Up

Ctrl+ Shift+

Copy Line Down

Ctrl+ Shift+

Keybindings baru


0

Ada berbagai cara.

  • Tekan CNTRL + C dan CNTRL + V.
  • Tekan Shift + alt + downarrow untuk menduplikasi garis ke sisi bawah
  • Tekan Shift + alt + uparrow untuk menduplikasi garis ke atas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.