Sie können dies erreichen, aber es ist eine Art Hack. Was Sie tun könnten, ist dekorieren Sie Ihre Logging-Methoden mit der ConditionalAttribute, mit ReSharper External Annotations. fast überall
Anmerkungen werden in ReSharper verwendet, es ist, wie es die Debug.WriteLine
Linie in Release, zum Beispiel zu graut weiß, da die Debug.Write...
Linien mit [Conditional("DEBUG")]
-Attribut versehen sind.
Was könnten Sie tun, ist betrügen, indem sie ReSharper denken, dass eine solche bedingte Methode auf dem Logger Methoden existiert. Sie können dies tun, indem Sie dieses Attribut extern über XML anwenden.
Ich schrieb über in my blog so etwas wie dies zu tun, ist hier, wie Sie dies tun könnte:
- eine Datei YourLogger.ExternalAnnotations.xml, zum Beispiel genannt erstellen NLog.ExternalAnnotations.xml und platzieren Sie es neben Ihrer Logger-Assembly.
- Fügen Sie den folgenden:
<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>
Sie Für jede Methode wollen "ausgegraut", müssen Sie mit dem XML-Doc-ID Name der Methode ein <member>
Block hinzuzufügen. In ReSharper 8 EAP gibt es eine Option Kopiere XML-Doc ID in die Zwischenablage, unter ReSharper Edit Menü.
Dies bewirkt im Wesentlichen, dass ReSharper-Engine denkt, dass ein [Conditional("LOG")]
in den Metadaten des Logger-Typs definiert ist.
Nachdem Sie alle gewünschten Methoden hinzugefügt haben, laden Sie die Lösung einfach neu. Sie sollten bekommen, was Sie suchen (Art von ...wie ich schon sagte, es
Dieser Hack :)) ist eine interessante Idee. Sie könnten es auf ihrem Problem Tracker vorschlagen: http://youtrack.jetbrains.com/issues/RSRP –
Es wurde hier vorgeschlagen: https://youtrack.jetbrains.com/issue/RSRP-437773 –