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 21 von 25   « Erste     11192021 2223     Letzte » 
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 dummzeuch
dummzeuch

 
Delphi 2007 Professional
 
#201
  Alt 23. Nov 2020, 12:30
Ich benutze derzeit 2x 4K (1x 32" mit 125% und 1x 28" mit 150% Skalierung) via Remote Desktop von einem Windows 10 System auf ein Windows 8.1 System. An letzterem hängen lokal 2x 1920x1200, aber das ist wohl irrelevant. Was nicht irrelevant ist, ist dass Windows 8.1 keine getrennten DPI per Monitor kennt und deshalb beide Monitore als 150% skaliert werden. Das hat "interessante" Effekte, sowhl auf die Delphi IDE als auch auf die Programme.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 10.4 Sydney
 
#202
  Alt 23. Nov 2020, 23:04
Ich habe mal etwas mit den Docking-Varianten herumgespielt, bin aber noch nicht richtig zufrieden.

Hat jemand vielleicht Zeit und Lust, da mal mit eine Lösung zu suchen?
Ich habe mal ein Video erstellt, in dem ich auf die Probleme eingehe: https://youtu.be/jVR6I76dA-A (8 Min)

Für den ungedockten Modus muss ich dann mal noch die Positionen auf anderen Monitoren klären und den Docking-Status am Monitorrand.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 10.4 Sydney
 
#203
  Alt 24. Nov 2020, 05:39
Dass das nicht angepinnte Fenster automatisch einklappt, ist kein Problem, sondern korrekt so. Wenn man es offen lassen möchte, muss man es anpinnen oder herausdocken. Das ist die bestehende Logik der IDE. Wichtig ist nur, dass der Status beibehalten wird, wenn man es erneut ausklappt ohne per Hotkey eine neue Suche zu starten.

Für Full-HD Bildschirme nimmt das permanente angepinnte Eindocken sicherlich viel Platz weg, aber erstens haben viele Entwickler Bildschirme mit höherer Auflösung und zweitens kann man es ja als Tab eindocken wie du auch gezeigt hast. Dann könnte der Hotkey schlicht zu dem Tab springen und das Fenster bliebe offen, wenn man das so möchte.

Das Andocken in voller Höhe wird nicht so gehen wie du dir das vorstellst, da es (meines Wissens) keine geschachtelten Tabs gibt. Ich habe das eben durch Manipulation der .dst Datei versucht, aber auch das klappte zunächst nicht. Ich vermute, dass es gar nicht geht. Diese Limitierung hat mich auch schon einmal gestört. Dafür hat Visual Studio beim Docken ja visuelle Dockmarkierungen, mit denen man besser als beim Delphi-Docking das Ziel bestimmen kann. Für Delphi gibt es dafür auch Komponenten (die allerdings nicht so besonders toll waren bei unseren letzten Experimenten damit), aber die IDE selbst kann das leider nicht.

Hier könnte ein Feature Request (falls er noch nicht existiert) durchaus Chancen haben, weil ich mir vorstellen kann, dass viele für ein solches geschachteltes Docking voten würden.

Ich selbst verwende MMX, das ohnehin mehr Platz braucht. Das habe ich links in fast voller Höhe eingedockt. Hier könnte ein Tab MMX, einer der Objektinspektor und einer deine Suche sein. Die Strukturansicht von Delphi kann man ausblenden (MMX reicht eigentlich) oder auch als Tab verwenden.

Das die Schnellsuche nach dem Eindocken die Größe verändert, muss ja im Code passieren, oder? Das sollte gedockt schlicht gar nicht passieren, denn die Größenanpassung übernimmt dabei soweit ich mich erinnere die IDE. Eigene Automatiken für den ungedockten Zustand sollte man dabei deaktivieren.
Sebastian Jänicke

