AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte UnitOptimizer

UnitOptimizer

Ein Thema von stahli · begonnen am 25. Mai 2018 · letzter Beitrag vom 31. Okt 2021
Antwort Antwort
Seite 23 von 25   « Erste     13212223 2425   
Benutzerbild von stahli
stahli
Registriert seit: 26. Nov 2003
Ich bin dabei, ein Tool aufzubauen, das Units sortiert und Code ergänzt.

Es ist quasi eine Klassenvervollständigung, Codeformatierung und Codesortierung in einem.

Hier mal ein aktueller Zwischenstand als Video: https://youtu.be/cfKa3wuoEd0

Eine direkte Codeformatierung (Einrückung) habe ich noch nicht drin, will das aber auch noch ergänzen. Die anderen Features gehen für mich aber vor.

Die Abkürzung "prop" könnte man auch mit "property" ausschreiben lassen. Ebenso sind optional andere Voreinstellungen möglich, wenn dies gewünscht würde. Ich bin zunächst erst einmal von meinen Wünschen ausgegangen.

Ich würde das später sehr gern kommerziell anbieten, wenn es Nachfrage gibt.
Für öffentliche Tests ist es noch etwas früh. Dazu muss ich noch einiges ausbauen und ausbessern.
Sofern jemand Erfahrungen mit den OTA hat und daran mitarbeiten möchte, dann gebt Bescheid...



Ich hatte dazu schon einen Thread, der sich aber speziell auf die Interface-Unterstützung bezogen hatte. Da das Tool aber Units allgemein bearbeitet habe ich hier einen neuen Thread eröffnet.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
 
Benutzerbild von jaenicke
jaenicke

 
Delphi 11 Alexandria
 
#221
  Alt 8. Jan 2021, 18:53
Auch Probleme sind noch nicht ganz ausgeschlossen. (Nicht, dass ein gesamtes Projekt zerschossenen wird, aber dass mal eine Unit noch nicht ordentlich formatiert werden könnte.)
Wer kein Versionskontrollsystem wie Git verwendet ist selbst schuld.
Sebastian Jänicke
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#222
  Alt 8. Jan 2021, 19:00
Ja sicherlich. Aber ich möchte ja kein Ärgernis verursachen.
Das Tool soll ja helfen und keinen zusätzlichen Aufwand bringen.

Insofern muss es erst richtig ausgereift sein, ehe ich es auf die Allgemeinheit loslasse.

Derzeit muss man eben noch damit rechnen, dass sich doch mal noch hier und da Probleme ergeben können.
Wer das in Kauf nehmen will und grundsätzliche Idee mit unterstützen will, kann sich aber gern melden.

