Visual Studio: skrót Klawisz: Duplikat linii

423

Czy w Visual Studio 2008 jest skrót do polecenia Powiel linię ?

Kilka podobnych przykładów:

Posto
źródło
6
Tylko dla informacji, jedną z wielu korzyści oferowanych przez ReSharper jest możliwość tego.
AakashM
2
visualstudiogallery.msdn.microsoft.com/… Pobierz to, a alt + D skopiuje twój wybór lub jeśli nic nie jest zaznaczone, powieli całą linię. Niestety, makra wizualne nie wydają się działać w 2013 roku, tylko makra js.
shenk
1
OMG, jaki jest problem z przypisaniem kombinacji osoby takiej jak w przypadku powielania linii ??? Zwykłem Eclipse. A Ctrl + D służy do usuwania linii. Dlaczego jest to tak skomplikowane w VS?
Andrii Muzychuk
2
@mghhgm poniżej to odpowiedź, której szukasz. (shift + alt + dół lub shift + alt + góra)
Victor Barrantes,
1
Przykład vima nie powiela się, to ctrl + c; ctrl + v. Cięcia „Yank” i pasty p. To nie jest dokładnie to samo, co inne przykłady.
ANeves

Odpowiedzi:

406

W Visual Studio 2019

Ctrl + D

W Visual Studio 2017 (w wersji 15.6 i późniejszych)

Ctrl + D

W Visual Studio 2017 (wcześniejszych niż 15.6)

(edycja) Ta funkcja jest teraz wbudowana w VS2017: Ctrl+ E, Vduplikuje linię, jeśli nic nie jest zaznaczone, lub duplikuje zaznaczenie. Możesz przypisać go do innej kombinacji klawiszy lub znaleźć w menu:

Duplicate line in VS2017

Zobacz to odniesienie, aby uzyskać więcej informacji.

Przed VS2017, wbudowana metoda przy użyciu schowka

Jak wspomniano @cand, możesz po prostu zrobić Ctrl+ C; Ctrl+ V.

Ctrl+ Cskopiuje linię, jeśli nic nie zostanie wybrane.

Rozwiązanie makro (przed VS2017)

Jeśli chcesz zaimplementować bardziej kompletne rozwiązanie, być może w celu utworzenia prostszego skrótu klawiaturowego lub nie chcesz modyfikować schowka, zapoznaj się z tym przewodnikiem:

Zduplikowane polecenie wiersza dla programu Visual Studio

Visual Basic:

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

Aby utworzyć makro, po prostu przejdź do eksploratora makr („Narzędzia-> Makra-> Eksplorator makr” lub Alt+ F8) i skopiuj wklej kod w nowym module. Teraz po prostu przypisz do niego skrót klawiaturowy:

  1. przejdź do Narzędzia-> Opcje ...
  2. w obszarze Środowisko kliknij Klawiatura
  3. w polu tekstowym „Pokaż polecenia zawierające” wpisz „duplikuj” (zgodnie z nazwą nadaną modułowi).
  4. powinieneś teraz zobaczyć makro na poniższej liście
  5. wybierz „Edytor tekstu” z listy „Użyj nowego skrótu w”
  6. ustaw fokus w polu tekstowym „Naciśnij klawisze skrótu” i naciśnij kombinację na klawiaturze, której chcesz użyć ( Ctrl+ Shift+ Dw moim przypadku)
  7. naciśnij przycisk „Przypisz”
  8. skrót powinien być teraz widoczny w polu tekstowym „Skróty do wybranych poleceń”
  9. naciśnij przycisk OK

I to wszystko. Cieszyć się!

Wael Dalloul
źródło
3
Właśnie próbowałem, a to ciekawe, że powtarza się jakieś dodatkowe znaki, gdy nie jest „blok kodu po stronie serwera” z krótkimi znacznikami, tak: <div>Profile.UserName: <%=Profile.UserName %></div>- po powielając tę linię za pomocą tego makra, staje się, co następuje: <div>Profile.UserName: <%=Profile.UserName %></div> %></div>. Jak widać ostatnia część jest „powtarzana”. Jeśli nie ma w nim bloków kodu po stronie serwera, działa OK. Czy znasz to obejście? Nawiasem mówiąc, kolejną interesującą rzeczą, której doświadczyłem, jest to, że to makro jest stosunkowo „wolne”, czego się nie spodziewałem ... :)
Sk8erPeter
6
Po lutym 2014 makra są wyłączone ze względów bezpieczeństwa. Przewiń w dół i zobacz odpowiedź MasterHD na obejście tego problemu, aby metoda Waela działała nawet po aktualizacji zabezpieczeń.
MasterHD
4
uważam, że Ctrl C + Ctrl V jest ograniczający w przypadkach, gdy już skopiowałem coś do schowka i chciałbym powielić linię przed wklejeniem.
piła
1
Dlaczego, u licha, tak trudno jest wdrożyć zduplikowane działanie lub przypisanie klawiszy, które większość innych redaktorów robi bardzo skutecznie i intuicyjnie. : /
kisanme,
1
dlaczego jest to potrzebne. Skopiowałem coś na innej karcie, przechodzę do konkretnej linii na tej zakładce, powielam linię, a następnie używam <code> CTRL + V </code>, aby wkleić trochę kodu. W przeciwnym razie muszę przejść i ponownie skopiować inną część kodu. ..
Augustas
136

Istnieje bezpłatne rozszerzenie, które możesz pobrać tutaj, które pozwala powielać linie bez zastępowania zawartości schowka.

Domyślnie jest powiązany z Alt+ D, ale możesz go zmienić na dowolne, przechodząc do Narzędzia-> Opcje-> Środowisko-> Klawiatura. Wpisz „Duplicate” w polu wyszukiwania i poszukaj „Edit.DuplicateSelection” i edytuj skrót do dowolnej pozycji. Wolę Ctrl+ Dbyć spójnym z innymi edytorami.

Ben
źródło
23
To jest prawdziwa odpowiedź, której szukasz, wszystko inne opublikowane tutaj jest sprytne, ale po prostu nie o to, o co proszono.
Remco Boom
8
Edit.DuplicateSelectionnie wydaje się być obecny w VSE 2013. Albo cokolwiek innego z pojęciem dwóch egzemplarzach w rzeczywistości.
4 ʙᴀᴋᴇʀ
1
visualstudiogallery.msdn.microsoft.com/… działa dla vse2013
Anders M.
2
Matthew, musisz kliknąć TUTAJ i zainstalować rozszerzenie. Następnie musisz zamknąć studio wizualne i otworzyć je ponownie. Następnie musisz przejść do Narzędzia ==> Opcje ==> Środowisko ==> Klawiatura, a następnie musisz wpisać Duplikat i zobaczysz to. Następnie możesz nacisnąć F4, aby działał jak QEDIT lub cokolwiek chcesz, a życie będzie dobre.
ggb667
Nawet jeśli instalowanie innego narzędzia jest trochę bolesne, to robi to i robi to dobrze. Dzięki !
Sbu
94

To proste Ctrl+ C; Ctrl+ V, sprawdź ten link . Tak długo, jak nie wybierzesz żadnego tekstu, spowoduje to zduplikowanie linii, na której znajduje się kursor po naciśnięciu Ctrl+ C.

cand
źródło
159
Istnieje wiele okazji, w których nie chcesz przechodzić przez tablicę klipów, na przykład, jeśli chcesz powielić linię, a następnie zastąpić jej część zawartością zawartą w tablicy klipu.
Effata
7
Jasne, ale pytanie zadawało skrót, a nie ogólne rozwiązanie do edycji tekstu, więc myślę, że do prostych celów wystarczy (przynajmniej w moim przypadku).
cand
4
dzięki, ale spodziewałem się czegoś takiego jak Ctrl + j w Edit Plus lub Crtl + D w Notepad ++ ... czy jest jakiś w VS2008 lub VS2010
Posto
2
Znalazłem tylko ten. Jednak nie jest tak źle - oczywiście łatwiej byłoby użyć ctrl + D, ale jeśli chcesz zduplikować 1 linię na 100 kopii, możesz to zrobić za pomocą ctrl + c (bez konieczności wybierania czegokolwiek, po prostu umieść wiersz polecenia nad żądaną linią ) + 100 razy Ctrl + v. To tylko jeden zestaw naciśnięć klawiszy więcej niż rozwiązanie Ctrl + D. Może to być bardziej problematyczne, jeśli chcesz wykonać bardziej skomplikowane powielanie.
cand
@ Mason240 To była moja pierwsza reakcja na cytowany fragment przyjętej odpowiedzi, jednak dodatkowe informacje „Dopóki nie wybierzesz żadnego tekstu, spowoduje to zduplikowanie linii, nad którą znajduje się kursor ...” czyni to idealną rozwiązanie w moim przypadku.
RyanfaeScotland
74

