Moinsen,
ich habe ein altes Tool (aus 2003 für Delphi7) mal etwas aufgefrischt und würde mich über freundliche oder hilfreiche Kommentare freuen. Motivation war die Unzulänglichkeit der
IDE für die projektweite Suche im Quelltext und die Funktion "Referenzen suchen" (find References).
Was tut das Tool- Input ist ein übersetzbares Delphi-Projekt, eine Library oder Package. Die Entwicklung basiert auf dem Sprachumfang von Delphi 10.3.3.
- Source-Files werden geparst und alle Elemente entsprechend der statischen Blockstruktur mit Typ-Informationen in einen TreeView einsortiert. Elemente sind im wesentlichen die Identifier, aber auch Pascal-Direktiven und -Attribute, Compiler-Direktiven und -Schalter, Literale und Dateinamen sowie falls gewünscht die Keywords.
- Alle Referenzen (also textuelle Vorkommen) dieser Ids werden daneben als Liste von Code-Snippets angezeigt. Dazu der Referenz-Typ, also deklarierend, lesend, schreibend, weiterreichend. Alle Identifier in diesen Code-Snippets sind hyperlinked zum TreeView (per DoppelClick).
Nutzen
- Zusätzlich zum üblichen funktionsbezogen-sequentiellen Blick auf die Anweisungen im Quellcode bekommt man schnellen Zugriff auf den "Lebenslauf" eines Identifiers.
- schnelles projektweites und intelligentes (weil syntax- statt text-basiertes) Suchen und Umbenennen
- Anbindung an IDE per Drag&Drop: Ziehen einer Referenz in die IDE springt zu dieser Codestelle
- Filterung nach speziellen Nutzungen (z.B. ungenutzte Variablen, Generics, Overloads ,...)
Specials
- Units dürfen fehlen. Nicht deklarierte Elemente werden in einer <Unresolved-unscoped>-Liste geführt. Natürlich ist solch ein Ergebnis nicht mehr exakt, trotzdem kann man idR damit arbeiten.
- Ids aus System.pas sind rudimentär integriert, können nach Bedarf ergänzt werden.
- Anzeige als Nassi-Shneiderman-Diagramm
Anzeige und Bedienung
Aktueller
Download aus meiner DropBox.