Dans VS2010 j'avais un raccourci mis en place Alt+Up/Down pour déplacer des lignes de code vers le haut ou le bas, comme je le faisais auparavant avec Eclipse en Java.
Maintenant, étant donné que les outils puissants et les macros (c’est ainsi que j’ai configuré ce raccourci dans VS2010) ne sont pas disponibles dans VS2012, comment puis-je le faire fonctionner?
J'ai vu quelqu'un mentionner que Resharper peut le faire, mais pour l'amour du feu et de l'eau, je ne trouve pas les noms des commandes dans la liste des commandes pouvant le faire. J'ai essayé ReSharper_MoveUp/MoveDown et cela ne déplace pas les lignes haut/bas:
Cela déplace des blocs de texte de haut en bas. Je veux juste ligne par ligne haut ou bas, pas de logique de fantaisie là-bas. Avant
Après ALT+Up (lorsque le curseur est sur la ligne WriteLine) J'aimerais voir ceci:
J'ai vu ces discussions: Quel est l'équivalent pour ALT + HAUT/BAS d'Eclipse (déplacer la ligne) dans Visual Studio? , Visual Studio: touches de raccourci pour déplacer la ligne vers le haut et vers le bas changements , mais aucune des solutions suggérées ne fonctionne dans VS2012.
D'autres idées?
UPD 7 nov. 2012: . Les extensions rattrapent Visual Studio 2012. Maintenant, je connais au moins 3 extensions offrant cette fonctionnalité:
UPD 15 nov. 2012: Nous sommes tombés par hasard sur une autre extension qui prétend faire ce qui est requis ici. Je n'ai pas encore essayé: Extension LineMan
UPD 10 mai 2015 Vous venez d'installer le VS2015 RC et cela est déjà intégré:
Mise à jour: huzzah, Productivité PowerTools VS2012 est maintenant disponible et offre cette fonctionnalité (avec un autre favori personnel, Tools.AddEndTokenAtTheEnd
.)
Extension MoveLine (compatible avec VS 2012; je devais redémarrer manuellement mon VS afin de voir les commandes dans l'outil de raccourci clavier du VS.)
Pour ceux qui sont arrivés sur cette question en utilisant Visual Studio 2013 ou une version ultérieure, la fonctionnalité est directement intégrée au programme. Juste utiliser AltUp et AltDown pour déplacer la ligne avec votre curseur ou les lignes sélectionnées vers le haut et le bas.
Si vous souhaitez le réassocier dans Outils> Options> Environnement> Clavier, les touches sont Edit.MoveSelectedLinesUp
et Edit.MoveSelectedLinesDown
. Vous devrez peut-être d'abord supprimer votre nouvelle combinaison des autres clés existantes.
Installez ReSharper.
Ouvrez Outils -> Options -> Environnement -> Clavier (comme indiqué dans une image)
P.S. Fonctionne bien pour les lignes simples et les lignes sélectionnées multiples, mais supprime la sélection après avoir déplacé une ligne. J'espère qu'il y a moyen de déplacer plusieurs lignes plusieurs fois dans une sélection.
Si vous avez Resharper, alors vous pouvez frapper Ctrl + Shift + Alt + ↑ pour déplacer la ligne actuelle. ou Ctrl + Shift + Alt + ↓ pour déplacer une ligne vers le bas.
Cela fonctionne dans VS 2012 Premium avec le schéma de clavier Visual Studio dans Resharper 7 (7.0.97.60 pour être précis).
Edit: Ceci est associé aux commandes 'ReSharper.ReSharper_MoveUp'/'MoveDown'.
Vous pouvez utiliser Commande de déplacement de ligne extension.
Il suffit de suivre le commentaire de formula349:
J'ai été capable de faire en sorte que cela fonctionne avec 2012 tel quel.
Renommez le package en .Zip et décompressez tous les fichiers dans un dossier. Editez le fichier extension.vsixmanifest et recherchez le nœud XML SupportedProducts. Changez la Version = "10.0" en Version = "11.0".
Re-Zip le contenu du dossier et renomme en .vsix. Fonctionne très bien!
Shift+Del et alors Ctrl+V
Shift+Del fait le couper (même chose que Ctrl+X) opération sur la ligne en cours sur laquelle le curseur est positionné.
Ensuite, vous pouvez utiliser Ctrl+V coller à n'importe quel endroit.
La bonne chose est que vous n'avez pas besoin de sélectionner la ligne courante complète , il suffit que le curseur soit positionné sur la ligne.
Un inconvénient de ce raccourci est que vous ne pourrez pas voir la ligne bouger (vers le haut ou vers le bas) animée sous vos yeux.
Les raccourcis vers le haut et vers le bas de ReSharper sont intelligents - au lieu de simplement déplacer la ligne actuelle (ce qui peut facilement provoquer un code cassé), il déplacera l'instruction actuelle de haut en bas dans la liste des instructions constituant le corps de la méthode. C'est beaucoup plus puissant que de déplacer une seule ligne de code.
Mais cela ne vous aide pas à obtenir votre déclaration dans le bloc if
. Ici, vous devez faire l'une des deux choses.
Tout d’abord, déplacez l’instruction ci-dessus du bloc if
, puis utilisez Ctrl+Shift+Alt+Right Pousser dans la portée. L'instruction sera maintenant dans le bloc if
, et vous pouvez utiliser le haut ou le bas pour la déplacer. Vous pouvez aussi utiliser Ctrl+Shift+Alt+Left pour l'extraire de la portée, en dehors du bloc if
.
Vous pouvez également placer le curseur d'insertion à l'extérieur de l'accolade fermante du bloc if
et utiliser Ctrl+Shift+Alt+Down pour déplacer l’accolade vers le bas, en suivant les instructions suivantes, en les incluant dans le bloc if
.
Ces clés peuvent faire beaucoup plus que simplement déplacer une seule déclaration. Si vous placez le curseur sur une déclaration de méthode ou de classe, Up et Down déplacera la déclaration de méthode ou de classe entière de haut en bas. Si vous mettez le curseur dans la liste des paramètres d’une méthode, Left et Right réorganiser les paramètres individuels (puis Alt+Enter peut invoquer le refactoring de changement de signature).
Plus de détails dans le pages d'aide .