Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur) (https://www.delphipraxis.net/159671-watchmagic-debugging-erweiterung-fuer-delphi-xe-starter-und-nicht-nur.html)

rob74 7. Apr 2011 14:50

WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hintergrund (Wer's eilig hat, kann diesen Abschnitt überspringen)

Ich bin ja seit Anfang/Mitte Februar stolzer (mittlerweile kann ich das sogar ohne Ironie sagen) Besitzer von Delphi XE Starter Edition. Zuerst sind mir die Einschränkungen, die ich nach wie vor für zu streng halte, aufgefallen, aber mit der Zeit habe ich mich an Delphi XE gewöhnt - es hat einige Features, die ich nicht mehr missen möchte, und es ist deutlich stabiler als Turbo Delphi, dessen IDE ja (zumindest bei mir) gerne mal mit Exceptions um sich schmeißt, vor allem beim Beenden. Aber die Beschränkungen, vor allem das nicht vorhandene Lokale Variablen-Fenster und die nicht unterstützte Tooltip Expression Evaluation (beim Debuggen mit Maus über Variable gehen -> Wert wird angezeigt), haben mich weiter genervt. Also habe ich mich mal in das Thema "Delphi-IDE-Experten" (man könnte sie auch, wie bei Firefox, "Erweiterungen" nennen) vertieft, und kann deshalb jetzt, nach etlichen durchprogrammierten Nächten und ein paar grauen Haaren mehr, *trommelwirbel* präsentieren:

nieware.net WatchMagic

Was tut es? Am besten kann man es sich als erweitertes "Lokale Variablen"-Fenster vorstellen - es zeigt die Variablen an, die von der Funktion benutzt werden, die gerade debuggt wird - nicht mehr und nicht weniger, aber das reicht schon aus, um das Lokale Variablen-Fenster und die Tooltip Expression Evaluation zu ersetzen. Dann gibt's noch ein paar Zusatzfunktionen, z.B. werden die seit dem letzten Schritt geänderte Werte hervorgehoben, und man kann wie gewohnt Werte und Namen von Variablen in die Zwischenablage kopieren. Und Selbstverständlichkeiten wie z.B. dass man die Position des Fensters per Desktop-Einstellung speichern kann und es dann auch wieder an derselben Position auftaucht - ich erwähne es nur, weil dieses Feature mit am meisten Zeit gekostet hat, aber jetzt funktioniert es zuverlässig.

Update: Version 1.1.0

Nach zwei Monaten ist nun die Version 1.1.0 erschienen. Sie bietet neben ein paar Bugfixes auch zwei neue Features: das Springen von Deklaration zu Definition einer Methode und zurück mit Tastenkürzeln (Strg+Alt+PgUp/PgDn) und das Anzeigen der Hex-Werte von Integer-Variablen als Tooltip.

Auch für diese Version gilt: falls wider erwarten etwas schief gehen sollte, gibt es extra ein Uninstall-Icon im Startmenü, damit man es möglichst schnell wieder entfernen kann und dann seine gewohnte IDE wieder hat.

Hauptseite mit Beschreibung und Screenshot
Download-Seite
Hilfe
Feedback und Verbesserungsvorschläge (bitte nur auf Englisch, auf Deutsch hier antworten)

WatchMagic ist Freeware, aber Spenden werden natürlich gerne gesehen ;)

Anhang: Screenshot von WatchMagic beim Debuggen einer Funktion, die eine quadratische Gleichung löst (ein Bild sagt mehr als tausend Worte)

mkinzler 7. Apr 2011 14:55

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
:thumb:

Namenloser 7. Apr 2011 15:17

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Respekt :thumb:
Kann es allerdings nicht testen, da ich kein XE habe. Aber wenn du noch ein paar andere Dinge an der Starter fixt, ändert sich das womöglich bald :stupid:

rob74 7. Apr 2011 21:11

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von NamenLozer (Beitrag 1093670)
Aber wenn du noch ein paar andere Dinge an der Starter fixt, ändert sich das womöglich bald :stupid:

Als da wären? Den VCL-Quellcode kann ich leider nicht "nachrüsten", aber wenn man Turbo Delphi hat, ist das zum Glück halb so schlimm :wink:

Aber mal im Ernst, ein anderes Feature, das ich implementieren könnte, ist mir schon eingefallen: das Springen zwischen Definition und Deklaration (und zurück) mit Shift+Strg+Pfeiltaste hoch/runter - da ich schon einen Parser eingebaut habe, sollte sich der Aufwand in Grenzen halten...

Namenloser 7. Apr 2011 21:19

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von rob74 (Beitrag 1093769)
Zitat:

Zitat von NamenLozer (Beitrag 1093670)
Aber wenn du noch ein paar andere Dinge an der Starter fixt, ändert sich das womöglich bald :stupid:

Als da wären?

Klassenvervollständigung und automatisches Umbenennen (Strg+E), sowie einige andere Sachen, die ich aber nicht auswendig weiß...

rob74 15. Apr 2011 22:49

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von NamenLozer (Beitrag 1093773)
Klassenvervollständigung und automatisches Umbenennen (Strg+E), sowie einige andere Sachen, die ich aber nicht auswendig weiß...

Das sind aber schon ziemlich fortgeschrittene Features... die zu implementieren wäre ein beträchtlicher Aufwand, das rechnet sich für eine Gratis-Software nicht. Aber Du kannst dir mal Castalia anschauen - kostet 150$, genauso wie XE Starter (das enspricht hier allerdings ca. 100 €, nicht 170€ wie bei Embarcadero ;) ) und bietet viele Refactoring-Funktionen und andere Komfort-Features.

Namenloser 15. Apr 2011 22:52

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von rob74 (Beitrag 1095502)
Zitat:

Zitat von NamenLozer (Beitrag 1093773)
Klassenvervollständigung und automatisches Umbenennen (Strg+E), sowie einige andere Sachen, die ich aber nicht auswendig weiß...

Das sind aber schon ziemlich fortgeschrittene Features... die zu implementieren wäre ein beträchtlicher Aufwand, das rechnet sich für eine Gratis-Software nicht.

Klar, habe jetzt auch nicht von dir verlangt, das zu implementieren – Aber du hast gefragt ;)

s-off 18. Apr 2011 13:56

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Hallo,

das sieht recht nett aus und würde sich sicherlich gut als Referenzprojekt für die Einführung in die ToolsAPI machen - soetwas gibt es nämlich noch nicht ;)

Btw: wofür steht das (und nicht nur) im Topic? Mit einer Version < XE lässt sich der Experte nicht installieren.

DeddyH 18. Apr 2011 17:41

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von s-off (Beitrag 1095844)
Btw: wofür steht das (und nicht nur) im Topic? Mit einer Version < XE lässt sich der Experte nicht installieren.

Vielleicht bezieht sich das auf die Starter, ich habe es unter der Pro aber nicht probiert, daher lediglich eine Vermutung.

s-off 18. Apr 2011 20:02

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von DeddyH (Beitrag 1095877)
Vielleicht bezieht sich das auf die Starter, ich habe es unter der Pro aber nicht probiert, daher lediglich eine Vermutung.

Wäre eine Möglichkeit :)

Davon mal abgesehen: benutzt Du Features, die wirklich ausschließlich in der XE funktionieren? Ich könnte mir vorstellen, dass die Funktionen auch andere gerne nutzen würden, die kein XE haben (ich zum Beispiel ;)). Von daher wäre es doch mal nett, zu prüfen, ob die implementierten Funktionalitäten auch mit den Interfaces <= 140 funktionieren :)

mkinzler 18. Apr 2011 20:06

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Im Großen-Und-Ganzen hat sich ja an der IDE zwischen D2010 auf XE nicht viel geändert ( außer integrierte 3rd-Party-Tools).
Aber Der Debugger in D2010 ist ja nicht eingeschränkt ( wie der der XE Starter)

rob74 18. Apr 2011 21:22

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von s-off (Beitrag 1095844)
das sieht recht nett aus und würde sich sicherlich gut als Referenzprojekt für die Einführung in die ToolsAPI machen - soetwas gibt es nämlich noch nicht ;)

Btw: wofür steht das (und nicht nur) im Topic? Mit einer Version < XE lässt sich der Experte nicht installieren.

