Voici une solution plus robuste en utilisant Visual Studio sans outils 3ème partie:
1. Pour tous, sauf Post-/pré-fix Increment et Shift missions:
(^|[^\w.])MyVariable\s*([\+\-\*/%&|\^]|)=[\w\s]
2. Pour les affectations de décalage et de changement de position et de préfixe:
((^|[^\w.])MyVariable\s*(\+\+|--)|(\+\+|--)\s*MyVariable[^\w.]|(^|[^\w.])MyVariable\s*(<<|>>)=)
3. Pour Out/Ref Paramètres (N/A pour Propriétés):
(^|[^\w.])(out|ref)\s+MyVariable[^\w.]
: CAVEATS
- C# .NET uniquement.
- Visual Studio 2012+ uniquement.
- Ne fonctionne pas si "=" est suivi d'un EOL.
- Ne fonctionne pas si "MyVariable" est suivi d'un EOL.En fonction du point de départ et de la portée de la recherche et de la portée de la variable/propriété, il est possible de trouver plus/moins de références que nécessaire. En cas de doute, erreur du côté de "plus", afin que vous ne manquiez de rien.
- Ne fonctionne pas pour les variables/propriétés "." - préfixées. 6.1. À moins que vous ne l'incluiez dans MyVariable (c'est-à-dire «MyStructVariable.MyStructField» ou «MyObjectVariable.MyObjectField»), vous risquez de ne pas trouver suffisamment de références car d'autres variables Struct ou Object peuvent être utilisées pour effectuer des affectations sur le même Struct ou Champ ou propriété d'objet.
Qu'entendez-vous par «variable»? Plus spécifiquement, incluez-vous des champs et des propriétés, ou faites-vous spécifiquement référence aux variables locales? –
@dotnetdev: Je suggère soit: a) de supprimer le "ou obtenu" de votre question ou b) de le changer pour dire "définir seulement ou avoir seulement" vs "définir ou obtenu". En l'état, votre question (selon l'anglais et les règles de grammaire de programmation) signifie que vous ne vous souciez pas de lire des références * en plus * pour écrire des références (auquel cas vous pouvez simplement utiliser la fonctionnalité intégrée de recherche de VS) . Je suis sûr que vous cherchez un moyen de trouver des références d'écriture * seulement *. Ctrl + Maj + F serait pratique. – Tom