Konfigurieren von Eclipse zum Kompilieren von Haskell mit dem EclipseFP-Plugin


11

Ich habe gerade das EclipseFP Plugin in meinen Eclipse - Setup installiert (auf Windows 7 32bit, wenn diese Fragen), die folgenden Anweisungen . Dann folgte ich den Anweisungen in den Eclipse-Hilfedokumenten, um ein Hello WorldProjekt erfolgreich zu erstellen .

Ich bin mir jedoch ziemlich sicher, dass etwas nicht stimmt, obwohl ich nicht herausfinden kann, was. Erstens gibt es keine Syntaxhervorhebung, selbst wenn ich Dateien explizit mit dem Haskell-Editor öffne. Wenn Sie auf "Ausführen" klicken, wird die GHCi-Konsole auf der Registerkarte "Konsole" gestartet. Dies ist eigentlich ziemlich nützlich, klingt aber nicht richtig, da die Datei nicht ausgeführt , sondern nur kompiliert und geladen wird. Außerdem ist die Gliederungsansicht leer, selbst wenn ich eine mäßig große Haskell-Datei öffne.

Last but not least meldete das Projekt zunächst, dass keine Haskell-Implementierung konfiguriert war. Ich ging in die Einstellungen (obwohl dies nirgendwo als notwendig beschrieben wird) und fügte manuell eine GHC-Implementierung hinzu, die auf das bin-Verzeichnis meiner Haskell Platform-Installation verweist. Soweit ich das beurteilen kann, hat dies jedoch keine Auswirkungen gehabt.

Antworten:


19

EclipseFP scheint nicht mehr aktiv gewartet zu werden . Benutzung auf eigene Gefahr.


Nach einer großen Hilfe der Entwickler von EclipseFP auf ihrer Mailingliste habe ich eine Reihe von Anweisungen für die Installation der aktuellen (2.0.2) Version von EclipseFP zusammengestellt. Sie können meine E-Mail lesen, aber unten finden Sie die Anweisungen - es ist lang, aber nicht so schwer, wie es aussieht, und das Ergebnis ist ganz nett:

  1. Installieren Sie GHC / GHCi - aber das haben Sie schon getan, oder?
  2. Installieren Sie Eclipse 3.5 + Wenn Sie Eclipse noch nicht haben (warum nicht?!), Laden Sie es herunter - entweder die IDE für Java-Entwickler, wenn Sie dazu neigen, es auch mit Java zu verwenden, oder nur Eclipse Classic, wenn nicht. "Installation" besteht einfach darin, den Eclipse-Ordner irgendwo zu extrahieren und die ausführbare Eclipse-Datei zu starten. Es gibt nichts, was tatsächlich installiert werden könnte. Sie werden aufgefordert, einen Arbeitsbereich auszuwählen. Ihr Benutzerordner oder Ihr Dokumentenordner sind eine gute Wahl, wenn Sie keine Präferenz haben.
  3. Installieren des EclipseFP-Plugins Gehen Sie in Eclipse zu Hilfe> Neue Software installieren und fügen Sie sie http://eclipsefp.sf.net/updatesin das Feld Arbeiten mit: ein - drücken Sie die Eingabetaste . Im Feld unten sollte "Functional Programming" nach einigen Augenblicken angezeigt werden. Brechen Sie es ab und wiederholen Sie es, wenn dies nicht der Fall ist. Erweitern Sie "Functional Programming" und überprüfen Sie das 2.xx Haskell Support Plugin. Befolgen Sie die restlichen Schritte. EclipseFP wird installiert und fordert Sie auf, Eclipse neu zu starten.
  4. Update Cabal , während Sie warten, starten Sie eine Eingabeaufforderung (geben Sie cmd in der Startleiste auf Win Vista / 7) oder Terminal und geben Sie ‚Kabale update‘. Dadurch werden die Pakete aktualisiert, die Haskell benötigt, damit EclipseFP funktioniert.
  5. Konfigurieren Sie EclipseFP Gehen Sie zu Fenster> Einstellungen und erweitern Sie den Abschnitt Haskell. Klicken Sie auf "Haskell-Implementierungen" und dann auf "Hinzufügen". Geben Sie einen vernünftigen Namen ein (ich habe ihn "Haskell Platform" genannt) und navigieren Sie dann zum bin-Verzeichnis Ihrer GHC-Installation, das unter Windows etwa "C: \ Programme \ Haskell Platform \ 2010.2.0.0 \ bin" lautet. Die folgenden Elemente des Versions- und Bibliotheksordners werden ausgefüllt. Klicken Sie auf OK. Klicken Sie auf OK, um diese Einstellungen zu speichern, und öffnen Sie das Einstellungsfenster erneut. Gehen Sie zu "Scion and Cabal" und klicken Sie rechts auf "Autodetect". Es sollte ein Element zur Liste der installierten Cabal-Implementierungen hinzufügen. Wenn dies nicht der Fall ist, klicken Sie auf Hinzufügen, geben Sie ihm einen Namen wie "Cabal" und geben Sie ihm den Pfad zur ausführbaren Cabal-Datei, die unter Windows etwa "C:" lautet.
  6. Erstellen des Scion-Servers Theoretisch wird EclipseFP beim Verlassen des Einstellungsfensters viel Arbeit zum Erstellen des Scion-Servers leisten. Wenn dies nicht der Fall ist, beenden Sie Eclipse einfach und starten Sie es neu. Wenn es neu gestartet wird, beginnt es mit der Erstellung. Mit etwas Glück läuft dies einige Minuten und wird dann durchgeführt. Aufgrund der heiklen Art des Versionssystems von Haskell / Cabal können jedoch Probleme auftreten. Wenn dies fehlschlägt, versuchen Sie erneut, "cabal update" auszuführen, oder führen Sie "cabal install network-2.3" aus, wobei network-2.3 ein Paket ist, das vom Build-Skript als nicht korrekt gemeldet wurde. Sobald der Scion-Server erstellt ist, sind wir im Grunde genommen fertig. Starten Sie Eclipse noch einmal neu, um ein gutes Maß zu erreichen.
  7. Erstellen Sie ein Haskell-Projekt Wechseln Sie zur Haskell-Perspektive, falls dies noch nicht geschehen ist. Klicken Sie oben rechts auf das Symbol Perspektive öffnen, klicken Sie auf Andere, wenn Haskell nicht in der Liste angezeigt wird, und wählen Sie Haskell aus dem Popup aus. Gehen Sie nun zu Datei> Neu> Haskel-Projekt (oder Projekt und wählen Sie dann Haskell-Projekt) und erstellen Sie ein Projekt. Um Ihre erste Haskell-Datei zu erstellen, klicken Sie mit der rechten Maustaste auf den Quellcode im Projekt und wählen Sie Neu> Haskell-Modul. Dadurch wird eine Haskell-Datei erstellt, mit der Sie tun können, was Sie wollen. Um die Datei auszuführen, klicken Sie oben auf die Schaltfläche Ausführen (grüner Kreis, weißes Dreieck). Dadurch wird ein grundlegendes GHCi-Terminal auf der Registerkarte "Konsole" mit der Eingabeaufforderung "Prelude>" gestartet, wenn die Datei Fehler aufweist, oder "MODULENAME>", wenn sie erfolgreich kompiliert wurde. Sie können dies wie das externe GHCi-Terminal verwenden, um Befehle auszuführen wie: t,
  8. Konfigurieren der Ausführung der Datei Eine letzte Sache, die Ihnen das Leben erleichtert, besteht darin, EclipseFP anzuweisen, die Datei beim Speichern automatisch neu zu laden und nach dem erneuten Laden der Datei eine Funktion (z. B. "main") auszuführen. Klicken Sie dazu auf den Abwärtspfeil neben der Schaltfläche Ausführen und wählen Sie "Konfigurationen ausführen". Klicken Sie auf die Konfiguration links neben der gewünschten Datei und dann auf die Registerkarte Automatisierung. Aktivieren Sie "Pakete beim Speichern neu laden", wenn Sie nicht den ganzen Tag ": r" eingeben müssen, und geben Sie einen Funktionsnamen wie "main" ein. Aktivieren Sie "Befehl nach dem erneuten Laden erneut ausführen", um einen Befehl automatisch auszuführen.

@dimo - Ich hatte gerade beim Ausführen "Die zu startende ausführbare Datei konnte nicht gefunden werden" und habe die GHCI und die Ausführungskonfiguration auf "Haskell-Anwendung" und das Arbeitsverzeichnis als meinen Projektordner festgelegt. Das macht es immer noch auf Windows. Unter Ubuntu hat es das zuerst gemacht und dann habe ich Eclipse geschlossen und es geöffnet und ein neues Projekt erstellt und es hat magisch funktioniert. Aber unter Windows bin ich gefickt.
Sacha T Red

Ich denke du hast einen Schritt verpasst. Haben Sie Cabal installiert und den Scion-Server erstellt? Wenn Sie alle Schritte hier ausgeführt haben und es nicht funktioniert, würde ich vorschlagen, einen neuen Thread in der EclipseFP-Mailingliste zu starten und auf diesen Beitrag zu verlinken.
dimo414

In Schritt 4 sagten Sie "während Sie warten"; bezieht es sich auf Schritt 3? dh bedeutet dies, dass Schritt 4 ausgeführt werden kann, während Schritt 3 ausgeführt wird?

@FleetCommand Ja, cabal kann aktualisiert werden, während EclipseFP installiert wird. Es wird nur benötigt, wenn Sie versuchen, das Plugin auszuführen.
dimo414

1

Das EclipseFP-Plugin wird seit dem 14.05.2015 nicht mehr gepflegt und scheint nicht mit neueren Versionen von Eclipse zu funktionieren.


@ David, wenn Sie genau hinschauen, werden Sie sehen, dass die andere Antwort meine dupliziert. Die Notiz oben wurde hinzugefügt, nachdem ich meine Antwort gepostet habe. Ohne diesen Hinweis war es irreführend und veranlasste mich, viel Zeit damit zu verbringen, es zum Laufen zu bringen, bevor es veröffentlicht wurde. Es funktioniert einfach nicht mehr.
Kaveh

Oh, ich habe die Bearbeitung nicht bemerkt. Es tut uns leid.
DavidPostill
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.