Metadatensuche – Wie ein Pirat!

Eben habe ich euch einige Beispiele für die neuen Ereignis-Abonnements gezeigt. Jetzt möchte ich noch kurz aufzeigen, wie man entsprechende Beispiele auch selbst einfach finden kann. Natürlich könnte man auch die Metadata Search in Visual Studio verwenden, aber meistens bevorzuge ich eine Variante, bei der man die XML-Dateien in den Verzeichnissen direkt durchsucht.

Ich benutze ein kleines Beispiel zur Veranschaulichung. Nehmen wir mal an, wir wollen eine Subscription für ein Ereignis OnActivated einer Form Datasource implementieren und Beispiele sichten, was man da wie machen kann. Es gibt natürlich schon andere Implementierungen, die uns weiterhelfen könnten. Also kopieren wir erstmal den Event Handler

[FormDataSourceEventHandler(formDataSourceStr(PurchTable, PurchTable), FormDataSourceEventType::Activated)]
public static void PurchTable_OnActivated(FormDataSource sender, FormDataSourceEventArgs e)
{
}

An sich ist es egal, welchen Weg der Metadatensuche man verwendet, der beste Suchbegriff in diesem Fall (für andere Handles von OnActivated) ist FormDataSourceEventType::Activated.

Das Werkzeug, das ich fürs Durchforsten der XML-Dateien verwende, ist Notepad++. Die Funktionalität dafür heißt Find in Files und kann über Shift + Strg + F oder das Menü aufgerufen werden. Möchte man alle entsprechenden Implementierungen des Standard in Klassen der Application Suite finden, so muss man nach FormDataSourceEventType::Activated im Verzeichnis C:\Packages\ApplicationSuite\Foundation\AxClass (der Pfad bezieht sich auf lokal deployte virtuelle Entwicklungsmaschinen) suchen.

Notepad++ Find In Files

Es gibt weitere sinnvolle Optionen für die Suche wie Berücksichtigung von Groß-/Kleinschreibung und dem optionalen Durchsuchen aller Unterverzeichnisse.

Ich nehme an, dass es jede Menge anderer Programme gibt, die das Gleiche oder Ähnliches vermögen, dies hier ist lediglich das, das ich am liebsten mag 🙂

Nachdem man nicht nur über mehrere Dateien suchen (Find in Files), sondern darüber hinaus auch suchen / ersetzen (Find and Replace in Files) kann, bieten sich natürlich ganz fantastische (und potentiell gefährliche) Möglichkeiten, Änderungen vorzunehmen. Dabei ist anzumerken, dass Änderungen an den XML-Dateien mit Texteditoren in der Regel zu Pending Changes führen, wenn sie unter Versionskontrolle stehen. Was in diesem Fall sehr gut ist 🙂

Das Resultat einer solchen Suche sieht übrigens wie folgt aus. Man muss damit dann zurück nach Visual Studio wechseln, um die Referenzen zu studieren.

Notepad++ Found In Files

Schreibe einen Kommentar