2011-01-01 3 views
3

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:

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".

+1

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 ... –

+0

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. –

+0

@Hans Passant, j'ai effectivement trouvé deux demandes pour ce problème, voir ma question mise à jour pour plus de détails. –

Répondre

1

Visual Studio 6 a trouvé & Remplacer using Regular Expressions. En tant que tel, il serait difficile pour lui d'utiliser un futur produit/cadre pour effectuer une telle recherche

+0

Oui, mais je ne pense pas que la première version .NET de Visual Studio utilisait une grande partie de la base de code VS6 existante ... Ils ont créé un nouvel IDE spécifiquement pour .NET, donc ils auraient (devraient?) utilisé Les regex .NET –

+0

@Thomas - Ils n'ont pas réécrit VS 2002 à partir de zéro - cela dépend de beaucoup de travail précédent. Et même s'ils avaient réécrit, il y aurait eu des soucis de compatibilité en arrière (ils offrent toujours aux gens des raccourcis clavier de l'ère VB6 quand ils commencent VS2010 ...) –

+0

OK, mais dans ce cas, peut-être qu'ils auraient dû fournir à la fois style regex "et". regex "options ... –

Questions connexes