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.


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.


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"
    }
]

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.


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


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.


7
Masalah utama dengan itu adalah Anda kehilangan apa yang ada di clipboard Anda
Chris


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.


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.


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!


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



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


0

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


ctrl + D


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.


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

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.