C'est difficile de juger et de comparer, vu ma connaissance cataclysmique de lisp, et c'est probablement question de goût. C'est au final assez proche de la programmation de macros VBA pour excell ou word, chose que pas mal de monde arrive à faire. De plus un mode d'enregistrement automatique permet d'intuiter pas mal de choses. Et ce code bénéficie de la complétion automatique, ainsi que d'un debuggeur.
Je te mets 1 ou 2 exemples, pour te faire une idée :
Recherche des adresses mail dans la sélection courante.Code:
1
2
3
4
5
6
7 Sub TemporaryMacro() Dim mailRegex As New Regex("\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b", RegexOptions.IgnoreCase) Dim sel As String = CType(DTE.ActiveDocument.Selection, TextSelection).Text For Each match As Match In mailRegex.Matches(sel) MessageBox.Show("Email address found in selection: " + match.ToString()) Next End Sub
Code:
1
2
3
4
5
6 Sub NavigateSolution(ByVal pane As OutputWindowPane) Dim objProject As EnvDTE.Project For Each objProject In DTE.Solution.Projects DoSomething(objProject, pane, 1) Next End Sub
Parcourt tous les projets (= truc générant une bibliothèque, un exécutable...) d'une solution (= regroupement de projets, avec notion de dépendances entre projets), par exemple pour vérifier que certaines options de compilation sont bien spécifiées.
Je ne sais pas trop quel genre de macro de ce genre tu peux faire, peux-tu me montrer un exemple ?