Visual Studio: jalan pintas Key: Duplicate Line

423

Apakah ada pintasan untuk perintah Duplicate Line di Visual Studio 2008?

Beberapa contoh serupa:

Posto
sumber
6
Sekadar info, salah satu dari banyak manfaat yang ditawarkan oleh ReSharper adalah kemampuan untuk melakukan ini.
AakashM
2
visualstudiogallery.msdn.microsoft.com/... Unduh ini dan alt + D akan menggandakan pilihan Anda atau jika tidak ada yang disorot itu akan menduplikasi seluruh baris. Sayangnya makro visual basic tampaknya tidak berfungsi pada tahun 2013, hanya makro js.
shenk
1
OMG, apa masalah untuk menetapkan kombinasi seseorang seperti untuk menduplikasi baris ??? Saya dulu Eclipse. Dan Ctrl + D adalah untuk menghapus baris. Mengapa VS begitu rumit?
Andrii Muzychuk
2
@mghhgm di bawah ini adalah jawaban yang Anda cari. (shift + alt + bawah atau shift + alt + atas)
Victor Barrantes
1
Contoh vim tidak menggandakan, itu ctrl + c; ctrl + v. "Yank" memotong, dan p pasta. Itu tidak persis sama dengan contoh lainnya.
ANeves

Jawaban:

406

Dalam Visual Studio 2019

Ctrl + D

Dalam Visual Studio 2017 (v15.6 dan sesudahnya)

Ctrl + D

Dalam Visual Studio 2017 (pra v15.6)

(edit) Fitur ini sekarang ada di dalam VS2017: Ctrl+ E, Vmenduplikasi baris jika tidak ada yang dipilih, atau menggandakan pilihan. Anda dapat menetapkannya ke kombinasi tombol yang berbeda, atau menemukannya di menu:

Baris duplikat di VS2017

Lihat referensi ini untuk informasi lebih lanjut.

Pra VS2017, metode bawaan menggunakan clipboard

Seperti yang disebutkan @cand, Anda bisa melakukan Ctrl+ C; Ctrl+ V.

Ctrl+ Cakan menyalin baris jika tidak ada yang dipilih.

Solusi makro (sebelum VS2017)

Jika Anda ingin menerapkan solusi yang lebih lengkap, mungkin untuk membuat pintasan keyboard yang lebih sederhana atau Anda tidak ingin memengaruhi clipboard, lihat panduan ini:

Perintah baris duplikat untuk Visual Studio

Dasar visual:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics

Public Module DuplicateLastLineModule
    Sub DuplicateLine()
        Dim line As String
        DTE.ActiveDocument.Selection.StartOfLine(0)
        DTE.ActiveDocument.Selection.EndOfLine(True)
        line = DTE.ActiveDocument.Selection.Text
        DTE.ActiveDocument.Selection.EndOfLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.StartOfLine(0)
        DTE.ActiveDocument.Selection.Text = line
    End Sub
End Module

Untuk membuat makro, cukup buka penjelajah makro ("Alat-> Macro-> Macro Explorer" atau Alt+ F8) dan salin tempel kode dalam modul baru. Sekarang cukup tetapkan pintasan keyboard untuknya:

  1. pergi ke Alat-> Opsi ...
  2. di bawah Lingkungan, klik Keyboard
  3. di kotak teks "Tampilkan Perintah yang Berisi", masukkan "duplikat" (ini sesuai dengan nama yang Anda berikan modul.)
  4. Anda seharusnya sekarang melihat makro dalam daftar di bawah ini
  5. pilih "Editor Teks" dari daftar "Gunakan pintasan baru dalam"
  6. atur fokus di kotak teks "Tekan tombol pintas" dan tekan kombinasi pada keyboard yang ingin Anda gunakan untuk itu ( Ctrl+ Shift+ Ddalam kasus saya)
  7. tekan tombol "Tetapkan"
  8. Anda sekarang akan melihat jalan pintas di kotak teks "Pintasan untuk perintah yang dipilih"
  9. tekan tombol OK

Dan itu saja. Nikmati!

Wael Dalloul
sumber
3
Aku hanya mencoba, dan itu menarik bahwa itu mengulangi beberapa karakter tambahan ketika ada "server-side kode blok" dengan tag pendek, seperti ini: <div>Profile.UserName: <%=Profile.UserName %></div>- setelah duplikasi baris ini menggunakan makro ini, menjadi sebagai berikut: <div>Profile.UserName: <%=Profile.UserName %></div> %></div>. Seperti yang Anda lihat, bagian terakhir "diulang". Ketika tidak ada blok kode sisi server di dalamnya, itu berfungsi OK. Apakah Anda tahu solusinya? Ngomong-ngomong, hal menarik lain yang saya alami adalah bahwa makro ini relatif "lambat", yang tidak saya duga ... :)
Sk8erPeter
6
Setelah Februari 2014, makro dinonaktifkan karena alasan keamanan. Gulir ke bawah dan lihat jawaban MasterHD untuk solusi untuk mendapatkan metode Wael untuk tetap bekerja bahkan setelah pembaruan keamanan.
MasterHD
4
saya menemukan Ctrl C + Ctrl V untuk membatasi dalam kasus di mana saya telah menyalin sesuatu ke clipboard, dan ingin menduplikasi baris sebelum saya tempel.
sawe
1
Mengapa begitu sulit untuk menerapkan tindakan duplikat atau pengikatan tombol yang sebagian besar editor lain lakukan dengan sangat efisien dan intuitif. : /
kisanme
1
mengapa ini dibutuhkan. Saya menyalinnya di tab lain, saya datang ke baris tertentu di tab ini, saya menduplikasi baris dan kemudian menggunakan <code> CTRL + V </code> untuk menempelkan beberapa kode. Kalau tidak, saya harus pergi dan menyalin kembali bagian kode yang lain lagi. ..
Augustas
136

Ada ekstensi gratis yang dapat Anda unduh di sini yang memungkinkan Anda menggandakan baris tanpa mengganti konten clipboard.

Secara default itu terikat ke Alt+ D, tetapi Anda dapat mengubahnya ke apa pun yang Anda inginkan dengan pergi ke Tools-> Options-> Environment-> Keyboard. Ketik "Duplikat" di kotak pencarian dan cari "Edit.DuplicateSelection" dan edit pintasan ke apa pun yang Anda inginkan. Saya lebih suka Ctrl+ Dkonsisten dengan editor lain.

Ben
sumber
23
Ini adalah jawaban nyata yang Anda cari, semua yang diposting di sini adalah pintar, tetapi tidak seperti yang diminta.
Remco Boom
8
Edit.DuplicateSelectiontampaknya tidak hadir di VSE 2013. Atau apa pun dengan istilah duplikat sebenarnya.
ᴍᴀᴛᴛ ʙᴀᴋᴇʀ
1
visualstudiogallery.msdn.microsoft.com/… bekerja untuk vse2013
Anders M.
2
Matthew, Anda harus mengklik tautan DI SINI dan menginstal ekstensi. MAKA Anda harus menutup studio visual dan membukanya kembali. KEMUDIAN Anda harus pergi ke Alat ==> Opsi ==> Lingkungan ==> Keyboard dan KEMUDIAN Anda harus mengetik Duplikat dan Anda akan melihatnya. Kemudian Anda dapat menekan F4 sehingga berfungsi seperti QEDIT atau apa pun yang Anda inginkan dan hidup akan baik.
ggb667
Sekalipun agak menyakitkan harus menginstal alat lain, yang ini bekerja dan melakukannya dengan baik. Terima kasih!
Sbu
94

Ini sederhana Ctrl+ C; Ctrl+ V, periksa tautan ini . Selama Anda tidak memilih teks apa pun, ini akan menduplikasi garis kursor berakhir ketika Anda menekan Ctrl+ C.

cand
sumber
159
Ada banyak kesempatan di mana Anda tidak ingin melalui papan klip, misalnya jika Anda ingin menduplikasi baris dan kemudian mengganti beberapa konten di dalamnya dengan sesuatu yang Anda miliki di papan klip.
Effata
7
Tentu, tetapi pertanyaannya meminta jalan pintas, bukan untuk solusi umum untuk mengedit teks, jadi saya pikir untuk tujuan sederhana sudah cukup (setidaknya itu dalam kasus saya).
cand
4
terima kasih, tapi saya mengharapkan sesuatu seperti Ctrl + j di Edit Plus atau Crtl + D di Notepad ++ ... apakah ada di VS2008 atau di VS2010
Posto
2
Saya hanya menemukan ini. Namun itu tidak seburuk itu - tentu saja lebih mudah menggunakan ctrl + D, tetapi jika Anda ingin menduplikasi 1 baris dalam 100 salinan, Anda dapat melakukannya menggunakan ctrl + c (tanpa perlu memilih apa pun, cukup taruh command prompt di atas baris yang diinginkan ) + 100 kali ctrl + v. Ini hanya satu set penekanan tombol lebih dari solusi ctrl + d. Ini bisa lebih bermasalah jika Anda ingin melakukan duplikasi yang lebih kompleks.
cand
@ Mason240 Itulah reaksi awal saya juga terhadap bagian yang dikutip dalam jawaban yang diterima namun informasi tambahan 'Selama Anda tidak memilih teks, ini akan menduplikasi garis kursor berakhir ...' menjadikan ini ideal solusi dalam kasus saya.
RyanfaeScotland
74

Ctrl+ C+ Vberfungsi untuk saya di VS2012 tanpa ekstensi.

nGolin
sumber
Bekerja pada VS2008 juga!
teodron
1
Bekerja di VS2017.
Kyle Delaney
8
Butuh solusi tanpa menimpa clipboard
Pierre de LESPINAY
Hanya untuk melengkapi jawabannya, Anda hanya perlu menekan kombinasi penuh untuk duplikasi pertama. Dari yang kedua, cukup tekan Ctrl + V berulang sebanyak yang Anda butuhkan untuk terus mereplikasi garis.
Luty
34

Ctrl+ Dbekerja untuk saya di VS2012 dengan Resharper. Ini kunci utama Resharper.

sawe
sumber
11
tidak itu tidak, hanya menyadari bahwa setelah memposting, tetapi itu adalah jalan pintas Resharper. dan jika seseorang telah menginstal ulang, maka ini bisa membantu.
sawe
1
Saya memiliki resharper, dan tidak tahu jalan pintas itu! Terima kasih.
DanO
Ini adalah pintasan default jika Anda menggunakan skema keyboard Resharper "Resharper 2.x or IntelliJ IDEA". Resharper membuat Anda memilih pemetaan keyboard selama instalasi. Skema keyboard "Visual Studio" adalah salah satu pilihan. Jika Anda memilih skema keyboard "Visual Studio", maka Ctrl + D akan dipetakan ke sesuatu yang lain.
GeoMac
Itu jawaban untuk pertanyaan ReSharper.
Antony Booth
Perhatikan bahwa ini juga berfungsi ketika beberapa baris dipilih, yaitu Anda dapat menduplikasi sejumlah kode, bukan hanya satu baris. Kelemahannya tentu saja bahwa penyelamat tidak gratis (tetapi tampaknya dunia Net digunakan untuk lebih dari dunia Jawa saya berasal dari).
Amos M. Carpenter
31

Di Visual Studio 2013 Anda dapat menggunakan Ctrl+ C+V

Vazgen Torosyan
sumber
2
Senang saya berjalan. Inilah yang saya inginkan.
Daryl
Bekerja pada VS Code Linux juga.
Han
4
Butuh solusi tanpa menimpa clipboard
Pierre de LESPINAY
2
akan lebih bagus jika tidak mengganti clipboard
mikus
23

Berikut ini makro berdasarkan yang ada di tautan yang diposting oleh Wael, tetapi ditingkatkan di bidang berikut:

  • sedikit lebih pendek
  • sedikit lebih cepat
  • komentar :)
  • berperilaku untuk baris yang dimulai dengan "///"
  • dapat diurungkan dengan satu undo
Imports System
Imports EnvDTE
Imports EnvDTE80

Public Module Module1

    Sub DuplicateLine()
        Dim sel As TextSelection = DTE.ActiveDocument.Selection
        sel.StartOfLine(0) '' move to start
        sel.EndOfLine(True) '' select to end
        Dim line As String = sel.Text
        sel.EndOfLine(False) '' move to end
        sel.Insert(ControlChars.NewLine + line, vsInsertFlags.vsInsertFlagsCollapseToEnd)
    End Sub

End Module
Mark Foreman
sumber
1
Ya yang ini benar-benar berfungsi, yang ada di jawaban yang diterima menyalin hal-hal acak ke baris baru. Kerja bagus, terima kasih!
zuallauz
Saya tidak menemukan opsi Macro di VS 2010 Express, dapatkah ini diterapkan di sana?
Nenotlep
1
Setelah Februari 2014, makro dinonaktifkan karena alasan keamanan. Gulir ke bawah dan lihat jawaban MasterHD untuk solusi untuk mendapatkan metode Mark agar tetap berfungsi bahkan setelah pembaruan keamanan.
MasterHD
11

