Euer Lazarus Desktop

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Euer Lazarus Desktop

Beitrag von Warf »

Hey ho Leute,

da ich immer nach neuen Anregungen suche meine Lazarusumgebung besser und übersichtlicher zu gestalten dachte ich mir, warum präsentieren wir nicht mal unsere aktuellen Lazarus konfigurationen. Eventuell kann ich mir hilfreiche Ideen abschauen.

Meine aktuelle ist ein einziges Fenster mittels Anchordocking und Sparta Formeditor.

IDE Bild

Syntax Highlight Bild

Wie man eventuell gut sehen kann arbeite ich viel mit Großen Objekten (wie hoher Schriftgröße) und grellen Farben, da ich somit am besten den Überblick behalten kann (bin nun mal recht blind). Außerdem habe ich alle Wichtigen Debuggerfenster als Separate Tabs Integriert, sodass ich keinen speziellen Debug Desktop brauche (Anchordocking + Desktops verträgt sich nicht)

Falls sich jemand was abschauen möchte habe ich meine Syntax Farben und Desktop Konfiguration mal hier verlinkt: Link

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Euer Lazarus Desktop

Beitrag von Michl »

Warf hat geschrieben:Meine aktuelle ist ein einziges Fenster mittels Anchordocking und Sparta Formeditor.
Nutze ich jetzt auch eine Weile und solange man keine Fenster im Maximized Modus entfernt und wieder hinzufügt und keine Desktops nutzt, läuft Lazarus Trunk stabil bei mir (Windows 7).

Da ich öfters unterwegs bin und dann nur einen Klapprechner dabei habe, habe ich mir dort einen Desktop eingerichtet, der mit dem kleinen Screen auskommt (nutze ich aber auf anderen Rechnern/Betriebssytemen ähnlich). Alle Fenster, die ich öfters nutze und eher vertikalen Inhalt haben (Objekt Inspektor, Suchfenster, Aufrufstack etc.), habe ich links als Pages neben den Objektinspektor platziert, Messages, Breakpoints etc. unterhalb des Quelltexteditors. Die Farben habe ich nicht verändert. Sieht dann so aus:

Desktop Michl
Dateianhänge
MichlDesktop.png

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Euer Lazarus Desktop

Beitrag von Timm Thaler »

Was mir bei den "modernen" IDE durchweg fehlt - früher war das z.B. im AVR-Studio 4 möglich - ist das Nebeneinanderplatzieren von Fenstern eines Projektes. Z.B wenn ich in einer Unit / Include Konstanten festlege, die ich woanders nutze, nervt das Hin- und Herschalten zwischen den Reitern.

Das QnD Workaround ist dann, den Notepad++ daneben zu stellen und die Konstantendeklaration da reinzukopieren.

Oder einen Programmteil aus einem anderen Programm zu übernehmen, da kann man auch nicht mehr die beiden Dateien nebeneinanderstellen. Gut, man kann das als zweites Projekt öffnen, dann muss man aber tierisch aufpassen, zu welchem Projekt welcher Kompilieren-Knopf und welcher Formeditor gehört.

Seeehr unübersichtlich.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Euer Lazarus Desktop

Beitrag von wp_xyz »

Mit ein Grund, warum ich diese Docking-IDE, auf die alle so verrückt sind, nicht mag. Wenn ich jetzt eine bereits geladene Unit in einem zweiten Fenster zum Vergleichen brauche, klicke ich auf den Tab der geladenen Unit und wähle "Clone to New Window" aus dem Kontext-Menü. Oder wenn ich eine Unit aus einem anderen Projekt zum Spicken brauche, lade ich sie normal und wähle aus dem Kontext-Menü des Tab den Eintrag "Move to new window". Das zweite Editorfenster kann ich überall hinschieben, wo es mich nicht stört.

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Euer Lazarus Desktop

Beitrag von Mathias »

Mit ein Grund, warum ich diese Docking-IDE, auf die alle so verrückt sind, nicht mag.

