ReSharper Search and Replace with Pattern
Monday, August 9th, 2010Endlich bin ich dazu gekommen, das ReSharper Feature Search and Replace with Pattern auszuprobieren.
Die Herausforderung
Es nervt mich, wenn ich über älteren Code stolpere, in dem ich noch mit Assert.AreEqual gearbeitet habe. Aktuell verwende ich lieber Assert.That, weil das für mich besser lesbar ist. Also habe ich nach einer Möglichkeit gesucht, die eine in die andere Variante zu ändern. Auf Knopfdruck versteht sich.
Die Lösung
Mit ReSharper ist die Lösung ganz einfach. Man legt sich ein entsprechendes Replace Pattern an:
- Find: Assert.AreEqual($expected$, $actual$);
- Replace: Assert.That($actual$, Is.EqualTo($expected$));
Die beiden Platzhalter $expected$ und $actual$ werden als Parameter definiert. Editieren kann man das Pattern über die Menüfunktion ReSharper | Find | Search with pattern…
Das coolste an diesem Feature: man kann dem Pattern eine Pattern severity zuordnen, z.B. “Show as warning”. ReSharper weist dann in Quellcodedateien auf gefundene Instanzen des Patterns hin und bietet einen Quickfix an. So wird durch einen einfachen Druck auf Alt-Enter eine Assertion im “alten Stil” aktualisiert.



