Visual Studio : raccourci clavier : Dupliquer une ligne
Source : Stack Overflow [visual-studio]
Dans Visual Studio 2022
Ctrl + E, V
Dans Visual Studio 2019
Ctrl + D
Dans Visual Studio 2017 (v15.6 et après)
Ctrl + D
Dans Visual Studio 2017 (avant v15.6)
(modification) Cette fonctionnalité est désormais intégrée dans VS2017 : Ctrl + E, V duplique une ligne si rien n’est sélectionné, ou duplique la sélection. Vous pouvez l’attribuer à une autre combinaison de touches, ou la trouver dans le menu :
Consultez cette référence pour plus d’informations.
Avant 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 par 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 voulez pas affecter le presse-papiers, consultez ce guide :
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, allez simplement dans l'explorateur de macros
("Tools->Macros->Macro Explorer" ou Alt+F8) et copiez-collez le code dans
un nouveau module. Maintenant, attribuez-lui simplement un raccourci clavier :
- allez dans Tools->Options...
- sous Environment, cliquez sur Keyboard
- dans la zone de texte "Show Commands Containing", entrez "duplicate" (ceci selon le nom que vous avez donné au module.)
- vous devriez maintenant voir la macro dans la liste ci-dessous
- choisissez "Text Editor" dans la liste "Use new shortcut in"
- placez le focus dans la zone de texte "Press shortcut keys" et
*(Réponse tronquée)*