Ich bin auch kein Fan von Docking, aber momentan musste ich sie aktivieren, weil bei normalen IDE bei mir sonst die Codetools verrückt spielen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Euer Lazarus Desktop

Beitrag von Warf »

wp_xyz hat geschrieben:Mit ein Grund, warum ich diese Docking-IDE, auf die alle so verrückt sind, nicht mag. Wenn ich jetzt eine bereits geladene Unit in einem zweiten Fenster zum Vergleichen brauche, klicke ich auf den Tab der geladenen Unit und wähle "Clone to New Window" aus dem Kontext-Menü. Oder wenn ich eine Unit aus einem anderen Projekt zum Spicken brauche, lade ich sie normal und wähle aus dem Kontext-Menü des Tab den Eintrag "Move to new window". Das zweite Editorfenster kann ich überall hinschieben, wo es mich nicht stört.


Tab in neues Fenster Verschieben -> Fenster dort andocken wo man es gerne hätte (ich mach es immer rechts neben dem Hauptquelltexteditor) und Tada, ich habe 2 Quelltexteditoren so dass sie sich nicht gegenseitig im weg sind.

Manchmal habe ich sogar bis zu 4 Fenstern so offen. Also das Problem kann ich überhaupt nicht nachvollziehen. Docking macht das ganze sogar noch einfacher, bei sehr vielen einzelnen Fenstern verliere ich einige Fenster oft, während ich bei Anchordocking durch die Tabs immer mit maximal 2 Klicks zu jedem fenster komme und immer weiß wo welches Fenster liegt.

Rein von der Fläche her gewinnt man durch Anchordocking den gesammten Platz den man sonst durch Fensterrahmen verlieren würde (das sind Pro Fenster Höhe*16 + Breite *32 Pixel, bei vielen Fenstern kommt da einiges zusammen), und kann (Da alle Fenster rechteckig sind) rein geometrisch betrachtet seinen Platz zu bis auf die 32 Pixel * Fensterbreite Rahmengröße des Hauptfensters komplett ausnutzen was bei einzelnen Fenstern defakto nicht der Fall ist.
Zuletzt geändert von Warf am Mo 6. Feb 2017, 18:37, insgesamt 2-mal geändert.

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Euer Lazarus Desktop

Beitrag von Thandor »

Ich nutze zur Zeit auch die Docking-IDE mit den Spartan-Formeditor.
Dateianhänge
Lazarus_Docked.png

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Euer Lazarus Desktop

Beitrag von Timm Thaler »

Das will ich auch haben. ;-)

Allerdings habe ich - nachdem ich vergeblich nach dem Häkchen im Einstellungen-Dialog für "Docking" gesucht habe - irgendwas von "da musst Du die IDE neu kompilieren" gelesen. Iiiih!

Anchordocking kompilieren geht. Anchordocking installieren fragt mich nach Neukompilieren der IDE. Rödelt ein bißchen und meckert dann rum:

Code: Alles auswählen

