Question

J'ai une solution avec plusieurs projets et nous devons procéder à des remplacements globaux sérieux.

Existe-t-il un moyen de remplacer un caractère générique dans lequel certaines valeurs restent après le remplacement?

Ainsi, par exemple, si je veux que chaque HttpContext.Current.Session ["whatevervalue"] devienne HttpContext.Current.Session ["whatevervalue"]. ToString () la valeur de chaîne transmise sera-t-elle respectée? Je ne veux pas remplacer «whatevervalue», je veux juste ajouter un .ToString () où le motif correspond.

Est-ce possible dans Visual Studio?

Était-ce utile?

La solution

Commencez par sauvegarder vos projets, juste au cas où ... Toujours une bonne idée avant de procéder à des remplacements en masse.

Sélectionnez ensuite la case à cocher Utiliser des expressions régulières dans la boîte de dialogue Rechercher / Remplacer:

Dans la zone Rechercher, utilisez le modèle suivant:

HttpContext\.Current\.Session\["{.@}"\]

et dans la zone Remplacer, utilisez:

HttpContext.Current.Session["\1"].ToString()

Autres conseils

Facile ... utilisez des expressions régulières et des groupes.

Trouvez quoi: (HttpContext.Current.Session [“whatevervalue”])

Remplacer par: \ 0.ToString ();

N'oubliez pas de cocher la case Utiliser: et sélectionnez Expressions régulières

Vous souhaitez ouvrir le " Options de recherche " développer et sélectionnez la commande " Utiliser des expressions régulières " option. Une fois que vous avez terminé, vous souhaitez les utiliser comme recherche / remplacement d’entrées:

Rechercher:

HttpContext\.Current\.Session\[{("([^"]|\")*")}\]

Remplacer:

HttpContext.Current.Session[\1].ToString()

Remarque supplémentaire:

Une fois que vous avez activé l'option des expressions régulières, vous pourrez utiliser les boutons triangulaires pointant vers la droite pour accéder aux extraits de la syntaxe Regex de Visual Studio.

Notez également que la syntaxe Regex de Visual Studio est plutôt ghetto, car elle n'a pas changé depuis Visual Studio 6 (ou une version antérieure?). Ne prenez donc aucun élément de syntaxe pour acquis.

Par exemple, on peut s’attendre à ce que mon expression rationnelle find ci-dessus soit rompue, car la barre oblique inverse précédant la double guillemet n’est pas correctement échappée, mais en réalité, placer une double barre oblique inversée à cet endroit romprait l’expression, mais ne le corrigerait pas.

Aucune de ces réponses ne semble fonctionner dans Visual Studio 2013, cette version semble enfin avoir basculé vers la norme RegEx. Cependant, ceux qui ne sont pas des experts RegEx ou ceux qui sont habitués à l'ancienne syntaxe VS Rechercher / Remplacer RegEx trouveront les boutons de raccourci RegEx très utiles.

Veuillez consulter cette réponse pour plus d'informations, y compris Rechercher / Remplacer / Surround. Par exemple:

Visual Studio ' Rechercher et entourer de "au lieu de" Rechercher et remplacer "

Vous pouvez utiliser Visual Assist pour des tâches de ce type. C'est un outil puissant pour différents types de refactoring.

Vous pouvez également envisager d'utiliser l'outil de téléchargement gratuit Refactor disponible à l'adresse http: //. www.devexpress.com/Products/NET/IDETools/RefactorASP/

Il fait beaucoup plus que simplement rechercher & amp; replace, qu'ils appellent des membres renommés avec des noms plus compréhensibles. Ses différentes fonctionnalités vous aideront facilement à améliorer votre code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top