Moin,
bei umbenennen von Variablen via F2 werden diese sogar in auskommentierten Bereichen umbenannt. => Finde ich gut.
Aber wenn ich deaktivierte Bereiche mit {$IFDEF ...} habe, beiben diese alten Bezeichner stehen. gibt es dafür irgendeinen grund oder ist das ein Bug?
Gerade im aktuellen Fall blöd:
ich wollte eine neue Variable zeile (int) einfügen; spalte (int) gabs schon. Aber es gab eine Variable zeile als String... Diese umbenannt als zeilenText, wie es eigentlich auch sein sollte; aber in dem Bereich mit Kompilerdirektive {$ifdef wird nix umbenannt.
Das fällt einem latürnich später auf die Füße, wenn man die Kompilerdirektive (de)aktiviert.
lg
Jochen
Refactoring - Bezeichner umbenennen (F2)
-
- Lazarusforum e. V.
- Beiträge: 321
- Registriert: Sa 26. Mai 2012, 17:31
- OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
- CPU-Target: 64Bit
Refactoring - Bezeichner umbenennen (F2)
Zuletzt geändert von Joh am Mo 4. Aug 2025, 09:26, insgesamt 2-mal geändert.
just my two Beer
-
- Beiträge: 9
- Registriert: So 23. Feb 2025, 16:17
- OS, Lazarus, FPC: Winux (L 4.2 FPC 3.2.2)
- CPU-Target: 64Bit
- Kontaktdaten:
Re: Refactoring - Zeile umbenennen (F2)
Kann ich bestätigen - deaktivierte Code-Bereiche zwischen IFDEF's werden beim Umbenennen mit F2 nicht abgearbeitet.
Vorkommen in {} Kommentaren werden dabei übrigens umbenannt, obwohl das für mich noch weniger Sinn ergibt.
Vorkommen in {} Kommentaren werden dabei übrigens umbenannt, obwohl das für mich noch weniger Sinn ergibt.
- af0815
- Lazarusforum e. V.
- Beiträge: 6918
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Refactoring - Zeile umbenennen (F2)
Ist sinnvoll, weil auch Objektnamen zwischen den Kommentarklammern vorkommen.anse hat geschrieben: So 3. Aug 2025, 10:26 Vorkommen in {} Kommentaren werden dabei übrigens umbenannt, obwohl das für mich noch weniger Sinn ergibt.
Das bei IFDEFs nicht geht - ist per Design - dazu gabs schon öfter Diskussionen. Vor allen dann ein Problem wenn da was umbenannt wird, wenn man größere Refactorings macht oder für verschiedene Plattformen IFDEFs hat.
Nur so nebenbei, es ist nicht Zeile umbenennen. Es heist genaugenommen "Find or rename Identifier". Daher finden oder umbennen von Bezeichnern.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 976
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: Refactoring - Zeile umbenennen (F2)
Das ist absichtlich so, da ein deaktiviertes $IFDEF Code enthalten könnte, den die CodeTools nicht verstehen (zum Beispiel nicht unterstützte Sprachfeatures aus Delphi) und dies dann letztlich zu einem Absturz führen könnte.Joh hat geschrieben: Sa 2. Aug 2025, 20:21 Aber wenn ich deaktivierte Bereiche mit {$IFDEF ...} habe, beiben diese alten Bezeichner stehen. gibt es dafür irgendeinen grund oder ist das ein Bug?
FPC Compiler Entwickler
-
- Lazarusforum e. V.
- Beiträge: 321
- Registriert: Sa 26. Mai 2012, 17:31
- OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
- CPU-Target: 64Bit
Re: Refactoring - Bezeichner umbenennen (F2)
uups... Da lag mir im Kopf, das ich die Variable zeile umbenennen wollte...af0815 hat geschrieben: So 3. Aug 2025, 11:17 Nur so nebenbei, es ist nicht Zeile umbenennen. Es heist genaugenommen "Find or rename Identifier". Daher finden oder umbennen von Bezeichnern.
Ich hab das Thema mal umbenannt!
just my two Beer
-
- Lazarusforum e. V.
- Beiträge: 321
- Registriert: Sa 26. Mai 2012, 17:31
- OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
- CPU-Target: 64Bit
Re: Refactoring - Bezeichner umbenennen (F2)
ok... wenn da Sinn dahintersteckt. Ich nutze die $IFDEFs allerdings zur Entwicklungszeit auch, um aktuell irrelevanten Code nicht auszuführen: das fällt mir dann besser auf, als ein im Code versteckten if false.PascalDragon hat geschrieben: So 3. Aug 2025, 13:59 Das ist absichtlich so, da ein deaktiviertes $IFDEF Code enthalten könnte, den die CodeTools nicht verstehen (zum Beispiel nicht unterstützte Sprachfeatures aus Delphi) und dies dann letztlich zu einem Absturz führen könnte.
Andererseits wäre eine 2. Option zu
- auch in Kommentaren suchen
, wie
- auch in {IFDEF}-Bereichen suchen
eventuell angebracht.
just my two Beer