Visual Studio: raccourci Touche: ligne en double

423

Existe-t-il un raccourci pour la commande Duplicate Line dans Visual Studio 2008?

Quelques exemples similaires:

Posto
la source
6
Juste pour info, l'un des nombreux avantages offerts par ReSharper est la possibilité de le faire.
AakashM
2
visualstudiogallery.msdn.microsoft.com/… Téléchargez ceci et alt + D dupliquera votre sélection ou si rien n'est mis en évidence, il dupliquera la ligne entière. Malheureusement, les macros visuelles de base ne semblent pas fonctionner en 2013, seules les macros js.
shenk
1
OMG, quel est le problème pour assigner une combinaison à une personne comme pour la duplication de ligne ??? J'avais l'habitude d'Eclipse. Et Ctrl + D est pour supprimer la ligne. Pourquoi c'est si compliqué dans VS ???
Andrii Muzychuk
2
@mghhgm ci-dessous est la réponse que vous recherchez. (shift + alt + down ou shift + alt + up)
Victor Barrantes
1
L'exemple vim ne fait pas double emploi, c'est ctrl + c; ctrl + v. Coupes "Yank" et p pâtes. Ce n'est pas tout à fait la même chose que les autres exemples.
ANeves

Réponses:

406

Dans Visual Studio 2019

Ctrl + D

Dans Visual Studio 2017 (v15.6 et versions ultérieures)

Ctrl + D

Dans Visual Studio 2017 (pré v15.6)

(modifier) ​​Cette fonctionnalité est désormais intégrée dans VS2017: Ctrl+ E, Vduplique une ligne si rien n'est sélectionné, ou duplique la sélection. Vous pouvez l'affecter à une combinaison de touches différente ou la trouver dans le menu:

Ligne en double dans VS2017

Voir cette référence pour plus d'informations.

Pré VS2017, méthode intégrée utilisant le presse-papiers

Comme @cand l'a mentionné, vous pouvez simplement faire Ctrl+ C; Ctrl+ V.

Ctrl + C copiera la ligne si rien n'est sélectionné.

Solution macro (avant VS2017)

Si vous souhaitez implémenter une solution plus complète, peut-être pour créer un raccourci clavier plus simple ou si vous ne souhaitez pas affecter le presse-papiers, consultez ce guide:

Commande de ligne en double pour 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

Pour créer la macro, il suffit d'aller dans l'explorateur de macros ("Outils-> Macros-> Macro Explorer" ou Alt+ F8) et de copier coller le code dans un nouveau module. Maintenant, attribuez-lui simplement un raccourci clavier:

  1. allez dans Outils-> Options ...
  2. sous Environnement, cliquez sur Clavier
  3. dans la zone de texte "Afficher les commandes contenant", entrez "dupliquer" (ceci en fonction du nom que vous avez donné au module.)
  4. vous devriez maintenant voir la macro dans la liste ci-dessous
  5. choisissez "Editeur de texte" dans la liste "Utiliser un nouveau raccourci dans"
  6. définissez le focus dans la zone de texte "Appuyez sur les touches de raccourci" et appuyez sur la combinaison du clavier que vous souhaitez utiliser pour cela ( Ctrl+ Shift+D dans mon cas)
  7. cliquez sur le bouton "Attribuer"
  8. vous devriez maintenant voir le raccourci dans la zone de texte "Raccourcis pour la commande sélectionnée"
  9. appuyez sur le bouton OK

Et c'est tout. Prendre plaisir!