Geändert von stahli ( 8. Jan 2021 um 19:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#223
  Alt 13. Sep 2021, 12:33
Ich will mal wieder einen aktuellen Stand vorstellen: https://youtu.be/azP8w6g0i18

Zwar war ich schon mal etwa so weit, habe aber nochmal auf einen komplett anderen Ansatz umgestellt, da der vorherige mit auskommentiertem Code bei den ganzen Umsortierungen und Vervollständigungen nicht gut zurecht kam. Jetzt sollte ich da besser weiter kommen.

Die Suche läuft jetzt in einem Task, so dass man durch laufende Änderungen des Suchtextes live die alte laufende Suche abbrechen und eine neue Suche starten kann.

Ich setze den Optimizer jetzt selbst schon real bei der Arbeit ein und anstehende Erweiterungen lassen sich jetzt regelmäßig ganz gut realisieren. Ich hoffe, dass das auch so weiter geht.
  Mit Zitat antworten Zitat
bernhard_LA

 
Delphi 11 Alexandria
 
#224
  Alt 14. Sep 2021, 08:44
youtube zeigt mir das Video nicht in der Übersicht an - der direkte Link von oben geht , seltsam

könntest du im Unit optimizer noch eine einmheitliche Groß-Klein Schreibung vür alle Funktinen und Variablen einbauen ?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#225
  Alt 14. Sep 2021, 09:36
Das Video steht auf "nicht gelistet", ist also öffentlich aber man braucht den Link.
(ist mehr was für zwischendurch und unter uns)

Groß- und Kleinschreibung von Schlüsselwörtern kann ich problemlos regeln (auch erstes Zeichen groß, Rest klein).
Aber mal später, wenn es dann an diverse Optionen geht.

Für Variablen-, Typen- und Methodenbezeichnungen wäre das technisch bei den Deklarationen möglich, aber das sehe ich kritisch. Wenn irgendwo z.B. "FirstName" definiert wird, sollte so ein Tool das natürlich nicht von sich aus in der Groß- und Kleinschreibung ändern.
Um Änderungen dann auch im Code vorzunehmen, müsste dann ein echtes Refactoring angestoßen werden. Ich weiß nicht ob das geht und ob das Sinn macht.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

 
Delphi 10.2 Tokyo Professional
 
#226
  Alt 14. Sep 2021, 11:00
Für Variablen-, Typen- und Methodenbezeichnungen wäre das technisch bei den Deklarationen möglich, aber das sehe ich kritisch. Wenn irgendwo z.B. "FirstName" definiert wird, sollte so ein Tool das natürlich nicht von sich aus in der Groß- und Kleinschreibung ändern.
Definitiv nicht!

Was ginge, ist dass ein Tool sich die erste Schreibweise (=Deklaration) in einer Unit merkt und die dann überall verwendet. Allerdings sollte das abschaltbar sein, denn es kann auch gewaltig nerven, wenn es lokale Variablen mit einer anderen Schreibweise als z.B. Felder eines Records oder Properties einer Klasse gibt.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#227
  Alt 14. Sep 2021, 11:21
Um alle Verwendungen von Bezeichnern genau an die Groß- und Kleinschreibung wie bei der Deklaration anzupassen, bräuchte man definitiv ein richtiges Refactoring (das also die Bezüge nach der Kompilierung kennt).

Das habe ich bisher nicht. Ich nutze nur den reinen Klartext.

Aber ich würde gern später man auch Umbenennungen ermöglichen wie z.B:

Delphi-Quellcode:
IPerson = interface
  function _get_first_name
  procedure _set_first_name(aValue: String);
  property first_name: String read _get_firstname write _set_first_name; rn: FirstName:String[100]
end;

Durch das "rn: FirstName:String[100]" würde das Property direkt im Interface umbenannt (incl. Getter und Setter und Typ) und dann auch in allen Klassen, die das Interface benutzen (dort dann auch die privaten Felder). Das wäre dann auch in anderen Projekten realisierbar, die dieses Interface benutzen.
In den Deklarationen könnte ich das ziemlich Problemlos machen, aber um das auch im benutzenden Code durchgehend anzupassen, müsste ich das Refactoring vom Delphi aufrufen. Ich hoffe, dass das dann geht, habe mich aber damit noch nicht befasst.


PS: Statt dieser "Kürzel-Anweisungen" könnte ich ggf. auch ein Formular aufrufen, das die Deklarationsstruktur der betreffenden Unit (als Objekte oder Baum) anzeigt und dort Änderungen ermöglicht (einfügen, umbenennen, löschen).
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

 
Delphi 12 Athens
 
#228
  Alt 14. Sep 2021, 12:03
Was ginge, ist dass ein Tool sich die erste Schreibweise (=Deklaration) in einer Unit merkt und die dann überall verwendet.
So wie der integrierte Delphi Formatter?
Miniaturansicht angehängter Grafiken
14-09-_2021_12-01-31.jpg  
Uwe Raabe
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

 
Delphi 10.2 Tokyo Professional
 
#229
  Alt 14. Sep 2021, 14:28
Was ginge, ist dass ein Tool sich die erste Schreibweise (=Deklaration) in einer Unit merkt und die dann überall verwendet.
So wie der integrierte Delphi Formatter?
Oder der in GExperts, ja.

Was mich daran erinnert, dass ich mal schauen wollte, ob einige der Bugs im Delphi Formatter (ich meine ich hätte 3 gemeldet) endlich behoben wurden.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#230
  Alt 14. Sep 2021, 14:46
Die Optionen kannte ich so jetzt gar nicht.

Aber das würde nicht auf Klassenmember o.ä. angewendet - oder?
(Ich kann jetzt gar nicht konkret sagen, wann Delphi Schreibweisen korrigiert und wann nicht.)
... Panel1.font.name -> Panel1.Font.Name

Dazu müsste ja immer die Deklaration gesucht und die dortige Schreibweise abgeglichen werden.
Nach meinem Verständnis muss dazu das Projekt kompiliert sein und eine Verbindung zu den Codeteilen (Unit X, Zeile Y, Zeichen Xvon ... Xbis) vorliegen. Richtig?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 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