Jika Anda suka penggandaan garis gerhana (atau blok) menggunakan CTRL+ ALT+ UPatau CTRL+ UP+ DOWN, di bawah ini saya memposting makro untuk tujuan ini:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics

Public Module DuplicateLineModule
    Sub DuplicateLineDown()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        Dim lineNumber As Integer
        Dim line As String

        If selection.IsEmpty Then
            selection.StartOfLine(0)
            selection.EndOfLine(True)
        Else
            Dim top As Integer = selection.TopLine
            Dim bottom As Integer = selection.BottomLine

            selection.MoveToDisplayColumn(top, 0)
            selection.StartOfLine(0)

            selection.MoveToDisplayColumn(bottom, 0, True)
            selection.EndOfLine(True)
        End If

        lineNumber = selection.TopLine
        line = selection.Text

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.EndOfLine()
        selection.Insert(vbNewLine & line)
    End Sub
    Sub DuplicateLineUp()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        Dim lineNumber As Integer
        Dim line As String

        If selection.IsEmpty Then
            selection.StartOfLine(0)
            selection.EndOfLine(True)
        Else
            Dim top As Integer = selection.TopLine
            Dim bottom As Integer = selection.BottomLine

            selection.MoveToDisplayColumn(top, 0)
            selection.StartOfLine(0)

            selection.MoveToDisplayColumn(bottom, 0, True)
            selection.EndOfLine(True)
        End If

        lineNumber = selection.BottomLine
        line = selection.Text

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.Insert(vbNewLine & line)
        selection.MoveToDisplayColumn(lineNumber, 0)
    End Sub
End Module
Krzysztof
sumber
10

Mengapa begitu banyak metode yang ditarik untuk mencapai sesuatu yang begitu sederhana? Kurang dari satu menit untuk mengunduh dan menginstal ekstensi dari Microsoft. Halaman mengatakan bahwa itu akan mengikatnya ke ALT+ Dsecara default, tetapi bagi saya itu mengikatnya CTRL+ Dsecara otomatis di Visual Studio Community 2015 tanpa perubahan.

Berikut tautan untuk mengunduh ekstensi dari Microsoft.com.

Daniel
sumber
Pertanyaannya adalah tentang Visual Studio 2008, dan bukan 2015 :)
sarcom
Perlu dicatat bahwa ekstensi ini menduplikasi baris yang dipilih, dan bukan seleksi. Tapi tetap bermanfaat.
ANeves
Yang ini paling berguna bagi saya karena saya ingin solusi yang tidak menggantikan apa yang saya miliki di clipboard. Ekstensi ini persis seperti yang saya cari. Dan menurut penulis ekstensi, saat ini berfungsi untuk Visual Studio 2012, 2013, 2015, dan 2017.
Mark
8

Dalam kode studio visual ( WebMatrix ):

Salin Baris Ke Bawah: Shift+Alt +down

Salin Baris: Shift+Alt +up

Hapus Baris: Ctrl+ Shift+k

mghhgm
sumber
1
Ini adalah jawaban terbaik sejauh ini; itu bahkan akan memungkinkan Anda untuk menduplikasi satu blok penuh kode -jika Anda inginkan- hanya dengan memilih beberapa baris. Diuji dalam Visual Studio Code 1.7.2
Victor Barrantes
7

Meskipun saya menyadari ini bukan pintasan keyboard, saya pikir saya akan menambahkan ini, karena tidak memerlukan penggunaan clipboard dan mungkin membantu beberapa orang.

Sorot baris yang ingin Anda duplikat. Tekan kontrol, klik mouse teks yang disorot, dan seret ke tempat Anda ingin pergi. Ini akan menggandakan teks yang disorot.

Berkutil
sumber
Mencapai hasil yang sama dengan fungsionalitas bawaan! Dan pertanyaannya hanya meminta jalan pintas - belum tentu jalan pintas keyboard! Tetap saja, akan lebih luar biasa jika mouse tidak harus terlibat.
DanO
7

Karena saya tidak dapat menggunakan makro di Visual Studio 2013 saya, saya menemukan Plugin Visual Studio (saya menggunakannya pada 2012 dan 2013). Duplikat Seleksi duplikat pilihan dan seluruh Garis - mereka hanya perlu dipilih sebagian. Pintasan standar adalah ALT+ D.

Lebewesen
sumber
5

Saya tidak tahu apakah ini ada di Visual Studio 2008 tetapi di Visual Studio 2010+ Anda dapat dengan mudah melakukan ini dengan:

Jangan pilih apa pun, lalu tekan Ctrl+ CLalu (tanpa melakukan hal lain) Ctrl+V

Alireza Noori
sumber
5

Di Visual studio 2017 dan mungkin versi lain Tidak perlu Makro atau Ekstensi ,

  1. Pergi ke Tools > Options > Environment > Keyboards
  2. Di bawah Show commands containing:tulisEdit.Duplicate
  3. Tempatkan kursor ke Press shortcut keys:dan tekan Ctrl+ Ddan klik Assigntombol
  4. klik OKuntuk menyimpan pintasan keyboard baru Anda

masukkan deskripsi gambar di sini

ewwink
sumber
4

Saya telah menggunakan makro yang diposting Wael: Duplicate line command untuk Visual Studio , tetapi berhenti bekerja seminggu yang lalu, saya berasumsi karena pembaruan Windows. Dan saya benar, pada Februari 2014, Macro telah dinonaktifkan di VS2010 (dan 2008 tampaknya).

Untuk memperbaikinya, Anda harus menghapus pembaruan keamanan, atau menambahkan satu baris kode ke file konfigurasi seperti yang ditunjukkan di sini .

Pada jalur default mesin Windows 64-bit ke file-file ini adalah:

  • C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsaenv10.exe.config
  • C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config

    ...
    <configuration>
        <runtime>
            <AllowDComReflection enabled="true"/>
            ...
    

    tangkapan layar editor

Anda HARUS menjalankan editor teks Anda dengan hak admin atau itu tidak akan berhasil! Semoga ini membantu orang lain yang tiba-tiba memiliki fungsi makro mereka ditarik keluar dari bawahnya.

MasterHD
sumber
4

untuk Visual Studio 2012, 2013, 2015, 2017 ikuti tautan dan unduh ekstensi

https://marketplace.visualstudio.com/items?itemName=ctlajoie.DuplicateSelection

Sekarang masuk ke Tools> Options> Keyboard, dan ketik "Duplicate" di kotak pencarian (string perintah lengkap adalah "Edit.DuplicateSelection"). Di sini Anda dapat mengikatnya ke pintasan apa pun dengan cara yang sama dengan yang Anda lakukan untuk perintah lain.

Kalyan Halder Raaz
sumber
3

Cukup letakkan tetikus Anda pada baris untuk menyalin dan melakukan CTRL+ C, kemudian CTRL+ Vpada baris yang sama. Bekerja seperti sihir :-)

David Constantine
sumber
3

Bagi mereka yang masih melihat pertanyaan ini di Visual Studio post-2008, Edit.Duplicate nyata telah ditambahkan:

  • CTRL+ E,V
  • CTRL+ D(VS 2017 15.6+)
icanfathom
sumber
2

Ctrl+ Dadalah jalan pintas baru yang diperkenalkan di VS 2017 v15.6 yang tampaknya melakukan hal yang persis sama dengan Ctrl+ E,V

Ctrl + D akan menduplikasi garis kursor dan memasukkannya tepat di bawah garis fokus. Jika Anda ingin menduplikasi satu set kode tertentu, cukup pilih bagian dari kode yang ingin Anda duplikasi sebelum menjalankan perintah kode duplikat.

Itu tidak akan memengaruhi clipboard Anda

Sumber

Kautsky Lozano
sumber
1
Instalasi baru dari VS2017 dan VS2019: Ctrl + D tidak secara default dipetakan ke Editor.DuplicateLine ...
thomasgalliker
2

Untuk Visual Studio Code 2019 :

Edit pintasan keyboard menu dengan: ctrl+k dan ctrl+s

Edit "Copy Line Down" ( Shift+ Alt+ DownArrow) ke pintasan Anda sendiri.

Anda dapat menemukannya, dengan ID perintah: editor.action.copyLinesDownAction

Bagi saya, itu ctrl+d

Uruca
sumber
1

http://www.jetbrains.com/resharper/

Kisah saya: mulai bekerja di perusahaan baru, tidak pernah menggunakan Visual Studio sebelumnya. Salah satu hal pertama - cara menduplikasi baris. Setelah mengatur makro ReSharper memberi tahu saya: apakah Anda ingin mengganti pintasan saya yaitu: "duplikat teks" :)

Mars Robertson
sumber
resharper - sangat lambat
Horev Ivan
1

Di Visual Studio 2010 Anda menyalin seluruh baris kursor aktif dengan CTRL+ INSERTmaka Anda dapat menggunakan Ctrl+ Vatau SHIFT+ INSERTuntuk menempelkannya.

Jagoan
sumber
1

VS 2017 yang Ctrl+ Datau Ctrl+ C; Ctrl+ V Mereka berdua bekerja untukku.

Danyal Ahmed Chaudhry
sumber
1

Perintah yang Anda inginkan adalah Edit.Duplicate . Hal ini dipetakan ke CtrlE, CtrlV. Ini tidak akan menimpa clipboard Anda.

HaveSpacesuit
sumber
1

Saya menggunakan tautan aplikasi: AutoHotkey dengan kode di bawah ini disimpan dalam CommentDuplikateSaveClipboard.ahkfile. Anda dapat mengedit / menghapus pintasan dengan mudah.
Saya memiliki tautan ke file ini "Shortcut to CommentDuplikateSaveClipboard.ahk"di Autostartdalam windows.
Script ini melindungi clipboard Anda.
Jika Anda lebih ingin tahu, Anda akan menambahkan cara pintas ke skrip iniable / enable.
Saya kadang-kadang menggunakan sangat mengesankan Multi Clipboardscript untuk mudah menangani dengan banyak clipsdisimpan pada disk dan digunakan dengan CTRL+ C, X, Vuntuk menyalin, menempelkan, cut, berikutnya, sebelumnya, menghapus ini, menghapus semua.

;CommentDuplikateSaveClipboard.ahk

!c:: ; Alt+C === Duplicate Line
^d:: ; Ctrl+D
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{END}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!x:: ; Alt+X === Comment Duplicate Line
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{LEFT}//{END}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!z:: ; Alt+Z === Del uncomment  Line
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{DEL}{HOME}{DEL}{DEL}
Clipboard := ClipSaved
ClipSaved =
return

!d:: ; Alt+D === Delete line
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{DEL}
return

!s:: ; Alt+S === Swap lines
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{CTRLDOWN}x{CTRLUP}{UP}{END}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!a:: ; Alt+A === Comment this line, uncomment above
Send, {END}{HOME}//{UP}{HOME}{DEL}{DEL}
return
MrHIDEn
sumber
0

Bukan jawaban, hanya tambahan yang berguna: Sebagai freebie, saya hanya menemukan (well ... ehm ... menyesuaikan kode yang diposting oleh Lolo) makro RemoveLineOrBlock. Nikmati!

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics

Public Module RemoveLineOrBlock

    Sub RemoveLineOrBlock()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        Dim lineNumber As Integer
        Dim line As String

        If selection.IsEmpty Then
            selection.StartOfLine(0)
            selection.EndOfLine(True)
        Else
            Dim top As Integer = selection.TopLine
            Dim bottom As Integer = selection.BottomLine

            selection.MoveToDisplayColumn(top, 0)
            selection.StartOfLine(0)

            selection.MoveToDisplayColumn(bottom, 0, True)
            selection.EndOfLine(True)
        End If

        selection.LineDown(True)
        selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn,True)

        selection.Delete()

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText)

    End Sub

End Module
Peter Perháč
sumber
0

di VS2019 dan juga di VS2017 Anda dapat memilih Tools-> Options-> Keyboard dan Anda dapat memilih dalam skema drop-down pilihan Resharper (Visual Studio) , dan Anda akan mendapatkan pemetaan seperti jika Anda menggunakan Resharper , dalam kasus ini Ctrl+ Dakan melakukan trik untuk menduplikasi baris. Bagaimanapun, berdasarkan dokumentasi ini harus keluar dari gerbang dalam Visual Studio 2017 Versi 15.8 atau lebih tinggi

ddieppa
sumber
-3

Untuk visual studio 2010, coba gunakan perintah ini untuk duplikasi garis cepat (menggunakan clipboard):

  • Klik pada baris yang ingin Anda salin. Ctrl+ Cakan menyalin baris itu.

  • Kemudian tekan Ctrl+ Shift+ Enteruntuk memasukkan titik penyisipan kosong di bawah ini

    (Atau gunakan Ctrl+ Enteruntuk memasukkan garis kosong di atas titik penyisipan.)

  • Kemudian cukup gunakan Ctrl+ Vuntuk menempelkan baris.

protoss1210
sumber
1
Petunjuk langkah demi langkah yang sangat baik untuk menyalin dan menempel. Tetapi OP sedang mencari metode untuk menduplikasi baris ...
ᴍᴀᴛᴛ ʙᴀᴋᴇʀ