2009-09-04 7 views
0

Je suis dans une situation dans laquelle je souhaite exécuter une macro Visual Studio dans laquelle l'utilisateur saisit quelque chose dans un InputBox, puis insère un extrait et l'inclut quelque part. Malheureusement, je n'arrive pas à comprendre comment insérer l'extrait du code de macro. Il semble que ce serait quelque chose commeInsérer un extrait d'une macro Visual Studio

DTE.ExecuteCommand("Edit.InvokeSnippetFromShortcut") 

ou

DTE.ExecuteCommand("Edit.InvokeSnippetFromShortcut", "theSnippetName") 

mais ceux qui ne fonctionnent pas. Des idées?

Répondre

1

Vous pouvez insérer un extrait avec le code suivant.

DTE.ActiveDocument.Selection.Text = "snippetshortcut" 
DTE.ExecuteCommand("Edit.InsertTab") 

Si vous utilisez VS 2010, vous devrez appeler DTE.ExecuteCommand ("Edit.InsertTab") deux fois.

+0

Sainte vache, tu as raison. Et maintenant que je le vois, je me rends compte que j'aurais probablement pu le découvrir en enregistrant une macro, si j'y avais pensé. Merci! ... Maintenant, si seulement je pouvais me souvenir de ce que je faisais il y a seize mois, je voulais le savoir. :) –

+0

Ce dont j'avais besoin pour cela était d'insérer un extrait mais en remplissant certains des littéraux avec des valeurs calculées (comme la date d'aujourd'hui). – Matt

0

Vous devez décider où ce code doit être sélectionné. Pour insérer du texte dans la sélection de texte actuelle, vous devez utiliser le code suivant:

Dim textSelection As EnvDTE.TextSelection 
textSelection = DTE.ActiveWindow.Selection   
textSelection.Insert(MyTextVarHere) 
+0

Je veux insérer un * extrait *. Pas seulement du texte. * Snippet * a une signification spécifique dans Visual Studio. –

Questions connexes