Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Editor wird nicht richtig gezeichnet (https://www.delphipraxis.net/199248-editor-wird-nicht-richtig-gezeichnet.html)

Uwe Raabe 11. Jan 2019 10:10

AW: Editor wird nicht richtig gezeichnet
 
Was die Zeilenenden betrifft, hiermit:
Delphi-Quellcode:
program CleanLineFeeds;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  System.IOUtils;

procedure HandleFile(const FileName: string);
var
  S: string;
begin
  S := TFile.ReadAllText(FileName);
  S := AdjustLineBreaks(S);
  TFile.WriteAllText(FileName, S);
end;

procedure Main;
var
  I: Integer;
begin
  for I := 1 to ParamCount do begin
    HandleFile(ParamStr(I));
  end;
end;

begin
  try
    Main;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

TERWI 21. Dez 2019 10:58

AW: Editor wird nicht richtig gezeichnet
 
Ich hol das mal hoch und häng mich mal an ....

Seit einigen Tagen nach ewigem Drama mit exitstierendem D2009 nun endlich die 10.3.2 drauf.

Mir fiel zeitig auf, dass das Code-Folding irgendwie an manchen Stellen und auch nicht in allen Units eben nicht so wirklich passt.
Dazu noch das wesentlich eklatantere Prob, dass nach dem kompilieren mit Fehler die Anzeige irgendwo ([viel] tiefer) steht, als der eigentliche Fehler selbst.

Hab mir nun mal die Quelltexte meines 1. Testprojektes mit NotePad++ angesehen und war entsetzt über die Vielzahl von nur LF oder nur CR oder auch LFCR statt CRLF.
Fällt ja auch sonst so nicht auf .... und D2009 hat nie darüber gemeckert.

Frage mich nur, woher das kommt ?
Ich kopiere zwar auch gelegentlich etwas von irgendwo in den Code - aber das sehe ich auch bei prozeduren die ich z.B. vor 2 Tagen erst selbst eigenhändig in 10.3.2 getippt habe !

NACHTRAG:
Der Code-Schnipsel von Uwe in #11 funktioniert 1A !

Harry Stahl 22. Dez 2019 12:18

AW: Editor wird nicht richtig gezeichnet
 
Liste der Anhänge anzeigen (Anzahl: 1)
Oh wie gut, dass ich diesen Beitrag gelesen habe.

Denn ich hatte bei einem Projekt auch schon einige unerklärliche Probleme beim Debuggen festgestellt, wie Breakpoints an falschen Stellen gesetzt, Geisterhaltepunkte, etc.

Außerdem wurden bei neuen Ereignis-Prozeduren (etwa gesetzt durch Doppelklick auf einen TButton), diese mitten in andere Prozeduren rein gesetzt, mit dem Hinweis, dass "Name der neuen Prozedur" nicht gefunden werden konnte.

Auch funktionierte die Codevervollständigung nicht mehr..
Also auch mit Notepad++ nachgesehen und die gleiche Problemlage gefunden.

Damit man nicht alle anderen Dateien in einem Projekt per Hand überprüfen muss, habe ich eine entsprechende Funktion in meinem Pascal-Projekt-Manager (aktualisierte Version 3.17 vom heutigen Tage) auf der Basis von Uwes Lösung eingebaut. Man kann erst prüfen oder direkt beheben lassen, siehe Screenshot in der Anlage.

Jetzt funktioniert wieder alles wie es soll!

Luckie 22. Dez 2019 12:36

AW: Editor wird nicht richtig gezeichnet
 
Im Wort "breaks" ist im Beschreibungstext ein Tippfehler! Ich würde auch das deutsche Wort nehmen. Klingt so etwas 'komisch.

Codehunter 22. Dez 2019 12:50

AW: Editor wird nicht richtig gezeichnet
 
Ich hatte noch nie derartige Probleme. Mein Bauchgefühl sagt mir, dass da nicht die IDE selbst dran schuld ist. Evtl. ein Plugin oder ein externes Tool wie Git. Man kann doch die IDE konfigurieren, welche Art Linebreak verwendet werden soll. Wenn jetzt in einem verteilten Projekt der eine Entwickler mit CRLF arbeitet, der andere mit LF, noch einer mit LFCR usw. dann könnte ich mir vorstellen, dass ein Versionssystem beim Zusammenführen die Linebreaks vermasselt. Wenn so ein Fall mal vorliegt wäre es interessant die betreffende Zeile genau zu finden und dann in den Versionslogs nachzuschauen ob die mal explizit von einem Merge betroffen waren.

Harry Stahl 22. Dez 2019 13:35

AW: Editor wird nicht richtig gezeichnet
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe das Projekt mal verglichen, als es noch ein Delphi 2007 Projekt war, da waren die Fehler schon drin. Kann sein, dass damals auch sich schon ähnliche Probleme ergeben hatten (hatte es über die Jahre (selten) mal wieder und war sehr frustriert, dass ich da nicht raus finden konnte, woran es lang).

Übrigens habe ich noch eine kleiner Änderung am PPME vorgenommen, denn Uwes Lösung hatte zur Folge, dass die korrigierte Datei immer als UTF-8-Datei geschrieben wird. Sollte normalerweise kein Problem auch für ältere IDE's sein, allerdings könnte das evtl. für andere Tools problematisch sein, die irgendwie in das Projekt eingebunden sind.

Prüfe also auf Encoding (zeige es auch in der Analyse an) und speichere die angepasste Version auch wieder als ANSI-Datei, wenn es denn Ansi war (siehe anlg. Screenshot).

Man kann die IDE meines Wissen übrigens nicht dahingehend konfigurieren, ob nur LF oder CR/LF verwendet werden soll, sondern nur, ob CR angezeigt werden sollen oder nicht.

TERWI 22. Dez 2019 14:51

AW: Editor wird nicht richtig gezeichnet
 
@Harry Stahl
:-D ... ich hatte mir auch so ein ähnliches Tool aus Uwe's Schnipseln gebastelt.

Ich beharre allerdings auf der Lösung der Frage:
Wieso ist da neuerdings Rio (oder auch andere davor ?!) so zimperlich mit fehlerhaftem CRLF ?
Hat doch 'früher nie gestört...'

Und noch mal die Frage:
Woher kommt das ?
Wenn man Code irgendwo her aus dem WWW, PDF oder sonstwoher kopiert, ist das sicherlich zu verstehen ...
... aber ich habe relativ schnell und offensichtlich Zeilen im NotePad++ gefunden, welche ich im neu installiertem Rio selbst getippt habe und welche da nur ein 'LF' am ende hatten oder auch ein 'CR' in der nächsten Zeile.

D.h. gehe ich davon aus, dass hier in der IDE irgendwo irgendwas 'verschlimbessert' wurde und das schnellstmöglichst geprüft / behoben werden sollte !

Würde es nur das Folding oder Block-Anzeige betreffen, wäre das ja nur eher kosmetische Nachhilfe.
... aber auch Harry Stahl hat ja festgestellt, dass diese "FalschMännchenHeintzchen" ja auch offensichtlich die Fehleranzeige/Debugguing gehörig durcheinanderbringen und den User zur Verzweiflung treiben (können).

dummzeuch 22. Dez 2019 15:04

AW: Editor wird nicht richtig gezeichnet
 
Der GExpert Code Formatter konvertiert übrigens ebenfalls automatisch LF in CR/LF. Vermutlich habe ich dieses Problem deshalb noch nie gesehen.

Uwe Raabe 22. Dez 2019 16:59

AW: Editor wird nicht richtig gezeichnet
 
Wo wir jetzt schon bei Plugins sind: Der Project Magician macht das optional beim Öffnen der Source-Datei.
Zitat:

Only as part of the global options you have access to the Clean Line Feeds feature. When opening dpr, dpk, pas or inc files any invalid line feed sequence (like single <CR> or <LF> alone) will be converted to a proper <CR><LF> sequence.
Ohne das jetzt selbst überprüft zu haben, soll das Abwählen der Option Zeilenenden erhalten in den Editor-Optionen denselben Effekt haben.

TERWI 22. Dez 2019 17:41

AW: Editor wird nicht richtig gezeichnet
 
... und wo genau im Dschungel der Optionen findet man eben diese ?
Tools oder Projekt ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr.
Seite 2 von 3     12 3      

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