2010-04-01 2 views
2

Existe-t-il une macro dans l'éditeur Visual Studio pour supprimer tous les commentaires d'un fichier source VB.NET?Supprimer tous les commentaires du fichier de code source VB.NET

+0

curiosité. Pourquoi voudriez-vous faire cela? – JohnFx

+0

J'ai refacturé un module sur lequel j'ai travaillé - par lequel j'ai commenté X lignes de code et ensuite réécrit ce code au-dessus du commentaire. Maintenant que mon code réussit tous les tests, je veux supprimer le code commenté et ajouter les commentaires appropriés aux fonctions. –

Répondre

4

menu Utilisation Edition -> Rechercher et remplacer -> Remplacer rapide avec des expressions régulières

Trouvez ce que: ^{.+}'.+$

Remplacer par: \1

remplacera

text ' comment 

à

text 
+0

@abatishchev - Il supprime toute la ligne! Ce que je ne veux évidemment pas. par exemple. 'Dim chemin As String 'chemin de fichier temporaire' - supprimerait toute la ligne. –

+0

@roygbiv: Ma première variante supprimera toute la ligne. L'actuel - ne sera pas – abatishchev

+0

Faits saillants dans les prochaines Trouver? Droite. La ligne entière correspond. Et il sera remplacé par la partie - depuis le début jusqu'au signe de commentaire – abatishchev

0

EDIT *

http://bytes.com/topic/visual-basic-net/answers/579000-utility-remove-comments-vb-net-files

a quelques options.

tels que

  • écrire un programme VB.NET pour le faire? devrait être facile: toute ligne avec une seule citation comme le premier caractère devrait être supprimée. et tout APRES un guillemet simple (même si c'est pas le premier caractère), à ​​condition que la citation ne soit pas entre une double guillemets . et les fichiers que vous envoyez à ce programme sont des fichiers * .vb.
  • rechercher et remplacer avec une expression régulière serait probablement le plus rapide.
+0

Suggestions intéressantes. Je savais que ça se résumerait à ça.Pensé qu'il y avait un moyen plus simple de pointer et cliquer. –

0

Recherche: ^{(([^"']*"[^"]*"[^"'])#|[^"']*)}'.*$

Remplacer par \1
travaillera également pour des trucs comme ça (SQL):

cs = "INSERT INTO db (time, t1, t2) VALUES ('" & Time.ToString & "', NULL, '" & t2 & "')" ' COMMENT 
Questions connexes