Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Liste überwachte Ausdrücke/Haltepunkte (https://www.delphipraxis.net/196777-liste-ueberwachte-ausdruecke-haltepunkte.html)

Bernhard Geyer 19. Jun 2018 08:04

Liste überwachte Ausdrücke/Haltepunkte
 
Ich habe das Problem das bei einem Projekt immer die o.g. Listen immer wieder gefüllt nach neustart der IDE auftauchen,
auch wenn ich sie in der IDE lösche.

Wo stehen diese Infos?

Habe Delphi 10.2, hatte das Problem aber auch schon bei XE6

TiGü 19. Jun 2018 08:33

AW: Liste überwachte Ausdrücke/Haltepunkte
 
Lösche mal alle Dateien im Projektverzeichnis die folgende Endungen haben:
.dsk, .identcache, .local

http://docwiki.embarcadero.com/RADSt..._by_RAD_Studio
http://delphi.wikia.com/wiki/Delphi_File_Extensions

Uwe Raabe 19. Jun 2018 08:41

AW: Liste überwachte Ausdrücke/Haltepunkte
 
Die Listen stehen in der DSK-Datei der Projektgruppe bzw. des Projekts (wenn es einzeln geöffnet wurde). Relevant sind dort die Sections [Watches] und [BreakPoints].

Könnte es sein, daß diese DSK-Datei mit in der Versionskontrolle liegt? Das könnte das beobachtete Verhalten erklären.

himitsu 19. Jun 2018 09:36

AW: Liste überwachte Ausdrücke/Haltepunkte
 
Laden tut Delphi immer die DSK, aber speichern nur, wenn man das aktiviert hat.

Also einmal gespeichert und dann die Funktionalität deaktiviert und sowas kommt immer wieder zurück, bis man die Desktop-Datei löscht.

Entweder neben der Projektdatei, oder neben der Projektgruppendatei, wenn du eine Projektgruppe hast.

Bernhard Geyer 19. Jun 2018 09:40

AW: Liste überwachte Ausdrücke/Haltepunkte
 
Es war die dsk-Datei!
Aber nicht die dsk-Datei des Projektes, sondern der Projektgruppe.

Diese hatte ich gar nicht auf dem Schirm. Die dsk-Datei des Projektes hatte ich schon gelöscht.

Uwe Raabe 19. Jun 2018 09:55

AW: Liste überwachte Ausdrücke/Haltepunkte
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1405197)
Aber nicht die dsk-Datei des Projektes, sondern der Projektgruppe.

Es gab mal einen Feature-Request, daß der Formatter die Breakpoints erhält. Nun kann es aber für ein Projekt (s.o.) durchaus mehrere DSK-Dateien geben, in denen diese gespeichert sind. Das Projekt kann ja in mehreren Projektgruppen enthalten sein, die jede eine eigene Breakpoint-Liste führt. Damit war diese Feature erstmal gestorben.

Wenn mehrere Leute an diesem Projekt arbeiten und die Sourcen z.B. über eine Versionskontrolle synchronisiert werden, dann bringen Code-Änderungen auf der einen Seite die Breakpoints auf der anderen Seite ja auch aus dem Tritt - auch ohne Formatter. Solange es keine stabilere Lösung für die Persistenz gibt, sollte man Breakpoints besser als hochgradig temporär betrachten.

himitsu 19. Jun 2018 11:40

AW: Liste überwachte Ausdrücke/Haltepunkte
 
Nja, der Code-Formatter nimmt den Text, jagt ihn durch seine Funktion und ersetzt alles, also alle Zeilen löschen und neu einfügen, womit Haltepunkte verschwinden.

Bezüglich VersionsKontrolle, da müssten die MergeTools, sowie beim Runterladen zwei immer Dateien zusammen behandelt werden, was selten (praktisch nie) gemacht wird, um die Zeilenindize untereinander zu synhronisieren.
Wenn es nur Zwei wären, denn Projektdatei+Haltepunkte und die vielen Units.
Und nicht nur Projektgruppen. Du kannst eine Unit auch in mehreren Projekten haben. Demnach müssten die Haltepunkte neben der Unit gespeichert werden, um eine eindeutige/einzigartige Verbindung zu bekommen, aber das will man ja auch nicht immer haben.

Alternativ müsste man den Haltepunkt z.B. durch ein Steuerzeichen am Anfang jener Zeile in der PAS/DPR einbinden, aber bezüglich Haltepunkteigenschaften müsste man sich dann noch was einfallen lassen (ID hinter das Stuerzeichen?).
Wobei man doch eigentlich auch nicht will, dass die Haltepunkte in der Versionsverwaltung landen.
Heißt also, dass das Versionskontolle dieses Steuerzeichen nicht hochladen dürfte.

Uwe Raabe 19. Jun 2018 12:17

AW: Liste überwachte Ausdrücke/Haltepunkte
 
Zitat:

Zitat von himitsu (Beitrag 1405215)
Wobei man doch eigentlich auch nicht will, dass die Haltepunkte in der Versionsverwaltung landen.

Das ist eigentlich der springende Punkt: Man will die Haltepunkte lokal und projektspezifisch - womöglich noch separat für jede Build-Konfiguration, aber die Sourcen sollen bei einem Pull/Update oder Merge aktualisiert werden. Dazu kommt noch, daß Haltepunkte ja zeilenbezogen sind, im Source aber schon mal Zeilen gesplittet werden (nicht nur beim Formatieren). Worauf bezieht sich dann der Haltepunkt.

Ein möglicher Ansatz wäre, Haltepunkte ähnlich wie bei einem Merge zu behandeln, in dem man den umgebenden Codeblock zur Identifizierung verwendet. Aber auch das hat irgendwo seine Grenzen.

Man kann das auch noch weiter treiben: Sollen bei einem Name-Refactoring auch die Bedingungen der Haltepunkte einbezogen werden? Was ist, wenn ich Code mit Haltepunkten von einer Unit in eine andere verschiebe?

Aktuell überleben die Haltepunkte einen Neustart der IDE. Viel mehr können wir wohl kaum erwarten.

himitsu 19. Jun 2018 12:26

AW: Liste überwachte Ausdrücke/Haltepunkte
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1405222)
Aktuell überleben die Haltepunkte einen Neustart der IDE. Viel mehr können wir wohl kaum erwarten.

Nicht immer.
* "Alles speichern" speichert den Desktop/Haltepunkte nicht ... stürtz die IDE z.B. beim Kompilieren ab, sind sie weg
* manchmal wird die komplette DSK-Datei und sonstige IDE.Einstellungen gelöscht, wenn es beim Beenden der IDE knallt (nach Neustart freifliegende Fenster)
* und nach Installation des neuen Delphi hatte ich das letzte Mal glatt vergessen das Desktopspeichern zu aktivieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 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