IDE erstellen: Exit code 2, Fehler: 4
Panic: make: Entering directory `C:/Programme/Lazarus'
Panic: make: Leaving directory `C:/Programme/Lazarus'
Panic: make: *** No rule to make target `idepkg'.  Stop.
Panic: tool stopped with exit code 2. Use context menu to get more information.
 


Da hab ich mich dann erstmal wieder meinem Tagesgeschäft zugewandt.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Euer Lazarus Desktop

Beitrag von Michl »

Timm Thaler hat geschrieben:Allerdings habe ich - nachdem ich vergeblich nach dem Häkchen im Einstellungen-Dialog für "Docking" gesucht habe - irgendwas von "da musst Du die IDE neu kompilieren" gelesen. Iiiih!
Was heißt hier Iiiih?

Ohne neukompilieren der IDE wirst du keine Packages nutzen können (zumindest für die WYSIWYG RAD Lazarus IDE), egal ob nun fürs Docking, das mir Stunden sparende Cody oder sonstige. Das ist so, als würde man auf der Autobahn im ersten Gang fahren, weil man sich nicht getraut zu schalten.

PS: Lazarus kann man unter Werkzeuge -> Kompiliere Lazarus mit Profil ... neukompilieren. Wenn das nicht geht, hast du eine verkorkste Installation.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Euer Lazarus Desktop

Beitrag von Timm Thaler »

Michl hat geschrieben:...Wenn das nicht geht, hast du eine verkorkste Installation.


Mag sein, aber das ist bei Lazarus ja die Standardeinstellung.

Installieren will Lazarus unter "C:\Lazarus", das geht seit WinXP eigentlich nicht mehr. Gebe ich den "richtigen" Ordner "C:\Programme (x86)" an, meckert der Installer wegen eines Leerzeichens im Pfad. Workaround ist, in den x64 Ordner "C:\Programme" zu installieren. Das geht aber auch nur, weil er nicht mitbekommt, dass der Ordner eigentlich "C:\Program Files" heisst. Da kann es schon sein, dass er beim Neukompilieren irgendwelche Pfade verbosselt.

Genauso unter Linux, da gehört sowas ja eigentlich unter "/usr", stattdessen hab ich jetzt fpc und Lazarus in diversen Verzeichnissen unter "home/pi" rumgammeln. Gehört auch anders.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Euer Lazarus Desktop

Beitrag von wp_xyz »

Timm Thaler hat geschrieben:Installieren will Lazarus unter "C:\Lazarus", das geht seit WinXP eigentlich nicht mehr.

Woher ist das denn? Das mag bei XP so gewesen sein, aber gilt heute nicht mehr. Eben habe ich mir auf der VM mit Win7 einen Standardbenutzer angelegt und einen Ordner C:\test angelegt, da kam nicht mal die Benutzerkontensteuerung.

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Euer Lazarus Desktop

Beitrag von Timm Thaler »

wp_xyz hat geschrieben:Eben habe ich mir auf der VM mit Win7 einen Standardbenutzer angelegt und einen Ordner C:\test angelegt, da kam nicht mal die Benutzerkontensteuerung.


Genau DAS ist das Problem. Du kannst da den Ordner anlegen, und auch ein Programm dahin installieren, und das auch ausführen. Aber wahlweise schaffst Du Dir damit entweder eine Sicherheitslücke, weil auch andere Programme von dort ausgeführt werden können, die dann netterweise Deine Dateien sicher verwahren, oder weil Windows das dann in virtuellen Verzeichnissen abarbeitet, was früher oder später zu unerklärlichen Reaktionen des Programmes führt, weil z.B. Einstellungen nicht mehr wiedergefunden werden.

Es widerspricht schlichtweg der Sicherheitsstrategie von Windows, genauso wie es der Sicherheitsstrategie von Linux widerspricht, ausführbare Programme ohne Weiteres im Benutzer-Home zu haben.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Euer Lazarus Desktop

Beitrag von m.fuchs »

Timm Thaler hat geschrieben: genauso wie es der Sicherheitsstrategie von Linux widerspricht, ausführbare Programme ohne Weiteres im Benutzer-Home zu haben.
Echt? Warum?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Euer Lazarus Desktop

Beitrag von Timm Thaler »

Da ich gerade am IDE zurechtfummeln bin: Gibt es so etwas wie einen Procedure-Viewer, also ein Seitenfenstern, welches die Prozeduren der gerade geöffneten Unit anzeigt und wo man durch Klick auf die Prozedur zu dieser springen kann?

Btw: IDE-Farbschema natürlich in Ocean, das ist wie früher mit TP. Fehlt nur der rechteckige Mauszeiger.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Euer Lazarus Desktop

Beitrag von Michl »

Evtl. meinst du den CodeExplorer?! Den kannst du unter Ansicht -> CodeExplorer ... öffnen. Mit dem entsprechendem Contextmenueintrag "Springe zu" kannst du zu einer Methode springen (ich selber nutze diesen nicht, da ich mir einbilde, mit Shortcuts schneller zu sein).

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten