Comme la plupart d'entre vous le savent probablement, les expressions régulières utilisées dans la boîte de dialogue de recherche de Visual Studio are not the same as .NET Regex. C'est un PITA important pour moi, et j'ai souvent recours à des outils externes pour rechercher mon code avec des regex.Utilisation de .NET Regex standard dans la boîte de dialogue de recherche de Visual Studio
Donc, j'ai deux questions:
- Pourquoi diable l'équipe at-VS introduit une autre nouvelle, syntaxe regex non standard? Ne pouvaient-ils pas utiliser la classe .NET Regex existante? Je ne peux pas penser à une bonne raison pour cela ...
- Existe-t-il une extension VS là-bas qui me permettrait d'utiliser la syntaxe regex standard dans la boîte de dialogue Rechercher?
EDIT: J'ai trouvé deux suggestions connexes sur Connect:
- Please consider using the same regex syntax for Find/Replace and the Regex class
- Modify Visual Studio Find And Replace To Accept other Non MS Text Matching Engines
Le second est en fait plus intéressant, car il fournirait un extensible solution ...
Il existe également quelques extensions VS2010 (telles que this one) qui permettent de rechercher avec des expressions régulières, mais aucune d'entre elles ne s'intègre dans la boîte de dialogue de recherche standard et ne dispose pas de la fonction "trouver dans les fichiers".
Pourquoi l'équipe VS a-t-elle introduit une autre syntaxe regex? Je suis à peu près certain que l'outil basé sur les regex Find & Replace * est antérieur à * .NET (ie Visual Studio 6), il aurait donc été assez difficile de l'utiliser. Et puis vous ne pouvez pas le remplacer en raison de problèmes de compatibilité descendante ... –
VS regex est un standard de facto car il existe depuis si longtemps. Juste un parmi beaucoup. Bien sûr, il est logique de soutenir une autre norme. Ou deux, n'oubliez pas les clients C++. Demandez à connect.microsoft.com. Je ne trouve aucune demande préalable, étrange. –
@Hans Passant, j'ai effectivement trouvé deux demandes pour ce problème, voir ma question mise à jour pour plus de détails. –