Ctrl+ C+ Vdziała dla mnie na VS2012 bez rozszerzenia.

nGoline
źródło
Działa również na VS2008!
teodron
1
Działa w VS2017.
Kyle Delaney
8
Potrzebujesz rozwiązania bez nadpisywania schowka
Pierre de LESPINAY
Aby uzupełnić odpowiedź, wystarczy nacisnąć pełną kombinację dla pierwszego powielenia. Od drugiego, po prostu naciskaj Ctrl + V tyle razy, ile potrzebujesz, aby kontynuować replikację linii.
Luty
34

Ctrl+ Ddziała dla mnie w VS2012 z Resharper. To skrót klawiszowy Resharpera.

piła
źródło
11
nie, nie, tylko zdałem sobie sprawę, że po opublikowaniu, ale jest to skrót Resharper. a jeśli ktoś ma zainstalowany resharper, może to pomóc.
piła
1
Mam resharpera i nie znałem tego skrótu! Dzięki.
DanO
Jest to domyślny skrót, jeśli używasz schematu klawiatury Resharper 2.x lub IntelliJ IDEA. Resharper ma wybrać mapowanie klawiatury podczas instalacji. Schemat klawiatury „Visual Studio” jest jedną z opcji. Jeśli wybierzesz schemat klawiatury „Visual Studio”, wówczas Ctrl + D zostanie zamapowany na coś innego.
GeoMac
To odpowiedź na pytanie ReSharper.
Antony Booth
Zauważ, że działa to również, gdy zaznaczonych jest wiele linii, tzn. Możesz powielić całą wiązkę kodu, a nie tylko jedną linię. Minusem jest oczywiście to, że resharper nie jest darmowy (ale wydaje się, że świat .Net jest przyzwyczajony do tego bardziej niż świat Java, z którego pochodzę).
Amos M. Carpenter
31

W Visual Studio 2013 można użyć Ctrl+ C+V

Vazgen Torosyan
źródło
2
Cieszę się, że zeszłam na dół. Tego właśnie chciałem.
Daryl
Działa także na VS Code Linux.
Han
4
Potrzebujesz rozwiązania bez zastępowania schowka
Pierre de LESPINAY
2
byłoby świetnie, gdyby nie przesłonił schowka
mikus
23

Oto makro oparte na makro w linku opublikowanym przez Waela, ale poprawione w następujących obszarach:

  • nieco krótszy
  • nieco szybciej
  • komentarze :)
  • zachowuje się dla linii zaczynających się od „///”
  • można cofnąć jednym cofnięciem
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
źródło
1
Tak, ten faktycznie działa, ten w zaakceptowanej odpowiedzi kopiował losowe rzeczy do nowej linii. Dobra robota, dzięki!
zuallauz
Nie znalazłem opcji Makra w VS 2010 Express, czy można to tam zaimplementować?
Nenotlep
1
Po lutym 2014 makra są wyłączone ze względów bezpieczeństwa. Przewiń w dół i zobacz odpowiedź MasterHD na obejście, aby metoda Marka działała nawet po aktualizacji zabezpieczeń.
MasterHD
11

Jeśli podoba Ci się duplikowanie linii (lub bloku) stylu zaćmienia za pomocą CTRL+ ALT+ UPlub CTRL+ UP+ DOWN, poniżej zamieszczam makra w tym celu:

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
źródło
10

Dlaczego tak długo opracowano metody osiągnięcia czegoś tak prostego? Pobieranie i instalowanie rozszerzenia od Microsoft zajmuje mniej niż minutę. Strona mówi, że domyślnie powiąże go z ALT+ D, ale dla mnie powiązało go z CTRL+ Dautomatycznie w Visual Studio Community 2015 bez żadnych zmian.

Oto link do pobrania rozszerzenia z Microsoft.com.

Daniel
źródło
Pytanie dotyczy Visual Studio 2008, a nie 2015 :)
sarcom
Należy zauważyć, że to rozszerzenie powiela wybrane linie, a nie zaznaczenie. Ale to wciąż przydatne.
ANeves
Ten jest dla mnie najbardziej przydatny, ponieważ chciałem rozwiązania, które nie zastąpi tego, co miałem w schowku. To rozszerzenie było dokładnie tym, czego szukałem. I według autora rozszerzenia działa to obecnie dla Visual Studio 2012, 2013, 2015 i 2017.
Mark
8

W kodzie Visual Studio ( WebMatrix ):

Kopiuj linie w dół: Shift+ Alt+down

Kopiuj linie w górę: Shift+ Alt+up

Usuń linie: Ctrl+ Shift+k

mghhgm
źródło
1
To najlepsza jak dotąd odpowiedź; pozwoli ci nawet zduplikować pełny blok kodu - jeśli chcesz - po prostu wybierając wiele wierszy. Testowane w Visual Studio Code 1.7.2
Victor Barrantes,
7

Chociaż zdaję sobie sprawę, że nie jest to skrót klawiaturowy, pomyślałem, że dodam to, ponieważ nie wymaga użycia schowka i może pomóc niektórym ludziom.

Podświetl wiersz, który chcesz powielić. Naciśnij klawisz Control, kliknij podświetlony tekst myszką i przeciągnij do miejsca, do którego chcesz przejść. Skopiuje podświetlony tekst.

Warty
źródło
Osiąga ten sam wynik dzięki wbudowanej funkcjonalności! Pytanie dotyczyło tylko skrótu - niekoniecznie skrótu klawiaturowego! Byłoby jednak bardziej niesamowite, gdyby mysz nie musiała być zaangażowana.
DanO
7

Ponieważ nie mogę używać makr w programie Visual Studio 2013, znalazłem wtyczkę Visual Studio (korzystam z niej w 2012 i 2013 roku). Duplikat zaznaczenia powiela zaznaczenia i całe linie - muszą być tylko częściowo zaznaczone. Standardowy skrót to ALT+ D.

Lebewesen
źródło
5

Nie wiem, czy to istnieje w Visual Studio 2008, ale w Visual Studio 2010+ możesz łatwo to zrobić:

Nie wybieraj niczego, a następnie naciśnij Ctrl+ CA następnie (bez robienia czegokolwiek innego) Ctrl+V

Alireza Noori
źródło
5

W Visual Studio 2017 i być może w innej wersji Bez potrzeby Makro lub Rozszerzenie ,

  1. Iść do Tools > Options > Environment > Keyboards
  2. W trakcie Show commands containing:pisaniaEdit.Duplicate
  3. Ustaw kursor na, Press shortcut keys:naciśnij Ctrl+ Di kliknij Assignprzycisk
  4. kliknij, OKaby zapisać nowy skrót klawiaturowy

wprowadź opis zdjęcia tutaj

ewwink
źródło
4

Korzystam z makra, które opublikował Wael: Duplikat polecenia linii dla Visual Studio , ale przestało działać tydzień temu, zakładałem, że z powodu aktualizacji systemu Windows. I miałem rację, od lutego 2014 r. Makra zostały wyłączone w VS2010 (i najwyraźniej w 2008 r.).

Aby to naprawić, musisz odinstalować aktualizacje zabezpieczeń lub dodać jeden wiersz kodu do plików konfiguracyjnych, jak pokazano tutaj .

Na 64-bitowym komputerze z systemem Windows domyślne ścieżki do tych plików to:

  • 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"/>
            ...
    

    zrzut ekranu edytora

Państwo musi uruchomić edytor tekstowy z prawami administratora lub nie będzie działać! Mamy nadzieję, że pomoże to każdemu, kto nagle ma pod spodem swoją funkcję makr.

MasterHD
źródło
4

dla programu Visual Studio 2012, 2013, 2015, 2017 kliknij link i pobierz rozszerzenie

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

Teraz przejdź do Narzędzia> Opcje> Klawiatura i wpisz „Duplikuj” w polu wyszukiwania (pełny ciąg poleceń to „Edit.DuplicateSelection”). Tutaj możesz powiązać go z dowolnym skrótem w taki sam sposób, jak w przypadku każdego innego polecenia.

Kalyan Halder Raaz
źródło
3

Po prostu umieść mysz na linii, aby skopiować i zrób CTRL+ C, a następnie CTRL+ Vna tej samej linii. Działa jak magia :-)

David Constantine
źródło
3

Dla tych, którzy nadal oglądają to pytanie w Visual Studio po 2008 roku, dodano prawdziwy Edit.Duplicate:

  • CTRL+ E,V
  • CTRL+ D(VS 2017 15,6+)
icanfathom
źródło
2

Ctrl+ Dto nowy skrót wprowadzony w wersji VS 2017 w wersji 15.6, który wydaje się robić dokładnie to, co Ctrl+ E,V

Ctrl + D powieli linię, w której znajduje się kursor, i wstawi ją bezpośrednio pod linią, na której jest ustawiony fokus. Jeśli chcesz powielić określony zestaw kodu, po prostu wybierz część kodu, którą chcesz powielić, przed wywołaniem polecenia duplikowania kodu.

Nie wpłynie to na twój schowek

Źródło

Kautsky Lozano
źródło
1
Nowa instalacja VS2017 i VS2019: Ctrl + D nie jest domyślnie mapowany na Editor.DuplicateLine ...
thomasgalliker
2

W przypadku programu Visual Studio Code 2019 :

Edytuj skróty klawiaturowe menu za pomocą: ctrl+k i ctrl+s

Edytuj „Kopiuj wiersz w dół” ( Shift+ Alt+ DownArrow) do własnego skrótu.

Można go znaleźć za pomocą identyfikatora polecenia: editor.action.copyLinesDownAction

Dla mnie to ctrl +d

Uruca
źródło
1

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

Moja historia: zacząłem pracować w nowej firmie, nigdy wcześniej nie korzystałem z Visual Studio. Jedna z pierwszych rzeczy - jak powielić linię. Po skonfigurowaniu makra ReSharper powiedział mi: czy chcesz zastąpić mój skrót, który brzmiał: „powielony tekst” :)

Mars Robertson
źródło
resharper - bardzo powoli
Horev Ivan
1

W Visual Studio 2010 kopiujesz całą linię, na której kursor jest włączony CTRL+, INSERTnastępnie możesz użyć Ctrl+ Vlub SHIFT+, INSERTaby go wkleić.

Coś świetnego
źródło
1

VS 2017 jego Ctrl+ Dlub Ctrl+ C; Ctrl+ V oba działają dla mnie.

Danyal Ahmed Chaudhry
źródło
1

Polecenie, które chcesz, to Edit.Duplicate . Jest on odwzorowywany na CtrlE, CtrlV. To nie zastąpi twojego schowka.

HaveSpacesuit
źródło
1

Używam linku aplikacji: AutoHotkey z poniższym kodem zapisanym w CommentDuplikateSaveClipboard.ahkpliku. Możesz edytować / usuwać skróty, to proste.
Mam link do tego pliku "Shortcut to CommentDuplikateSaveClipboard.ahk"w AutostartWindows.
Ten skrypt chroni Twój schowek.
Jeśli jesteś bardziej ciekawy, dodaj skróty do skryptuableable / enable.
Czasami używam bardzo imponujące Multi Clipboardskrypt do łatwego uchwytu z wielu clipszapisywane na dysku i korzystania z CTRL+ C, X, Vkopiować, wklejać, wycinać, następny, poprzedni, usuń ten, usuń wszystko.

;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
źródło
0

Brak odpowiedzi, po prostu użyteczny dodatek: jako darmowy pomysł właśnie wymyśliłem (cóż ... ehm ... dostosowałem kod opublikowany przez Lolo) makro RemoveLineOrBlock. Cieszyć się!

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áč
źródło
0

w VS2019, a także w VS2017 możesz wybrać Narzędzia-> Opcje-> Klawiatura i możesz wybrać w rozwijanym schemacie opcję Resharper (Visual Studio) , a otrzymasz mapowanie tak, jakbyś używał Resharper , w tym przypadku Ctrl+ Dzrobi lewę do powielenia linii. W każdym razie, na podstawie dokumentacji, powinno to być poza bramą w Visual Studio 2017 w wersji 15.8 lub nowszej

ddieppa
źródło
-3

W programie Visual Studio 2010 spróbuj użyć tych poleceń do szybkiego duplikowania linii (używa schowka):

  • Kliknij linię, którą chcesz skopiować. Ctrl+ Cskopiuje tę linię.

  • Następnie naciśnij Ctrl+ Shift+, Enteraby wstawić puste miejsce poniżej punktu wstawiania

    (Alternatywnie użyj Ctrl+, Enteraby wstawić pustą linię powyżej punktu wstawiania.)

  • Następnie po prostu użyj Ctrl+, Vaby wkleić linię.

protoss1210
źródło
1
Bardzo dobre instrukcje krok po kroku dotyczące kopiowania i wklejania. Ale PO szuka sposobu, aby powielić linię ...
ᴍᴀᴛᴛ ʙᴀᴋᴇʀ