![]() |
AW: UnitOptimizer
Liste der Anhänge anzeigen (Anzahl: 2)
Sorry, da waren doch noch ein paar Fehler drin.
Ich hatte die Ergebnisse nur optisch geprüft und nicht beachtet, dass ich zuvor mit einem falschen Stand weiter gearbeitet hatte. :oops: Also anbei eine aktualisierte Exe. Ich habe jetzt auch schon zumindest 2 echte Units innerhalb Delphi formatieren lassen (Ctrl-Shift-O anstatt Ctrl-D), was wunderbar funktioniert hat. Compilieren kann ich die Units wie zuvor und das Styling ist weitestgehend wie erhofft, aber im Detail muss ich mir das nochmal ansehen (bin allerdings ziemlich platt nach Durcharbeiten am Wochenende ;-) ). Ich stelle Euch auch gern mal ein Package zur Einbindung als Delphi-Experten zur Verfügung, bin aber nicht sicher, was man dazu (ohne Quelltext) weiter geben muss. Anbei mal eine Zip. Ich bin aber nicht sicher, ob die reicht (kompiliert für D 10.3.2. CE). Natürlich solltet Ihr das Tool noch vorsichtig einsetzen. Die Änderungen lassen sich mit Ctrl-Z rückgängig machen, aber es ist natürlich auch möglich, dass das Tool mal abstürzt oder sich aufhängt. Ist halt noch eine frühe Phase! Ich werde es jetzt jedenfalls selbst regelmäßig benutzen und ständig verbessern... Wenn jemand Interesse oder Tipps hat, dann gebt bescheid... |
AW: UnitOptimizer
Liste der Anhänge anzeigen (Anzahl: 3)
noch ein neuer Stand...
Es ist jetzt soweit, dass es schon ganz gut real einsetzbar ist. Der ganze Komplex der Codevervollständigung fehlt noch. Was jetzt enthalten ist, wird etwa die kostenfreie Codeformatierung sein (+/- einige Features). Hat jemand das Tool mal als Experten eingebunden und getestet? Jetzt werden Bookmarks und Breakpoints erhalten und ggf. mit dem Quelltext zusammen verschoben (auch später, wenn mal ganze Codeteile verschoben werden). Das Zusammenklappen der erzeugten Getter&Setter-Regionen funktioniert noch unzuverlässig. Das System habe ich noch nicht richtig verstanden. Hat da jemand Erfahrung und kann helfen? Bin gespannt... |
AW: UnitOptimizer
Hmm...
Also die Widerherstellung der Bookmarks und Breakpoints nach der Codeformatierung habe ich im Griff. Auch das Zuklappen der "Getter+Setter"-Regionen funktioniert. Allerdings sind die ToolsAPI aus meiner Sicht nicht sehr eingängig. Eigentlich würde ich aber nach dem Formatieren schon gern die Regionen wieder so auf- und zugeklappt herstellen, wie sie vor der Formatierung waren. Die besten Infos zum Thema habe ich hier gefunden: ![]() Allerdings übersteigt das meine Fähigkeiten und ist mir zu heikel, so etwas zu realisieren. Weiß jemand evtl, wie die IDE die Informationen über auf- und zugeklappte Regionen speichert und diese wieder herstellt? Wenn es keine machbare Lösung gibt, kann ich auch mit meiner bisherigen Lösung leben. Eine komplette Wiederherstellung des vorherigen Standes wäre mir aber schon noch lieber. |
AW: UnitOptimizer
Ich habe in GExperts (insbesondere im Code-Formatter) mit Code-Folding / Unfolding herumexperimentiert, es aber irgend wann aufgegeben. Es ist den Aufwand einfach nicht wert (zumindest für mich persönlich).
Das Verschieben der Bookmarks und Breakpoints ist auch ziemlich aufwändig. Ich habe es einigermaßen hinbekommen, aber perfekt ist es definitiv nicht. Wenn das bei Dir besser klappt: Hut ab! Die Einstellungen zum Code Folding werden anscheinend in der .dsk-Datei des Projekts gespeichert, und zwar im Eintrag "Elisions" des jeweiligen Views:
Code:
Ob Dir das allerdings hilft, ist fraglich, denn die Datei wird anscheinend erst beim Schließen des Projekts aktualisiert.
[View0]
CustomEditViewType=TEditView Module=D:\source\test\Unit1.pas CursorX=1 CursorY=9 TopLine=1 LeftCol=1 Elisions={{10,23},{15,6},{''}} Bookmarks= EditViewName=D:\source\test\Unit1.pas |
AW: UnitOptimizer
Danke.
Ich könnte mir vorstellen, das Speichern und Laden der Regionen-Zustände nachzubauen und um den Aufbereitungsprozess zu setzen. Aber es gibt da offenbar so viele unterschiedliche Module und Daten, die da zusammenspielen, dass das ziemlich unsicher wäre, alles stabil zu händeln. Wenn es eine übersichtliche Zusammenfassung gäbe oder die Quelltexte einsehbar wären, würde ich das mal versuchen. So ist das aber wohl zu unübersichtlich. Haben andere offenbar auch schon so eingeschätzt. Worauf basiert die Delphi-IDE eigentlich? Anscheinend gibt es da eine gemeinsame Basis zu Visual Studio und anderen Editoren. Jedenfalls landet man mit Suchbegriffen aus den ToolsAPI auch öfter bei MS und in anderen Bereichen. |
AW: UnitOptimizer
Zum Thema
![]() Das kann man genauso implementieren wie die Positionen der Breakpoints:
Das ist in GExperts so implementiert. Es funktioniert nicht perfekt, aber für mich gut genug. |
AW: UnitOptimizer
Ja, ok, so wäre das machbar.
ABER: 1.) wäre trotzdem die gesamte Unit "bearbeitet" also wäre die gelbe Markierung links komplett über die gesamte Unit 2.) erkenne ich keinen Vorteil einer solchen teilweisen Formatierung. Schneller wäre es nicht und u.U. passt der Bereich dann nicht zum Umfeld, welches nicht "korrekt" formatiert wurde. Wichtiger fände ich es statt dessen, genügend Optionen zur Verfügung zu stellen, so dass die Formatierung einer gesamten Unit akzeptiert und nicht als nachteilig empfunden wird. NACHTRAG: Bezüglich fehlenden Ends usw. könnte ich mir vorstellen, an der Stelle einen Fehlerhinweis einzublenden und die Formatierung komplett zu verwerfen. Das habe ich aber noch nicht versucht umzusetzen... Was mich aber in der aktuellen Arbeit stört, sind die Standardvorgaben von Delphi. Z.B. werden neue Zeilen und Anweisungen nach "Delphi-Regeln" erzeugt, die sich nicht zu "meinen Formatierungen" passen. Das sieht daher bei neuen Zeilen z.T. ziemlich wüst aus, bis ich dann Ctrl-Shift-O bzw. jetzt auch Ctrl-D drücke. Cool wäre eine smarte Formatierung im Hintergrund, die den geschriebenen Text fließend optimiert, aber das wird mit Delphi nichts werden, denke ich. |
AW: UnitOptimizer
Zitat:
Zitat:
Vorteil ist, dass man an einer Unit nur genau den Bereich ändert, den man bearbeitet hat. Ein Vergleich mit vorherigen Versionen der Unit (im SCM) zeigt also auch nur dort Änderungen. Zitat:
Zitat:
|
AW: UnitOptimizer
Ja, ok, ist auch nachvollziehbar (das mit der Teilformatierung, nicht mit der Smart-Formatierung ;-) ).
Mal sehen, ich schaue mir das später mal mit an... |
AW: UnitOptimizer
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal eine neue Testversion.
Die RichEdits mit dem alten und neuen Quelltext werden jetzt immer synchronisiert und auf Wunsch die Zeilen nummeriert: ![]() Als nächstes werde ich jetzt die Umsortierung des Implementationsteils angehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz