Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   nvim Enthusiasten gesucht (https://www.delphipraxis.net/214812-nvim-enthusiasten-gesucht.html)

ctavt 13. Mär 2024 22:37

nvim Enthusiasten gesucht
 
Guten Abend,

Um kurz auf den Punkt zu kommen:
Ich möchte selbst entscheiden dürfen, welche Features ich von der Sprache "Delphi" verwende und auf welche Inbuilt-Tools ich gerne verzichten kann. Hier kann mir unsere Delphi-IDE nicht helfen.


Geschäftlich verwende ich folgende Ergänzungen, ohne welche ich seit ich sie Nutze nicht mehr auskomme:
- CNPack "Syntax Highlighting" ("Uses Analyse")
- Parnassus Navigator "Fuzzy Search / Minimap"
- Git / Github Desktop (extern) "Versionskontrolle"


Weiter im Text. Es gibt von Microsoft nachfolgende Standards, sowie MSBuild:

"Language Server Protocol (LSP)"
https://microsoft.github.io/language-server-protocol/

"Debugger Adapter Protocol (DAP)"
https://microsoft.github.io/debug-adapter-protocol//

MSBuild für Delphi:
https://docwiki.embarcadero.com/RADS...MSBuild-Befehl


Ich möchte gerne erfragen, ob es hier im Forum bereits den ein oder anderen Nutzer gibt, der Erfahrungen im Umgang mit dem Editor "Neovim" und unserem Pascal-Akzent "Delphi" haben und diese teilen möchten.

Ist es bereits jemandem gelungen, die Entwicklung von Delphi-Code außerhalb der IDE zu gestalten und dennoch z.B. den hauseigenen Language-Server / Debugger-Adapter (wenn existent?) / CLI-Befehlszeile zum builden von Projekten zu verwenden ?

Bin sehr gespannt. Vielleicht gibt es ja den ein oder anderen, der ebenfalls neugierig ist :)

Mfg Chris

himitsu 13. Mär 2024 23:34

AW: nvim Enthusiasten gesucht
 
Das zweite kannst'e eigentlich vergessen, da Delphi/Pascal seine eigenen Debuginfos hat ... es kennt nicht das Format von Microsoft und auch Microsoft kennt die TurboDebuggerSymbols32 vom Delphi nicht.

MSDN-Library durchsuchenStackWalk funktioniert noch,
aber schon die DebugHelper versagen, da sie nur 2 Formate von Microsoft kennen, aber nicht die TD32, welche man aber zumindestens über ein paar uralte Tools konvertieren könnte.

Mavarik 14. Mär 2024 01:02

AW: nvim Enthusiasten gesucht
 
emm...

Gerade die Delphi IDE macht den Unterschied zwischen produktiven Design und ich tippe mir den Wolf weil ich einen "Editor" verwenden.

Vielleicht kannst Du mal erklären, wo der Vorteil liegen soll...

Mavarik :coder:

Der schöne Günther 14. Mär 2024 07:46

AW: nvim Enthusiasten gesucht
 
Gerade die Delphi-IDE ist ein Paradebeispiel für Vendor Lock-In und ich fand es schon kurios, dass man einem erstaunten Referenten auf der EKON erklären musste "Nein, da gibt es nur die IDE vom Hersteller, Compiler, Editor, Formular-Designer, Laufzeitbibliothek, das ist alles fest mit einander verdrahtet und man kann nur das nehmen. Eine neue Version der Standard-Bibliothek kommt dann immer mit einer neuen (zu kaufenden) Produktversion, die wieder fest an den Compiler, Editor, Debugger usw. gekoppelt ist".

Ich würde aus eigener Tasche Geld dafür bezahlen, wenn ich meinen Delphi-Code in z.B. VS Code schreiben, debuggen und Unit-Tests laufen laufen lassen könnte.

Der Wunsch, nicht an eine instabile und nur halb funktionierende IDE zwingend angewiesen zu sein ist mehr als verständlich.

Selbst Embarcadero hat das erkannt, denn aus reiner Menschenliebe bieten sie wohl nicht sonst ein Plug-In und Anleitung an, wie man Visual Studio Code verwenden können sollte, um damit Delphi zu machen:
https://docwiki.embarcadero.com/RADS..._Other_Editors

jaenicke 14. Mär 2024 09:17

AW: nvim Enthusiasten gesucht
 
Das Schreiben von Code funktioniert mit Visual Studio Code auch gut. Schau es dir einfach mal an. :)

ctavt 14. Mär 2024 09:30

AW: nvim Enthusiasten gesucht
 
Zitat:

Zitat von himitsu (Beitrag 1534615)
Das zweite kannst'e eigentlich vergessen, da Delphi/Pascal seine eigenen Debuginfos hat
...


Ich bin gestern hierauf gestoßen.. das ist möglicherweise off-Kontext weil es um Python Entwicklung für Android innerhalb der Delphi-IDE geht.
Aber DAP ist Embarcadero zumindest mal ein Begriff. :)
https://github.com/Embarcadero/dap4delphi


bezgl. LSP:
https://github.com/neovim/nvim-lspco.../delphi_ls.lua

Scheinbar hat es einen Community-Beitrag vor 2 Wochen gegeben, in welchem jemand LSP-Support hinzugefügt hat. Habs auch schon ausprobiert und es
funktioniert aber die Konfig ist nicht so simpel wie in VSCode. Liegt aber auch an meiner wenigen Erfahrung in nvim/ Lua.



Zitat:

Zitat von Mavarik (Beitrag 1534616)
emm...Gerade die Delphi IDE macht den Unterschied zwischen produktiven Design und ich tippe mir den Wolf weil ich einen "Editor" verwenden.

Vielleicht kannst Du mal erklären, wo der Vorteil liegen soll...

Mavarik :coder:

Persönliche Präferenz und eingangs schon erwähnt. Ich bin sehr zufrieden mit der Sprache, möchte aber nicht an eine IDE gebunden sein, die mich nicht begeistert.

ctavt 14. Mär 2024 10:42

AW: nvim Enthusiasten gesucht
 
Dann mache ich mal Werbung für diesen Vorgang im Quality-Portal bezüglich Integration des DAP.

https://quality.embarcadero.com/brow...tedDate%20DESC

freimatz 14. Mär 2024 12:08

AW: nvim Enthusiasten gesucht
 
Zitat:

Zitat von jaenicke (Beitrag 1534626)
Das Schreiben von Code funktioniert mit Visual Studio Code auch gut. Schau es dir einfach mal an. :)

Debuggen auch?

QuickAndDirty 14. Mär 2024 14:06

AW: nvim Enthusiasten gesucht
 
Wie heist das Format von FMX und DFM Dateien?
Könnte man die dann von Hand Schreiben oder den Designer von Lazarus exportieren?
So ähnlich wie QT-Designer nur formulare baut während QT-Creator eine vollständige C++ IDE a la Lazarus ist?
Dann hätte man einen DFM/FMX Designer und NEO VIM als extrem schnellen und VI kompatiblen Editor.

Uwe Raabe 14. Mär 2024 14:38

AW: nvim Enthusiasten gesucht
 
Zitat:

Zitat von QuickAndDirty (Beitrag 1534652)
Wie heist das Format von FMX und DFM Dateien?

Das ist proprietär und hat keinen Namen. Es entspricht dem internen TComponent-Streaming-Format.

Wie auch immer so ein Designer arbeiten würde, wenn er in der Lage ist eine Instanz des designten Forms zu erstellen (das hört sich jetzt leichter an als es ist), dann kann er die mit den Bordmitteln aus System.Classes und ein wenig Code auch als DFM speichern. Kann er das nicht wird es etwas aufwändiger.

TigerLilly 14. Mär 2024 15:06

AW: nvim Enthusiasten gesucht
 
Vor gefühlt 1000 Jahren gab es den Multi-Edit, der gut als Alternative zur IDE zu verwenden war. Inkl Compilieren etc.
Fun Fact: War in Pascal geschrieben.

https://en.wikipedia.org/wiki/Multi-Edit
https://www.heise.de/download/produc...dit-2006-37934

Dürfte jetzt aber out-of-business sein.

QuickAndDirty 14. Mär 2024 15:34

AW: nvim Enthusiasten gesucht
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1534654)
Das ist proprietär und hat keinen Namen.

Voll unkreativ.

Zitat:

Zitat von Uwe Raabe (Beitrag 1534654)
wenn er in der Lage ist eine Instanz des designten Forms zu erstellen (das hört sich jetzt leichter an als es ist)

JA, Für MICH wäre das mega schwer. Aber für die dudes von Lazarus war es möglich. Und dem aufzubauen was sie erreicht haben ist vielleicht einfacher.

Uwe Raabe 14. Mär 2024 16:30

AW: nvim Enthusiasten gesucht
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1534654)
wenn er in der Lage ist eine Instanz des designten Forms zu erstellen (das hört sich jetzt leichter an als es ist)

Um das mal einzuordnen: Die Delphi-IDE kann das auch nicht. Deswegen muss der Designer ein paar Tricks anwenden, damit die passende DFM dabei herauskommt.

Es ist ja auch irgendwie ein Henne-Ei-Problem: Ohne DFM kann man das Form nicht laden, ohne eine Instanz des Forms kann man keine DFM speichern.

Der Designer erstellt also ein Design-Form und speichert das auf magische Weise passend in die DFM.

himitsu 14. Mär 2024 18:47

AW: nvim Enthusiasten gesucht
 
Delphi-Referenz durchsuchenTReader und Delphi-Referenz durchsuchenTWriter für das binäre Format,
aber teile auch in TComponent versteckt.

Und ObjectTextToResource um das TextFormat ins Lesbare zu konvertieren.
https://www.delphipraxis.net/214764-...ml#post1534228



PS, um mal bissl zu erklären, was Delphi so treibt:
Da die Form-Klassendefinition standardmäßig nicht kompiliert und innerhalb der IDE geladen (DesignTimePackage) ist,
baut sich Delphi zur Laufzeit ein "Klasse" zusammen, inkl. TypeInfo, welches von TForm abgeleitet ist und so heißt, wie die Klasse in der Unit heißt.
Dann wird diese Dummy-Klasse verwendet, um damit die Form im Designer zusammenzubauen.

Frickler 15. Mär 2024 08:40

AW: nvim Enthusiasten gesucht
 
Zitat:

Zitat von TigerLilly (Beitrag 1534657)
Vor gefühlt 1000 Jahren gab es den Multi-Edit, der gut als Alternative zur IDE zu verwenden war. Inkl Compilieren etc.
Fun Fact: War in Pascal geschrieben.

Ganz aktuell gibt es den PSPad. Der kann das auch alles.
Fun Fact: ist in Delphi geschrieben.

http://www.pspad.com/de/download.htm

MichaelT 18. Mär 2024 08:20

AW: nvim Enthusiasten gesucht
 
Neovim? ist doch die VIM Variante mit den fix eingebauten Erweiterungen für Webentwicklung.

Damit du den Vim erweitern kannst musst du ihn selbst übersetzen, sofern mehr als ein wenig Syntax Highlighting betroffen ist. Nicht einmal unser Waschbär (UNIX Entwickler und Freund von mir) tat sich das jemals an. Am Ende kannst du den VIM inkl. der passenden Erweiterungen übersetzen und auch gekonnt in solch einem Sinne rumbasteln und der Zug der Zeit, den du dabei verpasst, fährt erneut in den Bahnhof ein.

Die letzte große Welle an VI pur oder VIM und insb. Ruby kam aus dem Ausstieg aus Entwicklung der 1980er und 1990er, sprich Softwareentwicklung in Richtung, was heute unter 'agil' läuft oder noch gestern lief, aber eigentlich eher mit Extreme Programming im Ursprung in Verbindung gebracht werden kann.

-

Die ersten IDEs gab es bereits am host und waren eine für damalige Verhältnis fruchtig frisch anmutende Alternative abseits der großen die Entwicklung von Organisationsprogrammierenden tragenden Entwicklern auf PL/I, COBOL usw...

Es handelte sich um einen Editor mit Tools Menü, der in Lage war Projetkinformationen (bpsw. Pfade usw.) an Kommandozeilenwerkzeuge zu übergeben. Denn die Alternative waren so wuchtige Systeme für bspw. ca. 300 Programmieren in Versicherungen, Banken usw. auf bspw. einem IBM Host (klassisch) und deren Fokus ware nicht auf dem Entwickler, sondern auf bspw. Configuration Management usw., sprich was in den 1990ern später als Begleitprozesse in Ergänzung zu Softwareentwicklung propagiert wurde. Mit alledem ist Extreme Programming abgefahren.

Mir hat auch die integrierte Entwicklungsumgebung in SAP nicht zwingend getaugt und es gab eine tatsächliche IDE von einem deutschen Hersteller, welche über die trivialen erweiterten Editoren hinaus ging. Typischen Anwendungsfall prinzipiell waren Ergänzungen zu SAP bspw. RFC (Remote Function Call, eine Weiterentwicklung des IBM RPC) im Fokus, denn diese Entwicklung genoss nicht viele Vorzüge aus dem Umfeld Dictionary.


Als Relikt der Zeit der Software- resp. bei uns eher Anwendungsentwicklung ist die IDE und insbesondere Delphi als auch Visual. Die Entwicklung der tradtionellen IDEs im Kontext von bspw. Anwendungsentwicklung, aber Entwicklung im Fokus waren jene mit der Fähigkeit GUI Design zu integrieren und waren somit OO lastig. Die GUI war der Treiber für die Anwendung von Objektorientierung.

Eclipse entspring der Feder von IBM in der Entwicklungs(philosphie/ideologie), lebt aber stark von der JVM und den Spracherweiterungen und Metainformationen als auch den Klassenbibliotheken. Visual Studio/CS entwickelte sich in eine von syntaktischen Erweiterung getragene Kombination der Anwendung von Entwicklungsmustern und ist somit noch immer die Weiterentwicklung von dem, von dem Extreme Programming sich abwendete.

Delphi hat wenig mit Bibliotheken an sich am Hut und lebt zumindest nicht davon, sondern von den Komponenten und GUI, wobei Komponenten den 'Research' Anteil eines klassischen Handwerkslinie und damit den innovativen Überbau über Systemaufrufe kapseln und somit ist Delphi keine astreine Entwicklungstechnologie, denn die zeichnet sich dadrauch aus, dass das insbesondere der Plan durch ein Design wird ersetzt, auf ein akadem. wissenschaftl. Typische Vertreter davon mit 3-GL Sprachen waren generative Umgebungen und zumeist mit 'Cross-Platform' und 'GUI in mind'. 99% der Entwicklungswerkzeuge sind ausgestorben und das zurecht.

Niveau wurde gehoben und dann in Produktion als auch Distribution geht und die Anforderungen nicht mehr allein jene der Kunden des Unternehmens reflektieren.


-

VC-Code wäre demzufolge die 'agile' Variante von Visual Studio und ich würde sogar die Jetbrains Produkte eher. Eclipse entspringt der Entwicklung und rette sich in Ermangelung anderer Alternativen von komfortablen Editoren unter Linux in die Agile Welt. Aber die wuchtigen Plugins erinnerten wieder mehr an die oben skizzierten wuchtigen die Entwicklung tragenden Umgebungen, wie am damals am Host, aber 'heute', also vor ca. 20 Jahren am PC (Umfeld/Thema Java Stacks)

-

Die Agilen Werkzeuge sind aber auch schon wie sie sind. Ich machte mir auch einmal Gedanken über eine Art SoftTree SQL Assistant allein für Object Pascal und Delphi. Das macht eher wenig Sinn, auch wenn ich deine Versuche der Anbiederung an Lean verstehe, so sind sie doch eher Reflektionen an eine vermeintlich gute Zeit von Ruby on Rails und somit der Bewegung des Ausbruchs und der Abkehr von Softwareentwicklung an sich. Ein weiteres kleineres generative Tool gab es vom Stephen Feuerstein und in das konnte man die Generierung von Code in anderen Sprachen, praktisch jeder einhängen, zusätzlich zu Oracle SQL und PL/SQL. Den Namen habe ich vergessen, war aber ganz brauchbar (war so nach 2k).

Was du suchst ist an sich Elements (Remobjects), egal was man davon hält, so in die Richtung oder Quartex Pascal usw.

Ich habe mich diesbezüglich eher für den Lazarus auf einer Linux Box entschieden, mache aber keinen Build von Source oder ich lasse Delphi wie es ist, abseits einer Handvoll ergänzende Komponenten und fokussiere mich aufs Wesentlich von Technologien oder allgemeiner formuliert dem Darunterliegenden. Das bleibt einem selbst erhalten und stärkt die Fähigkeiten.

Meine ehem. Geschäftspartner haben eine geile Anwendungstechnologie entwickelt, die jedoch nicht tool-fähig ware. Eine Datengetriebene Anwendung mit Analyse und Optimierung war mit so 240 Zeilen Code erstellt, aber keiner konnte es brauchen, denn dahinter ging voll der Bär ab, was die Kombination von Entwicklungsmustern betrifft. Am Ende schreibst dir die Werkzeuge selbst. Das rentiert sich im Kontext von Unternehmen und Wirtschaft nicht, außer man investiert viel Freizeit und mit der Zeit immer mehr - Vorsicht mit Revivals. Am Ende war das Streben meiner Geschäftspartner eher das nach einer Art Smalltalk nur im Visual Studio halt.

-

Wennst du dir merkst, dass beim Lazarus auf Linux die GTK Themes musst einspielen, dann bist heute praktisch überall auch mittlerweile auf Mac und Windows voll dabei. Für alles andere gibt es ein paar Editoren, wobei ich einfach historisch Scratch Pad habe genommen und das heute auch noch tue (Vorsicht, denn Scratchpad schnappt sich gerne die Dateierweitungen) oder Editpad Pro plus PowerGrep & usw. Mit dem bin ich in Summe gut gefahren. PSPad wäre heute ähnlich gelagert. Das Thema 'Beleitprozesse' und '-werkzeuge', sprich alles was über die Tool-Chain selbst hinausgeht einfach die die Kommandozeile auslagen, denn ein besserer sich einer IDE annähernden Editor kann zumindest Pfade und andere auf Symbolen aus einer Art Projektdatei an die Kommandozeile übergeben.

Selbst eine einfachere 'agile' Programmierumgebung ala WeBuilder ist schon aufwendig umzusetzen.

Zitat:

Zitat von ctavt (Beitrag 1534614)
Guten Abend,

Um kurz auf den Punkt zu kommen:
Ich möchte selbst entscheiden dürfen, welche Features ich von der Sprache "Delphi" verwende und auf welche Inbuilt-Tools ich gerne verzichten kann. Hier kann mir unsere Delphi-IDE nicht helfen.


Geschäftlich verwende ich folgende Ergänzungen, ohne welche ich seit ich sie Nutze nicht mehr auskomme:
- CNPack "Syntax Highlighting" ("Uses Analyse")
- Parnassus Navigator "Fuzzy Search / Minimap"
- Git / Github Desktop (extern) "Versionskontrolle"


Weiter im Text. Es gibt von Microsoft nachfolgende Standards, sowie MSBuild:

"Language Server Protocol (LSP)"
https://microsoft.github.io/language-server-protocol/

"Debugger Adapter Protocol (DAP)"
https://microsoft.github.io/debug-adapter-protocol//

MSBuild für Delphi:
https://docwiki.embarcadero.com/RADS...MSBuild-Befehl


Ich möchte gerne erfragen, ob es hier im Forum bereits den ein oder anderen Nutzer gibt, der Erfahrungen im Umgang mit dem Editor "Neovim" und unserem Pascal-Akzent "Delphi" haben und diese teilen möchten.

Ist es bereits jemandem gelungen, die Entwicklung von Delphi-Code außerhalb der IDE zu gestalten und dennoch z.B. den hauseigenen Language-Server / Debugger-Adapter (wenn existent?) / CLI-Befehlszeile zum builden von Projekten zu verwenden ?

Bin sehr gespannt. Vielleicht gibt es ja den ein oder anderen, der ebenfalls neugierig ist :)

Mfg Chris


Frickler 18. Mär 2024 08:43

AW: nvim Enthusiasten gesucht
 
Der Vim ist ein Top Editor unter zwei ganz bestimmten Voraussetzungen:
  • Die (Programmier)aufgabe involviert möglichst nicht die Maus. Formulardesign z.B. ist ungünstig.
  • Du musst 10 Finger blind schreiben können. Dann finden die Hände die ganzen Funktionen nach kurzer Zeit automatisch, und Du kannst Dich voll auf den Quelltext konzentrieren.
Was der Editor kann allein schon beim Bewegen im und von Text, beim Suchen und Ersetzen, sucht man in IDEs vergeblich. Da muss immer mit der Maus gehampelt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 Uhr.

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