Możesz to zrobić, ale to jest hack. Co możesz zrobić, udekoruj swoje metody rejestrowania za pomocą ConditionalAttribute, używając ReSharper's External Annotations.
Adnotacje są wykorzystywane w ReSharper niemal wszędzie, to jak to się zna na szarą linię w wersji Debug.WriteLine
, na przykład, ponieważ Debug.Write...
linie są ozdobione atrybut [Conditional("DEBUG")]
.
Co można zrobić, to oszukać dokonując ReSharper myśleć że istnieje taka metoda uzależnione od metod Twojego rejestratora. Możesz to zrobić, stosując ten atrybut zewnętrznie przez XML.
pisałem o zrobieniu czegoś takiego w my blog, oto jak można to zrobić:
- Utwórz plik o nazwie YourLogger.ExternalAnnotations.xml, np NLog.ExternalAnnotations.xml i umieść go obok zespołu rejestratora.
- Dodaj następujący:
<assembly name="NLog">
<member name="M:NLog.Logger.Info(System.String)">
<attribute ctor="M:System.Diagnostics.ConditionalAttribute.#ctor(System.String)">
<argument>LOG</argument>
</attribute>
</member>
<member name="M:NLog.Logger.Debug(System.String)">
<attribute ctor="M:System.Diagnostics.ConditionalAttribute.#ctor(System.String)">
<argument>LOG</argument>
</attribute>
</member>
</assembly>
Dla każdej metody, którą chcesz "szary out", trzeba będzie dodać <member>
blok o nazwie XML-Doc ID metody. W ReSharper 8 EAP dostępna jest opcja Skopiuj identyfikator dokumentu XML do schowka, znajdującego się pod menu ReSharper's Edycja.
To zasadniczo powoduje, że silnik ReSharpera uważa, że istnieje [Conditional("LOG")]
zdefiniowany w metadanych typu rejestratora.
Po dodaniu wszystkich pożądanych metod wystarczy ponownie załadować rozwiązanie. Powinieneś dostać to, czego szukasz (coś w rodzaju ...jak powiedziałem, jest to hack :))

Jest to ciekawy pomysł. Możesz zasugerować to na swoim trackerze problemów: http://youtrack.jetbrains.com/issues/RSRP –
Zasugerowano tutaj: https://youtrack.jetbrains.com/issue/RSRP-437773 –