Puis-je enregistrer / lire des macros dans Visual Studio 2012/2013/2015/2017/2019?


193

Apparemment, les macros ont été supprimées de Visual Studio 2012.

Existe-t-il un plugin / extension / outil qui me permettra d'enregistrer et de jouer des macros de clavier (un peu comme la macro temporaire d'enregistrement / lecture dans Visual Studio 2010)?

Par exemple, j'utilise généralement une macro lors de la conversion de code d'une langue vers une autre ou pour générer rapidement des propriétés à partir d'une liste de textes, etc.


1
Il semble que vous souhaitiez peut-être examiner les modèles T4, au moins pour vos scénarios de génération de code.
John Saunders

Visual Studio 2012 et macros - viva64.com/en/b/0175

2013 ne prend toujours pas en charge les macros! - voir bharry blogs.msdn.com/b/bharry/archive/2013/06/03/…
laktak

3
MISE À JOUR: Ils sont de retour! Une nouvelle extension pour VS2013 a été publiée permettant aux utilisateurs «d'enregistrer la plupart des commandes dans Visual Studio, y compris les opérations d'édition de texte». (détails ici: visualstudiogallery.msdn.microsoft.com/… )
kmote

1
À lire sur la réaction de Jon Robbins de
Jason Evans

Réponses:


177

Vous pouvez essayer l' extension Macros de texte pour Visual Studio 2012-2019 (je suis l'auteur). Il fait essentiellement la même chose que les macros Notepad ++ (édition de texte, pas d'automatisation de l'interface utilisateur).

Le code est open source ( GitHub ), alors n'hésitez pas à apporter des améliorations :-)


20
+1 Que Dieu vous bénisse. Il y a quelques minutes, j'ai été horrifié de découvrir l'omission des macros par VS2012, et vous l'avez posté 11 heures avant d'arriver ici!
Shaul Behr

3
Xavier, je viens d'installer votre extension, et il manque une prise en charge pour la capture des opérations de recherche (comme F3 pour trouver la prochaine instance de texte). Ceci est très utile pour opérer sur du texte que vous ne pouvez pas utiliser uniquement avec les mouvements de curseur standard. Y a-t-il une chance d'ajouter ceci?
pxb

2
@pxb bon point, je n'ai jamais pensé à les utiliser mais je peux les voir utiles. J'ai créé un problème et j'y reviendrai certainement.
Xavier Poinas

Impressionnant! Merci beaucoup. Je mourais sans support de macro.
Sam Woods

J'aime cela! C'est tellement plus agréable que l'implémentation lente des macros dans VS2010!
Vlad Iliescu

159

Dans cette version de Visual Studio, bien qu'il y ait littéralement des centaines de fonctionnalités, nous en avons en fait retiré certaines. L'un d'eux est la fonction d'automatisation des macros, y compris l'enregistrement / la relecture de macro, les projets de macro et l'IDE de macros. Bien que nous sachions que les macros ont été utiles à ceux qui les utilisent, nos données d'utilisation montrent malheureusement que moins de 1% des développeurs de Visual Studio profitent de cette fonctionnalité. Par conséquent, nous nous sommes retrouvés à investir plus profondément dans les zones Visual Studio qui sont utilisées tous les jours et nous n'avons pas mis à jour les macros pour plusieurs versions.

Source: Macros dans Visual Studio 11 Developer Preview

J'ai commencé à contourner ce problème (bien que cela ne soit pas pratique) en coupant / collant dans Notepad ++ , en y enregistrant et en exécutant la macro, puis en la coupant / collant dans Visual Studio 2012.


186
Couper le code de votre IDE de classe mondiale pour le coller dans Notepad ++ pour enregistrer et lire une macro simple est un échec clair de Microsoft. Cependant, je conviens que c'est la solution actuellement la plus simple à cela. Triste mais vrai.
mattmc3

69
Moins de 1% est définitivement fou, tous les développeurs (VS / C #) que je connais ont utilisé des macros, je suis d'accord pas tous les jours.
Sanjeevakumar Hiremath

13
Une autre raison de rester avec VS2010 - ou de demander qu'il soit ramené ici visualstudio.uservoice.com/forums/121579-visual-studio/…
Mister Cook du

14
C'est incroyable ... 1% ??? Cela ne peut pas être vrai! Cette fonctionnalité doit être ajoutée à nouveau - J'ai utilisé des macros constamment en 2010.
Rockdocta

44
@SanjeevakumarHiremath Je suis d'accord que le nombre semble faible (pas sûr qu'il soit composé), mais c'est un argument en faveur de toujours cocher cette case lorsque vous installez un produit Microsoft qui dit "envoyer des statistiques d'utilisation anonymes pour aider à améliorer les produits MS."
Michael

48

Démarquez-vous et votez pour ramener les macros!

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2650757-bring-back-macros

MISE À JOUR (04/10/2013):

Yay! Grâce à vos votes, les macros sont désormais envisagées pour le retour! Continuer à pousser!

Nous examinons actuellement la faisabilité de fournir une capacité de script dans une future version de Visual Studio. Veuillez continuer à nous faire part de vos commentaires sur la capacité de script que nous devrions offrir pendant que nous recherchons cette suggestion.

Tony Goodhew, gestionnaire de programme, VS Pro.


1
A voté +3. Cependant, j'ai fait de même pour la prise en charge Bluetooth SPP dans WP7 (qui était la fonctionnalité demandée n ° 1), et il leur a fallu plus de deux ans pour implémenter une version limitée de SPP. :(
eduncan911

24

Depuis que j'utilise Sublime Text, j'ai découvert qu'il existe en fait de meilleures façons de modifier du texte qu'en utilisant des macros.

Sublime vous permet de modifier votre texte avec plusieurs curseurs à la fois. C'est difficile à expliquer mais il y a plusieurs animations qui le montrent sur http://www.sublimetext.com

Capture d'écran sublime

J'ai également ajouté Sublime en tant qu'outil externe à Visual Studio:

  • ouvrir Outils / Outils externes
  • ajouter: Sublime, sélectionnez l'exe et utilisez ces arguments: $ (ItemPath): $ (CurLine): $ (CurCol)
  • (déplacez-le également vers le haut car cela facilite la prochaine étape, sinon souvenez-vous de sa position)
  • Ensuite, allez dans Personnaliser / Clavier, recherchez Tools.ExternalCommand1 et ajoutez votre raccourci clavier préféré.

Cela ouvrira le document actuel dans Sublime à la même position du curseur que vous étiez dans VS.

(aussi, Sublime peut faire des macros au cas où vous en auriez encore besoin)


3
Voici une grande extension pour VS2012 + qui ajoute ce type de montage, elle m'a été très utile: visualstudiogallery.msdn.microsoft.com/…
Duane

2
Cela dit, il y a des moments où les macros sont pratiques, comme devoir effectuer la même action dans plusieurs fichiers.
Duane

19

LES MACROS SONT DE RETOUR!

En cours de révision → Terminé

Nous avons entendu vos commentaires haut et fort et nous avons travaillé sur une solution. Nous sommes donc très heureux d'annoncer que nous avons maintenant publié une version de macros qui prend en charge Visual Studio 2015 et Visual Studio 2013.

Pendant que nous y étions, nous en avons profité pour corriger quelques bugs et améliorer les raccourcis clavier. Nous espérons que vous l'apprécierez.

Pour plus d'informations, consultez l'article de blog ici: http://aka.ms/vsmacros

Nous avons également ouvert le code sous la licence MIT. Si vous avez des suggestions ou des contributions, n'hésitez pas à créer un problème ou une demande d'extraction dans le nouveau référentiel GitHub: http://github.com/Microsoft/VS-Macros

Justin Clareburt Gestionnaire de programme principal

Macros pour Visual Studio

Macros pour Visual Studio est une extension pour Visual Studio 2013 et Visual Studio 2015 qui permet l'utilisation de macros pour automatiser les tâches répétitives dans l'EDI. L'extension peut enregistrer la plupart des commandes dans Visual Studio, y compris les opérations d'édition de texte. Caractéristiques

  • Enregistrer et lire les opérations de document actives et les commandes Visual Studio IDE
  • Lecture plusieurs fois
  • Gérer et conserver des macros avec un explorateur de macros
  • Attribuer des liaisons de clavier à n'importe quelle macro
  • Macros enregistrées en tant que fichiers JavaScript qui appellent les API VS DTE
  • Édition de macros dans Visual Studio avec DTE IntelliSense
  • Arrêter la lecture
  • Exemples de macros

entrez la description de l'image ici


Ce plugin est très buggé. Je l'ai finalement fait fonctionner sur VS2017, mais il a cessé de fonctionner quelques heures plus tard. Les avis sont largement négatifs.
StuartN

Veuillez noter que bien que le code source soit open source, "Cette extension a été initialement créée par un groupe de stagiaires de l'équipe Visual Studio. Elle n'est plus maintenue"
Yann Duran

16

L' extension Visual Commander (développée par mes soins) prend en charge l'enregistrement et la lecture de macro de modification de code dans Visual Studio 2015/2017/2019.


Cette extension est superbe! C'est GreaseMonkey pour Visual Studio! J'ai fait du bon travail avec lui (j'ai fait que WebEssentials compile tous les fichiers MOINS de mon projet), et j'ai aussi fait des ravages dans le projet! Merci beaucoup pour cet excellent logiciel.
Ashraf Sabry

Je l'ai essayé avec VS2015 et il n'enregistre pas les actions de REMPLACEMENT: '(
Gabrielizalo

5

Je viens d'être informé que Microsoft a publié une extension de Visual Studio 2013 pour prendre en charge à nouveau les macros:

https://visualstudiogallery.msdn.microsoft.com/d3fbf133-e51b-41a2-b86f-9560a96ff62b

Je conseillerais de voter pour la fonctionnalité afin de les encourager à rendre l'extension également disponible pour Visual studio 2015: https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2650757-bring-back- macros


Cela sonnait plutôt bien, mais les touches CTRL-M, P sont vouées à "arrêter le contour". Même après avoir supprimé cette liaison, la lecture par défaut ne semble pas fonctionner.
Wheezil


2

VSScript permet d'enregistrer, d'écrire et de modifier des macros dans Lua , même si je n'ai pas encore pu le faire fonctionner avec Visual Studio 2015 (le bouton de commande est grisé; la documentation indique que Visual Studio 2005 à 2015 RC est pris en charge).

Il est actuellement publié en tant que freeware.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.