Doch, ToolsAPI-Projekte mit Quellcode gibt's mindestens drei - GExperts, CnPack, und die JCL enthält unter vielen anderen Sachen auch noch ein paar Experten. Ohne die Möglichkeit, deren Quellcode anzuschauen, wäre mein Projekt vermutlich nie zustande gekommen, deshalb habe ich mich auch auf der Site bei ihnen bedankt.

Das "und nicht nur" steht für die anderen Editions von Delphi XE - da kann man zwar Tooltip Expression Evaluation usw. nutzen, aber der eine oder andere könnte ein Fenster, das alle gerade benutzten Variablen auf einmal zeigt, trotzdem praktisch finden.

rob74 18. Apr 2011 21:35

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von s-off (Beitrag 1095894)
Davon mal abgesehen: benutzt Du Features, die wirklich ausschließlich in der XE funktionieren? Ich könnte mir vorstellen, dass die Funktionen auch andere gerne nutzen würden, die kein XE haben (ich zum Beispiel ;)). Von daher wäre es doch mal nett, zu prüfen, ob die implementierten Funktionalitäten auch mit den Interfaces <= 140 funktionieren :)

Die Funktionalität sollte bis inkl. Delphi 2006 abwärtskompatibel sein, schlicht und einfach weil ich als "Dokumentation" quasi nur die kommentierte ToolsApi.pas von Turbo Delphi (plus diverse BDN/EDN-Artikel und die GExperts-FAQ) zur Verfügung hatte. Ich habe die BPL-Datei sogar testweise mit Turbo Delphi compiliert, nur installieren kann man sie leider nicht. Und die Unterstützung der anderen Versionen scheitert daran, dass man die jeweilige Version haben muss, um eine in die IDE einbindbare BPL-Datei compilieren zu können. Bei Delphi XE Starter werden die Vorgängerversionen leider nicht mitgeliefert ;)

s-off 19. Apr 2011 08:06

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
Zitat:

Zitat von mkinzler (Beitrag 1095896)
Im Großen-Und-Ganzen hat sich ja an der IDE zwischen D2010 auf XE nicht viel geändert

Gerade die ToolsAPI soll ja mit XE erweitert worden sein; daher meine Nachfrage.

Zitat:

Zitat von rob74
Doch, ToolsAPI-Projekte mit Quellcode gibt's mindestens drei - GExperts, CnPack, und die JCL enthält unter vielen anderen Sachen auch noch ein paar Experten.

Korrekt; allerdings sind diese als Einstieg für jemanden, der sich zum ersten Mal an das Thema heranwagt, sicherlich etwas zu umfangreich.
Daher sehr löblich, dass Du Dich nicht hast abschrecken lassen :)

Zitat:

Zitat von rob74
Und die Unterstützung der anderen Versionen scheitert daran, dass man die jeweilige Version haben muss, um eine in die IDE einbindbare BPL-Datei compilieren zu können.

Ich habe angenommen, dass es daran scheitert, dass Du Interfaces der XE eingebunden hast, also bspw. IOTAxxx150. Wenn Du aber nur Funktionalitäten niedriger Versionen (IOTAxxx140...) nutzt, hätte man das dann ja anpassen können.
Wenn die Verwendung natürlich an der IDE liegt, mit der das Kompilat erzeugt wird, was ich persönlich etwas seltsam finde, dann geht es halt nicht :cry:

Dennoch danke für Deine Mühen :)

rob74 12. Jun 2011 15:29

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
So, heute habe ich WatchMagic V1.1.0 released - die neue Version bietet neben ein paar Bugfixes auch zwei neue Features: das Springen von Deklaration zu Definition einer Methode und zurück mit Tastenkürzeln (Strg+Alt+PgUp/PgDn) und das Anzeigen der Hex-Werte von Integer-Variablen als Tooltips. Ich habe die Beschreibung am Anfang dieses Threads auch entsprechend angepasst.

Memnarch 29. Jun 2011 15:00

AW: WatchMagic - Debugging-Erweiterung für Delphi XE Starter (und nicht nur)
 
@Rob74: ich weiß jetzt gerade nicht (featurematrix noch nicht studiert) ob das generel in Starter nicht geht, aber was ist mit strg+linksklick um zur deklaration/implementation zu springen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz