Bagaimana cara menduplikasi baris atau seleksi dalam Visual Studio Code?

733

Menggunakan Microsoft Visual Studio Code, bagaimana cara menduplikasi satu baris kode dan kemudian memindahkannya ke atas dan ke bawah? (Mirip dengan perilaku + cmd+ Sublime )shiftd

Ini adalah fitur yang saya gunakan terus-menerus, dan saya berjuang menggunakan Visual Studio Code tanpanya.

Chris
sumber
Apakah ini menjawab pertanyaan Anda? Baris duplikat dalam Visual Studio Code
Arash.Zandi

Jawaban:

1328

Perintah yang Anda cari adalah editor.action.copyLinesDownActiondan editor.action.copyLinesUpAction.

Anda dapat melihat ikatan kunci yang terkait dengan memilih: File> Preferensi> Pintasan Keyboard

Windows:

Shift+ Alt+ Downdan Shift+ Alt+Up

Mac:

Shift+ Option+ Downdan Shift+OptionUp

Linux:

Ctrl+ Shift+ Alt+ Downdan Ctrl+ Shift+ Alt+Up

(Mungkin perlu menggunakan numpad Downdan Upuntuk Linux)

Selain itu, perintah editor.action.moveLinesUpActiondan perintah editor.action.moveLinesDownActionuntuk memindahkan baris dan mereka terikat ke Alt+ Downdan Alt+ Updi Windows dan Mac dan Ctrl+ Downdan Ctrl+ Updi Linux.

Benjamin Pasero
sumber
59
Dan tampaknya Alt+Upatau Alt+Downmemindahkan garis yang ada naik turun. Bagus
Chris
2
Perlu dicatat bahwa tindakan copyLines tidak ada di Visual Studio penuh, hanya Kode Visual Studio.
user45623
4
Alat | Opsi | Lingkungan | Keyboard di VS2015
Mike Keskinov
15
Apakah Anda tahu cara "menggandakan pilihan"? Saya tidak dapat menemukan perintah yang sesuai :(
nZeus
25
Di Linux ctrl+shift+alt+down/uphanya berfungsi untuk tombol panah num pad.
Jack Steam
174

Anda dapat menemukan pintasan keyboard dari

File> Preferensi> Pintasan Keyboard

Pintasan Keyboard Default adalah,

Copy Lines Down Action : shift+ alt+down

Copy Lines Up Action : shift+ alt+up

Move Lines Up Action : alt+up

Move Lines Down Action : alt+down

Atau Anda dapat mengganti pintasan keyboard dari

File> Preferensi> Pintasan Keyboard

Dan mengedit keybindings.json

Contoh:

[
    {
        "key": "ctrl+d",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+up",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+down",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus"
    }
]
manukn
sumber
Juga, jika Anda harus memindahkan garis jauh, ctrl + C dan ctrl + X akan dengan mudah menyalin / memotong garis saat ini tanpa harus memilihnya. Dan ctrl + L(perintah expandLineSelection ) akan memilih baris. Mengulangi ctrl + L memilih garis tambahan membuat blok pilih mudah. Atau Anda dapat membuat blok kasar pilih dengan mouse dan kemudian ctrl + L untuk memasukkan ujungnya.
aamarks
saya menggunakan vscode 1.4 tidak berfungsi sayang
Kamlesh
49

Itu kehilangan jawaban untuk pertanyaan ini, "Cara menduplikasi pilihan kode" Mirip dengan perilaku Sublime cmd/ ctrl+ shift+ datau Jetbrains ' cmd/ ctrl+ d.

Instal plugin Pilihan atau jalur duplikat dari VS Code Marketplace

Pilihan duplikat atau plugin Baris Kode VS

Ekstensi ini menyediakan binding untuk ctrl+ d(Windows / Linux) dan cmd+ d(MacOS). Untuk menyesuaikan pintasan keyboard Preferensi -> Pintasan Keyboard:

{
  "mac": "cmd+d",
  "key": "ctrl+d",
  "command": "geeebe.duplicateText",
  "when": "editorTextFocus"
}

Catatan: Pintasan juga melakukan duplikat baris jadi jika Anda menginstalnya, hapus ctrl+ dpintas sebelumnya pada copyLinesDownAction(jika Anda melakukannya sebelumnya) jika tidak, pilihan duplikat dapat bug.

Antman Slaper Man
sumber
Saya merasa frustrasi dengan cara pintas "salin baris ke bawah" yang tidak benar-benar berperilaku seperti fitur Sublime Text / Intellij Ctrl + D (ini menyalin seluruh baris alih-alih hanya pilihan). Terima kasih telah menunjukkan plugin ini!
Timothé Malahieude
Saya baru saja akan meninggalkan vscode dan menginstal atom, tetapi ekstensi ini mencegah saya. fungsi duplikat default vscode tidak sesuai standar. atom jauh lebih baik dalam hal ini.
vikrant
31

Dalam VScode, mereka menyebutnya Copy Line UpdanCopy Line Down

Dari menu, pergi ke:

File> Preferensi> Pintasan Keyboard

Periksa pintasan keyboard yang sudah ditetapkan untuk ini, atau sesuaikan milik Anda.

Terkadang pintasan yang ditetapkan default mungkin tidak berfungsi, sebagian besar karena OS.

Di Ubuntu saya, saya menyesuaikan ini ke: Ctrl+ Shift+D

masukkan deskripsi gambar di sini

Nahid
sumber
24

Dalam VSCode Ctrl + CCtrl+ Vmenduplikasi seluruh baris di bawah ini.

Saya lebih suka ini daripada jawaban yang diterima, karena hanya membutuhkan satu tangan untuk melakukan ini dan terasa lebih alami.

Jawaban yang diterima mungkin akan melakukannya untuk kebanyakan orang, namun Downduduk di sisi lain keyboard. Jadi Anda memiliki dua opsi, gunakan kedua tangan (Kiri: L Shift+ L Alt+ Kanan:) Up/Down, atau dengan satu tangan gunakan kanan R Shift+ R Alt+ Up/Down. Pilihan kedua terasa aneh menurut saya. Saya lebih suka menggunakan opsi di mana tangan saya secara alami duduk di keyboard, dan jika satu tangan, bahkan lebih baik.

Nick De Beer
sumber
7
Masalah utama dengan itu adalah Anda kehilangan apa yang ada di clipboard Anda
Chris
20

Coba ALT+ SHIFT+ UP/DOWN

Itu berhasil untuk saya!

eildiz
sumber
Ini harus menjadi jawaban yang diterima!
Fatih Aktaş
Itu bekerja untuk saya sekarang.
Mansoorkhan Cherupuzha
12

Perhatikan bahwa untuk pengguna Ubuntu (<= 17.4), Unity menggunakan CTRL+ ALT+ SHIFT+ Arrow Keyuntuk memindahkan program di ruang kerja virtual, yang bertentangan dengan pintasan Kode VS. Anda harus mengubah editor.action.copyLinesDownActiondan editor.action.copyLinesUpActionmenghindari konflik (atau mengubah ikatan kunci ruang kerja Anda).

Untuk Ubuntu 17.10+ yang menggunakan GNOME, tampaknya GNOME tidak menggunakan pengikatan kunci ini dengan cara yang sama sesuai dengan dokumentasinya, meskipun jika seseorang yang menggunakan ruang kerja vanilla di 17.10 dapat mengkonfirmasi ini, mungkin akan bermanfaat bagi para pencari jawaban di masa depan.

David Bodow
sumber
Saya di Ubuntu 19.10 dan Ctrl + Alt + Down masih bergerak di antara ruang kerja.
BeeOnRope
9
  • Untuk Pengguna Jetbrains IDE yang bermigrasi ke VSCode , tidak ada masalah.

  • Install:
    1) JetBrains IDE keymap: Perpanjangan
    2) vscode-intellij-ide-keybindings Ekstensi (Preferred)

  • Gunakan ini Intellij Darcula Theme: Ekstensi

  • Keymap telah membahas sebagian besar pintasan keyboard dari VS Code, dan membuat VS Code lebih seperti ' JetBrains IDE '.

  • Ekstensi di atas mengimpor ikatan kunci dari JetBrains ke Kode VS. Setelah menginstal ekstensi dan memulai ulang VS Code Anda dapat menggunakan VS Code seperti IntelliJ IDEA, Webstorm, PyCharm , dll.

Sumit Shukla
sumber
7

Untuk Windows :

Untuk Menyalin - shift+ alt+up

Untuk Menyalin - shift+ alt+down

Untuk mac :

Untuk Menyalin - shift+ option+up

Untuk Menyalin - shift+ option+down

Untuk linux :

Untuk Menyalin - ctrl+ shift+ alt+8

Untuk Menyalin - ctrl+ shift+ alt+2

Catatan : Anda dapat mengubah keybinding pintasan keyboard untuk kode visual studio dengan menekan ctrl+ shift+p , lalu ketik pintasan keyboard terbuka di palet dan kemudian tekan enter sehingga file baru akan dibuka (file pintasan papan tombol) Anda dapat melihat semua pintasan di atas dan dapat mengubah ikatan kunci dengan mengklik dua kali di atas ikatan kunci masing-masing dan kemudian dengan memasukkan ikatan kunci Anda sendiri, akhirnya tekan enter.

Semoga ini bisa membantu seseorang!

Aman Kumar Gupta
sumber
6

Jika Anda berasal dari Sublime Text dan tidak ingin mempelajari kembali ikatan kunci baru, Anda dapat menggunakan ekstensi ini untuk Visual Code Studio.

Sublime Text Keymap untuk VS Code

Ekstensi ini port cara pintas keyboard Teks Sublime paling populer ke Visual Studio Code. Setelah menginstal ekstensi dan memulai ulang VS Code, pintasan keyboard favorit Anda dari Sublime Text sekarang tersedia.

https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings

cyberfly
sumber
3

Duplikasi garis langsung (tanpa langkah clipboard) diusulkan oleh ekstensi Duplikat Kontekstual .

Itu dipetakan pada ctrl+K D

CharlesB
sumber
1

Untuk workstation Fedora 29 (Gnome 3.30.2) dan pengguna Ubuntu.

Lepaskan kombinasi keyboard workspace kiri / kanan yang tidak perlu, daftarkan dengan terminal

$ gsettings list-recursively | grep -E "org.gnome.desktop.wm.keybindings move-to-workspace-|org.gnome.desktop.wm.keybindings switch-to-workspace-"

Lepaskan ikatannya

$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-right "[]"

Setel ulang pintasan duplikat

  • Super + Pgdown / PgUp, Ctrl + Alt + DownArrow / UpArrow
  • Super + Shift + PgDown / PgUp, Ctrl + Alt + Shift + DownArrow / UpArrow

Mereka dapat dengan mudah diatur ulang agar berfungsi hanya dengan satu pintasan di Pengaturan> Perangkat> Ketik Keyboard
Saja ketik Super + PgUp untuk "Pindah ke ruang kerja di atas" sebagai contoh.

masukkan deskripsi gambar di sini

Sekarang dengan pintasan duplikat yang lebih sedikit di fedora29, semua pintasan vscode untuk linux harus bekerja dengan baik

christianbueno.1
sumber
0

dalam versi terakhir saya Visual Studio Code 1.30.2 itu akan berubah menjadi otomatis


ctrl + D

Bouchaib Ennakr
sumber
Dalam vscode ini menyoroti kata di bawah kursor. Mungkin Notepad ++ menggunakan pintasan ctrl + D. Hanya pergi dari memori.
Flat Cat
0

Untuk pengguna Linux: Saya perhatikan apa yang ada di Linux, Anda sering perlu menggunakan winkunci. Untuk Windows combo adalah:
ctrl+ shift + alt+up

maka untuk Linux sama saja tambahkan winkunci:
ctrl+ shift + win+ alt+up

Saya perhatikan bahwa dalam beberapa combo sekarang. Katakan ctrl+ alt + Lmengunci Linux, tetapi ctrl+ win + alt+ Luntuk kode format Intellij. Di bawah Windows hanya ctrl+ alt + Luntuk memformat kode.

saya-
sumber
0

Cukup buka file -> preferensi -> pintasan keyboard Di sana Anda dapat mengubah pintasan yang Anda suka. cari duplikat dan ubah ke apa pun yang selalu Anda gunakan di editor lain. Saya berubah menjadi ctrl + D

Amin Noura
sumber