Wael Dalloul
la source
3
Je viens d' essayer, et il est intéressant qu'il répète quelques caractères supplémentaires quand il y a un « bloc de code côté serveur » avec des balises courtes, comme ceci: <div>Profile.UserName: <%=Profile.UserName %></div>- après la duplication de cette ligne à l' aide de cette macro, il est reformulé comme suit: <div>Profile.UserName: <%=Profile.UserName %></div> %></div>. Comme vous pouvez le voir, la dernière partie est "répétée". Lorsqu'il n'y a aucun bloc de code côté serveur, cela fonctionne correctement. Connaissez-vous une solution pour cela? À propos, une autre chose intéressante que j'ai vécue est que cette macro est relativement "lente", ce à quoi je ne m'attendais pas ... :)
Sk8erPeter
6
Après février 2014, les macros sont désactivées pour des raisons de sécurité. Faites défiler vers le bas et voyez la réponse de MasterHD pour la solution de contournement afin que la méthode de Wael continue de fonctionner même après la mise à jour de sécurité.
MasterHD
4
je trouve que Ctrl C + Ctrl V est limitatif dans les cas où j'ai déjà copié quelque chose dans le presse-papiers et que je voudrais dupliquer une ligne avant de la coller.
sawe
1
Pourquoi diable est-il si difficile de mettre en œuvre une action en double ou une liaison de touches que la plupart des autres éditeurs font de manière très efficace et intuitive. : /
kisanme
1
pourquoi son besoin. J'ai copié smth dans un autre onglet, j'arrive à une ligne spécifique dans cet onglet, je duplique la ligne, puis j'utilise <code> CTRL + V </code> pour coller du code. Sinon, je dois aller recopier une autre partie de code. ..
Augustas
136

Il y a une extension gratuite que vous pouvez télécharger ici qui vous permet de dupliquer des lignes sans remplacer le contenu du presse-papiers.

Par défaut, il est lié à Alt+ D, mais vous pouvez le changer en tout ce que vous voulez en allant dans Outils-> Options-> Environnement-> Clavier. Tapez "Dupliquer" dans la zone de recherche et recherchez "Edit.DuplicateSelection" et modifiez le raccourci à tout ce que vous voulez. Je préfère que Ctrl+ Dsoit cohérent avec les autres éditeurs.

Ben
la source
23
C'est la vraie réponse que vous cherchez, tout le reste affiché ici est intelligent, mais tout simplement pas ce qui a été demandé.
Remco Boom
8
Edit.DuplicateSelectionne semble pas être présent dans VSE 2013. Ou toute autre chose avec le terme doublon en fait.
ᴍᴀᴛᴛ ʙᴀᴋᴇʀ
1
visualstudiogallery.msdn.microsoft.com/… fonctionne pour vse2013
Anders M.
2
Matthew, vous devez cliquer sur le lien ICI et installer l'extension. ALORS, vous devez fermer Visual Studio et le rouvrir. ALORS vous devez aller dans Outils ==> Options ==> Environnement ==> Clavier et ALORS vous devez taper Dupliquer et vous le verrez. Ensuite, vous pouvez appuyer sur F4 pour qu'il agisse comme QEDIT ou tout ce que vous voulez et la vie sera bonne.
ggb667
Même si c'est un peu pénible d'avoir à installer un autre outil, celui-ci fait le travail et le fait bien. Merci !
Sbu
94

C'est simple Ctrl+ C; Ctrl+ V, vérifiez ce lien . Tant que vous ne sélectionnez aucun texte, cela dupliquera la ligne sur laquelle se trouve le curseur lorsque vous appuyez sur Ctrl+ C.

cand
la source
159
Il y a de nombreuses occasions où vous ne voulez pas passer par le presse-papiers, par exemple si vous voulez dupliquer une ligne et y remplacer du contenu par quelque chose que vous avez dans le presse-papiers.
Effata
7
Bien sûr, mais la question demandait un raccourci, pas une solution générale pour l'édition de texte, donc je pense que pour des raisons simples c'est suffisant (du moins c'était dans mon cas).
cand
4
merci, mais je m'attendais à quelque chose comme Ctrl + j dans Edit Plus ou Crtl + D dans Notepad ++ ... y en a-t-il dans VS2008 ou VS2010
Posto
2
Je n'ai trouvé que celui-ci. Cependant, ce n'est pas si mal - bien sûr, il serait plus facile d'utiliser ctrl + D, mais si vous voulez dupliquer 1 ligne en 100 copies, vous pouvez le faire en utilisant ctrl + c (sans avoir besoin de sélectionner quoi que ce soit, il suffit de mettre l'invite de commande sur la ligne souhaitée ) + 100 fois ctrl + v. Ce n'est qu'un ensemble de touches de plus que la solution ctrl + d. Cela peut être plus problématique si vous souhaitez effectuer une duplication plus complexe.
cand
@ Mason240 Ce fut ma réaction initiale également à la partie citée dans la réponse acceptée, mais les informations supplémentaires `` Tant que vous ne sélectionnez aucun texte, cela dupliquera la ligne sur laquelle le curseur se trouve ... '' en fait un idéal solution dans mon cas.
RyanfaeScotland
74

Ctrl+ C+ Vfonctionne pour moi sur VS2012 sans extension.

nGoline
la source
Fonctionne également sur VS2008!
teodron
1
Fonctionne dans VS2017.
Kyle Delaney
8
Besoin d'une solution sans écraser le presse-papiers
Pierre de LESPINAY
Juste pour compléter la réponse, il vous suffit d'appuyer sur la combinaison complète pour la première duplication. À partir du second, appuyez simplement sur Ctrl + V autant de fois que vous le souhaitez pour continuer à répliquer la ligne.
Luty
34

Ctrl+ Dfonctionne pour moi dans VS2012 avec Resharper. C'est le raccourci clavier de Resharper.

sawe
la source
11
non, ce n'est pas le cas, je ne l'ai réalisé qu'après la publication, mais c'est un raccourci Resharper. et si l'on a resharper installé, cela pourrait aider.
sawe
1
J'ai resharper, et je ne connaissais pas ce raccourci! Merci.
DanO
Il s'agit du raccourci par défaut si vous utilisez le schéma de clavier "Resharper 2.x ou IntelliJ IDEA" de Resharper. Resharper vous permet de sélectionner le mappage du clavier lors de l'installation. Le schéma de clavier "Visual Studio" est l'un des choix. Si vous choisissez le schéma de clavier "Visual Studio", alors Ctrl + D sera mappé à autre chose.
GeoMac
C'est une réponse à une question ReSharper.
Antony Booth
Notez que cela fonctionne également lorsque plusieurs lignes sont sélectionnées, c'est-à-dire que vous pouvez dupliquer tout un tas de code, pas seulement une ligne. L'inconvénient est bien sûr que le resharper n'est pas gratuit (mais il semble que le monde .Net y soit plus habitué que le monde Java dont je viens).
Amos M. Carpenter
31

Dans Visual Studio 2013, vous pouvez utiliser Ctrl+ C+V

Vazgen Torosyan
la source
2
Heureux de m'être promené. Voilà ce que je voulais.
Daryl
Fonctionne également avec VS Code Linux.
Han
4
Besoin d'une solution sans écraser le presse
Pierre de LESPINAY
2
serait génial s'il ne
remplaçait
23

Voici une macro basée sur celle du lien publié par Wael, mais améliorée dans les domaines suivants:

  • légèrement plus court
  • légèrement plus rapide
  • commentaires :)
  • se comporte pour les lignes commençant par "///"
  • peut être annulé avec une seule annulation
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
la source
1
Oui, celui-ci fonctionne réellement, celui de la réponse acceptée copiait des éléments aléatoires dans la nouvelle ligne. Beau travail, merci!
zuallauz
Je n'ai pas trouvé l'option Macros dans VS 2010 Express, cela peut-il être implémenté là-bas?
Nenotlep
1
Après février 2014, les macros sont désactivées pour des raisons de sécurité. Faites défiler vers le bas et voyez la réponse de MasterHD pour la solution de contournement afin que la méthode de Mark continue de fonctionner même après la mise à jour de sécurité.
MasterHD
11

Si vous aimez la duplication (ou bloc) de style éclipse à l'aide de CTRL+ ALT+ UPou CTRL+ UP+DOWN , je poste ci-dessous des macros à cet effet:

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
la source
10

Pourquoi tant de méthodes longues pour accomplir quelque chose d'aussi simple? Il faut moins d'une minute pour télécharger et installer l'extension de Microsoft. La page indique qu'elle le liera à ALT+ Dpar défaut, mais pour moi, elle le liera à CTRL+ Dautomatiquement dans Visual Studio Community 2015 sans aucune modification.

Voici le lien pour télécharger l'extension depuis Microsoft.com.

Daniel
la source
La question concerne Visual Studio 2008, et non 2015 :)
Sarcom
Il convient de noter que cette extension duplique les lignes sélectionnées et non la sélection. Mais c'est quand même utile.
ANeves
Celui-ci est le plus utile pour moi car je voulais une solution qui ne remplace pas ce que j'avais dans le presse-papiers. Cette extension est exactement ce que je cherchais. Et selon l'auteur de l'extension, cela fonctionne actuellement pour Visual Studio 2012, 2013, 2015 et 2017.
Mark
8

Dans le code Visual Studio ( WebMatrix ):

Copier les lignes vers le bas: Shift+Alt +down

Copier les lignes vers le haut: Shift+Alt +up

Supprimer des lignes: Ctrl+ Shift+k

mghhgm
la source
1
C'est la meilleure réponse jusqu'à présent; il vous permettra même de dupliquer un bloc complet de code -si vous le souhaitez- simplement en sélectionnant plusieurs lignes. Testé dans Visual Studio Code 1.7.2
Victor Barrantes
7

Bien que je réalise que ce n'est pas un raccourci clavier, j'ai pensé que j'ajouterais cela, car il ne nécessite pas l'utilisation du presse-papiers et pourrait aider certaines personnes.

Mettez en surbrillance la ligne que vous souhaitez dupliquer. Appuyez sur contrôle, cliquez avec la souris sur le texte en surbrillance et faites-le glisser vers l'endroit où vous voulez aller. Il dupliquera le texte en surbrillance.

Verruqueux
la source
Atteint le même résultat avec la fonctionnalité intégrée! Et la question ne demandait qu'un raccourci - pas nécessairement un raccourci clavier! Pourtant, ce serait plus génial si la souris n'avait pas à être impliquée.
DanO
7

Comme je ne peux pas utiliser de macros dans mon Visual Studio 2013, j'ai trouvé un plugin Visual Studio (je l'utilise en 2012 et 2013). Dupliquer la sélection duplique les sélections et les lignes entières - elles ne doivent être sélectionnées que partiellement. Le raccourci standard est ALT+ D.

Lebewesen
la source
5

Je ne sais pas si cela existe dans Visual Studio 2008 mais dans Visual Studio 2010+, vous pouvez facilement le faire en:

Ne sélectionnez rien, puis appuyez sur Ctrl+ CEt puis (sans rien faire d'autre) Ctrl+V

Alireza Noori
la source
5

Dans Visual studio 2017 et peut-être une autre version Pas besoin de macro ou d'extension ,

  1. Aller à Tools > Options > Environment > Keyboards
  2. Sous Show commands containing:écritureEdit.Duplicate
  3. Placez le curseur sur Press shortcut keys:et appuyez sur Ctrl+ Det cliquez sur le Assignbouton
  4. cliquez OKpour enregistrer votre nouveau raccourci clavier

entrez la description de l'image ici

ewwink
la source
4

J'ai utilisé la macro publiée par Wael: commande de ligne en double pour Visual Studio , mais elle a cessé de fonctionner il y a une semaine, je suppose en raison d'une mise à jour Windows. Et j'avais raison, depuis février 2014, les macros ont été désactivées dans VS2010 (et 2008 apparemment).

Pour résoudre ce problème, vous devrez soit désinstaller les mises à jour de sécurité, soit ajouter une ligne de code dans les fichiers de configuration, comme indiqué ici .

Sur une machine Windows 64 bits, les chemins d'accès par défaut à ces fichiers sont les suivants:

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

    capture d'écran de l'éditeur

Vous DEVEZ exécuter votre éditeur de texte avec les droits d'administrateur ou cela ne fonctionnera pas! Espérons que cela aide toute autre personne qui a soudainement retiré sa fonctionnalité de macro.

MasterHD
la source
4

pour Visual Studio 2012, 2013, 2015, 2017 suivez le lien et téléchargez l'extension

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

Maintenant, allez dans Outils> Options> Clavier et tapez "Dupliquer" dans la boîte de recherche (la chaîne de commande complète est "Edit.DuplicateSelection"). Ici, vous pouvez le lier à n'importe quel raccourci de la même manière que pour n'importe quelle autre commande.

Kalyan Halder Raaz
la source
3

Il suffit de mettre votre souris sur la ligne pour copier et faire CTRL+ C, puis CTRL+ Vsur la même ligne. Fonctionne comme par magie :-)

David Constantine
la source
3

Pour ceux qui consultent toujours cette question sur Visual Studio après 2008, un véritable Edit.Duplicate a été ajouté:

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

Ctrl+ Dest un nouveau raccourci introduit dans VS 2017 v15.6 qui semble faire exactement ce que Ctrl+ E,V

Ctrl + D dupliquera la ligne dans laquelle se trouve le curseur et l'insérera juste en dessous de la ligne mise au point. Si vous souhaitez dupliquer un ensemble spécifique de code, sélectionnez simplement la partie de code que vous souhaitez dupliquer avant d'appeler la commande duplicate code.

Cela n'affectera pas votre presse-papiers

La source

Kautsky Lozano
la source
1
Nouvelle installation de VS2017 et VS2019: Ctrl + D n'est pas mappé par défaut sur Editor.DuplicateLine ...
thomasgalliker
2

Pour Visual Studio Code 2019 :

Raccourcis clavier du menu Édition avec: ctrl+k et ctrl+s

Modifiez "Copier la ligne vers le bas" ( Shift+ Alt+ DownArrow) dans votre propre raccourci.

Vous pouvez le trouver, avec l'ID de commande: editor.action.copyLinesDownAction

Pour moi, c'est ctrl+d

Uruca
la source
1

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

Mon histoire: j'ai commencé à travailler dans une nouvelle entreprise, je n'avais jamais utilisé Visual Studio auparavant. L'une des premières choses - comment dupliquer une ligne. Après avoir configuré la macro, ReSharper m'a dit: voulez-vous remplacer mon raccourci qui était: "texte en double" :)

Mars Robertson
la source
resharper - très lent
Horev Ivan
1

Dans Visual Studio 2010, vous copiez la ligne entière sur laquelle se trouve le curseur avec CTRL+, INSERTpuis vous pouvez utiliser Ctrl+ Vou SHIFT+ INSERTpour le coller.

Crackerjack
la source
1

VS 2017 son Ctrl+ Dou Ctrl+ C; Ctrl+ V ils travaillent tous les deux pour moi.

Danyal Ahmed Chaudhry
la source
1

La commande que vous souhaitez est Edit.Duplicate . Il est mis en correspondance CtrlE, CtrlV. Cela n'écrasera pas votre presse-papiers.

HaveSpacesuit
la source
1

J'utilise le lien d'application: AutoHotkey avec le code ci-dessous enregistré dans le CommentDuplikateSaveClipboard.ahkfichier. Vous pouvez modifier / supprimer des raccourcis, c'est facile.
Je lien vers ce fichier "Shortcut to CommentDuplikateSaveClipboard.ahk"dans AutostartWindows.
Ce script protège votre presse-papiers.
Si vous êtes plus curieux, vous ajouteriez des raccourcis vers ce script à activer / activer.
J'utilise parfois très impressionnant Multi Clipboardscript pour gérer facile avec beaucoup clipsenregistré sur le disque et l' utilisation avec CTRL+ C, X, Vcopier, coller, couper, suivant, précédent, supprimer cela, supprimez tous.

;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
la source
0

Pas une réponse, juste un ajout utile: en tant que cadeau, je viens d'inventer (eh bien ... ehm ... ajusté le code publié par Lolo) une macro RemoveLineOrBlock. Prendre plaisir!

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áč
la source
0

dans VS2019 et également dans VS2017, vous pouvez sélectionner Outils-> Options-> Clavier et vous pouvez choisir dans le menu déroulant l' option Resharper (Visual Studio) , et vous obtiendrez un mappage comme si vous utilisiez Resharper , dans ce cas Ctrl+ Dfera l'affaire pour dupliquer la ligne. Quoi qu'il en soit, sur la base de la documentation, cela devrait être hors de la porte dans Visual Studio 2017 version 15.8 ou supérieure

ddieppa
la source
-3

Pour Visual Studio 2010, essayez d'utiliser ces commandes pour une duplication de ligne rapide (utilise le presse-papiers):

  • Cliquez sur la ligne que vous souhaitez copier. Ctrl+ Ccopiera cette ligne.

  • Appuyez ensuite sur Ctrl+ Shift+Enter pour insérer un espace vide sous le point d'insertion

    (Vous pouvez également utiliser Ctrl+ Enterpour insérer une ligne vierge au-dessus du point d'insertion.)

  • Ensuite, utilisez simplement Ctrl+ Vpour coller la ligne.

protoss1210
la source
1
Très bonnes instructions étape par étape pour un copier-coller. Mais l'OP cherche une méthode pour dupliquer une ligne ...
ᴍᴀᴛᴛ ʙᴀᴋᴇʀ