Geändert von jaenicke (24. Nov 2020 um 05:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 10.4 Sydney
 
#204
  Alt 24. Nov 2020, 09:55
Danke Sebastian.

Die zwei "fehlenden" Optionen
- unpin-Formular offen lassen
- Tab mit optional übereinanderliegenden Inhalten
hätten halt schon perfekt gepasst für meine Bedürfnisse.
Man könnte das zwar mal vorschlagen aber kurzfristig wäre das sicherlich nicht umsetzbar und auch nur für neuere Delphis.

Bei der Schnellsuche habe ich keine Höhenanpassung vorgenommen.
Ich schätze, dass die IDE das "PageControl" in der Höhe entsprechend der originalen Höhe des ersten (links) eingedockten Formular ausrichtet (oder nach dem zuletzt hinzugefügten). Genauer habe ich das nicht untersucht.


Ich taste mich dann mal weiter vorwärts...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 10.4 Sydney
 
#205
  Alt 24. Nov 2020, 11:44
Man könnte das zwar mal vorschlagen aber kurzfristig wäre das sicherlich nicht umsetzbar und auch nur für neuere Delphis.
Das ist richtig, aber da aktuell das Aussehen der IDE ohnehin stark überarbeitet wurde und wird, ist die Chance aktuell höher als sonst.
Sebastian Jänicke
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 10.4 Sydney
 
#206
  Alt 24. Nov 2020, 11:46
Ich kann es mal versuchen. Aber das ist deutsch schon schwer zu erklären - englisch noch schwieriger (für mich).
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 10.4 Sydney
 
#207
  Alt 26. Nov 2020, 00:02
Einen Teil habe ich geschafft.
Ungedockte Formulare kann man jetzt auf beliebigen Monitoren platzieren (und auch an Monitorränder anheften).
Eindocken geht natürlich auch noch.

Standardmäßig werden dockbare Formulare offenbar ungedockt nur auf dem Monitor geöffnet, auf dem die IDE geöffnet ist.
An verschiedenen Stellen speichere ich daher die Suchformular-Positionen in eine Ini bzw. stelle sie wieder daraus her.
Es ist etwas Frickelei, scheint aber stabil zu funktionieren.
Miniaturansicht angehängter Grafiken
25-11-_2020_23-44-39.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 10.4 Sydney
 
#208
  Alt 27. Nov 2020, 20:58
Hier könnte ein Feature Request (falls er noch nicht existiert) durchaus Chancen haben, weil ich mir vorstellen kann, dass viele für ein solches geschachteltes Docking voten würden.
Ich habe mal einen Eintrag erstellt: https://quality.embarcadero.com/browse/RSP-31762
(Ob das verständlich ist, kann ich nicht garantieren.)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 10.4 Sydney
 
#209
  Alt 25. Dez 2020, 16:36
So, es ist vollbracht!

Ok, zumindest so weit, dass es 3-4 Leute schon mal als Beta anschauen könnten.
Meldet Euch, wenn Ihr Interesse habt.

Voraussetzungen sind derzeit:
- immer aktuellste Delphi-Version
- akzeptieren des hellen Designs bei den Suchformularen
- akzeptieren von Codeveränderungen (möglichst kein Einsatz oder Akzeptanz trotz Versionierungssystem).

Ihr solltet aber unbedingt das Tool regelmäßig nutzen und ernsthaft an einem Einsatz des Tools interessiert (nicht nur mal neugierig) sein.
Es gibt sicherlich einige Dinge, die noch optimiert werden müssen aber es sollte jetzt so stabil sein, dass man damit schon ganz gut und sicher arbeiten kann.


Hier ein paar Videos:
installer ........ https://youtu.be/UUP-a3a4F5Q (3:14 min)
updates .......... https://youtu.be/F3Bx2NxQzoI (2:17 min)
setup ............ https://youtu.be/IXswa8cL7eY (13:11 min)
Beta-01 .......... https://youtu.be/z_Pwrmnvalk (55:29 min)

Geändert von stahli (25. Dez 2020 um 21:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 10.4 Sydney
 
#210
  Alt 7. Jan 2021, 12:33
Hallo zusammen,

da bisher keinerlei Reaktion auf meine Mitteilung und Videos (15 Views auf die Zusammenfassung gab es) erfolgt ist, will ich hier mal pushen.
Vielleicht ist es ja auch etwas untergegangen auf Grund der Feiertage...

Gebt mir doch mal gern eine Rückmeldung, auch wenn sie skeptisch oder negativ ausfällt.
Haltet Ihr das Tool für unnötig oder habt Ihr das Anliegen nicht nachvollziehen können?
Seid Ihr zu skeptisch, was die Qualität und Stabilität betrifft?
Habt Ihr nicht die passenden Voraussetzungen für einen Beta-Test (falsches Delphi oder mögliche Probleme wegen einem Versionierungssystem)?

Ich arbeite jetzt mit Unterbrechungen 3 Jahre daran und hatte auf ein allgemeines Interesse gesetzt.
Zwar habe ich das natürlich für den eigenen Bedarf angefangen, der Umfang hat sich aber immer weiter ausgedehnt, da ich ein grundsätzliches Interesse an einem solchen Tool vorausgesetzt habe.

Gebt mir doch mal bitte eine Rückinfo. Das wäre lieb.




Und noch eine inhaltliche Frage.
Im Moment macht mir der Umgang mit den bedingten Compilierungen noch Probleme.
Zunächst einmal interpretiert der Formatierer derzeit die mehrfachen "end;" noch als Fehler und geht davon aus, dass die Unit nicht korrekt abgeschlossen ist.
Dazu muss ich ihm noch beibringen, dass er die IFDEF-ELSE-ENDIF-Blöcke jeweils getrennt voneinander bewerten bzw. hier nicht eindeutig abgeschlossene Blöcke tolerieren muss. Wird schwierig werden.
Dann bin ich mir bezüglich der Einrückungen auch nicht sicher, was die beste Form wäre. Anbei mal einige Beispiele als Bild.
Ich würde die Variante 4 bevorzugen. Wie seht Ihr das?


Anbei mal noch der Quelltext, falls den mal jemand zurecht schieben möchte...
Delphi-Quellcode:
unit ifelseendif;

interface

implementation

uses
  System.SysUtils;

procedure hallo;
begin
  if true then
    begin
    {$IFDEF level1}
      Sleep(0);
    {$ELSE}
      if true then
        begin
        {$IFDEF level2}
          Sleep(1);
        end; //: ????????????????????????
        {$ELSE}
          Sleep(2);
        end; //: ????????????????????????
        {$ENDIF}
    {$ENDIF}
    end;
  Sleep(3);
end;

end.
Miniaturansicht angehängter Grafiken
07-01-_2021_10-34-43.jpg  
  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 03:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf