Konfigurieren von Eclipse zum Kompilieren von Haskell mit EclipseFP-Plugin

9274
dimo414

Ich habe gerade das EclipseFP-Plugin in meinem Eclipse-Setup installiert (unter Windows 7 32 Bit, wenn das wichtig ist) und den Anweisungen folgen . Dann folgte ich den Anweisungen in den Eclipse-Hilfedokumenten, um ein Hello WorldProjekt erfolgreich zu erstellen .

Ich bin jedoch ziemlich sicher, dass etwas nicht stimmt, obwohl ich nicht herausfinden kann, was. Zunächst einmal gibt es keine Syntaxhervorhebung, selbst wenn ich Dateien explizit mit dem Haskell-Editor öffne. Zweitens: Durch Ausführen von run wird die GHCi-Konsole auf der Registerkarte "Konsole" gestartet. Das ist eigentlich ziemlich nützlich, klingt aber nicht richtig, da die Datei nicht ausgeführt, sondern nur kompiliert und geladen wird. Darüber hinaus ist die Gliederungsansicht leer, auch wenn ich eine mittelgroße Haskell-Datei öffne.

Zu guter Letzt berichtete das Projekt, dass keine Haskell-Implementierung konfiguriert wurde. Ich ging in die Einstellungen ein (obwohl dies an keiner Stelle als notwendig beschrieben wird) und fügte manuell eine GHC-Implementierung hinzu, die auf das Verzeichnis bin meiner Haskell-Plattform-Installation verweist. Meines Erachtens hat dies jedoch keine Auswirkungen.

11

2 Antworten auf die Frage

19
dimo414

EclipseFP scheint nicht mehr aktiv gepflegt zu sein ; Benutzung auf eigene Gefahr.


Nachdem ich die EclipseFP-Entwickler auf ihrer Mailing-Liste sehr unterstützt hatte, habe ich eine Anleitung 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. Sie ist lang, aber nicht so hart, wie es aussieht, und das Ergebnis ist ganz nett:

  1. Installieren Sie GHC / GHCi - aber das haben Sie bereits getan, richtig?
  2. Installieren Sie Eclipse 3.5 + Wenn Sie Eclipse nicht bereits heruntergeladen haben (warum nicht ?!), laden Sie es herunter. Entweder die IDE für Java-Entwickler, falls Sie dazu neigen, es auch mit Java zu verwenden, oder einfach nur Eclipse Classic, wenn nicht. "Installation" besteht einfach darin, den Eclipse-Ordner irgendwo zu extrahieren und die ausführbare Eclipse-Datei zu starten. Es ist nichts zu installieren. Sie werden aufgefordert, einen Arbeitsbereich auszuwählen. Ihr Benutzerordner oder Ihr Dokumentenordner sind eine gute Wahl, wenn Sie keine Präferenz haben.
  3. Installieren Sie das EclipseFP-Plugin. Gehen Sie in Eclipse zu Hilfe> Neue Software installieren und fügen Sie es http://eclipsefp.sf.net/updatesin das Feld Arbeiten mit: ein. Drücken Sie die Eingabetaste . Im Feld unter "Funktionale Programmierung" sollte nach einigen Augenblicken der Vorgang abgebrochen werden. Wenn nicht, brechen Sie es ab und versuchen Sie es erneut. Erweitern Sie "Funktionale Programmierung" und überprüfen Sie das 2.xx Haskell Support-Plugin. Folgen Sie den restlichen Schritten, und 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 von Haskell benötigten Pakete aktualisiert, damit EclipseFP funktionieren kann.
  5. Konfigurieren Sie EclipseFP Gehen Sie zu Window> Preferences und erweitern Sie den Abschnitt Haskell. Klicken Sie auf "Haskell-Implementierungen" und klicken Sie auf "Hinzufügen". Geben Sie einen angemessenen Namen ein (ich habe ihn "Haskell Platform" genannt), und navigieren Sie zum Verzeichnis bin Ihrer GHC-Installation, das unter Windows "C: \ Programme \ Haskell Platform \ 2010.2.0.0 \ bin" ist. Daraufhin werden die Elemente des Ordners Version und Library unten 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 den Pfad zur Cabal-Programmdatei an. Dies ist unter Windows "C:
  6. Erstellen des Scion-Servers Nach dem Verlassen des Voreinstellungsfensters beginnt EclipseFP damit, den Scion-Server zu erstellen. Ist dies nicht der Fall, beenden Sie Eclipse einfach und starten Sie ihn neu. Nach dem Neustart wird Eclipse gestartet. Mit etwas Glück wird dies einige Minuten dauern und ist dann erledigt. Allerdings können Sie aufgrund der heiklen Art des Versionssystems von Haskell / Cabal Probleme bekommen. Wenn dies fehlschlägt, führen Sie "cabal update" erneut aus. Führen Sie beispielsweise "cabal install network-2.3" aus, wobei network-2.3 ein Paket ist, von dem das erstellte Build-Skript nicht stimmt. Sobald der Scion-Server aufgebaut ist, sind wir im Grunde genommen fertig. Starten Sie Eclipse noch einmal für eine gute Messung neu.
  7. Erstellen Sie ein Haskell-Projekt Wechseln Sie in die Haskell-Perspektive, falls dies noch nicht geschehen ist - oben rechts, klicken Sie auf das Symbol "Perspektive öffnen", klicken Sie auf "Andere", wenn Sie Haskell nicht in der Liste sehen, und wählen Sie im Popup "Haskell" aus. Gehen Sie nun zu Datei> Neu> Haskel-Projekt (oder Projekt und wählen Sie Haskell-Projekt) und erstellen Sie ein Projekt. Um Ihre erste Haskell-Datei zu erstellen, klicken Sie mit der rechten Maustaste auf den Ordner src im Projekt und wählen Sie Neu> Haskell-Modul. Dadurch wird eine Haskell-Datei erstellt. Sie können damit machen, was Sie möchten. Klicken Sie zum Ausführen der Datei oben auf die Schaltfläche Ausführen (grüner Kreis, weißes Dreieck). Daraufhin wird ein grundlegendes GHCi-Terminal auf der Registerkarte "Konsole" mit der Eingabeaufforderung "Prelude>" gestartet, wenn die Datei Fehler aufweist, oder "MODULENAME>", wenn die Kompilierung erfolgreich war. Sie können dies wie das externe GHCi-Terminal verwenden, um folgende Befehle auszuführen: t,
  8. Konfigurieren der Dateiläufe Eine letzte Sache, die Ihnen das Leben leichter macht, besteht darin, EclipseFP anzuweisen, die Datei nach dem Speichern automatisch neu zu laden und eine Funktion (zum Beispiel "main") auszuführen, nachdem die Datei neu geladen wurde. 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 von der gewünschten Datei und anschließend auf die Registerkarte "Automatisierung". Aktivieren Sie "Pakete neu laden", wenn Sie nicht den ganzen Tag ": r" eingeben müssen. Geben Sie einen Funktionsnamen wie "main" ein und aktivieren Sie das Kontrollkästchen "Befehl erneut ausführen", um einen Befehl automatisch auszuführen.
@dimo - Ich hatte gerade die Option "Die zu startende ausführbare Datei konnte nicht gefunden werden", und ich habe die GHCI eingestellt und die Laufkonfiguration auf "Haskell-Anwendung" und das Arbeitsverzeichnis als Projektordner gesetzt. Das macht es immer noch auf Windows. Auf Ubuntu hat es das zuerst getan und dann habe ich Eclipse geschlossen und es geöffnet, ein neues Projekt gemacht und es hat auf magische Weise funktioniert. Aber unter Windows bin ich beschissen. Sacha T Red vor 8 Jahren 0
Ich vermute, du hast einen Schritt verpasst. Haben Sie Cabal installiert und den Scion-Server erstellt? Wenn Sie alle Schritte hier ausgeführt haben und nicht funktionieren, würde ich vorschlagen, einen neuen Thread in der EclipseFP-Mailingliste zu erstellen und auf diesen Beitrag zu verlinken. dimo414 vor 8 Jahren 0
In Schritt 4 sagten Sie "während Sie warten"; bezieht es sich auf Schritt 3? dh kann Schritt 4 ausgeführt werden, während Schritt 3 ausgeführt wird? vor 7 Jahren 0
@FleetCommand Ja, Cabal kann aktualisiert werden, während EclipseFP installiert wird. Dies ist nur erforderlich, wenn Sie versuchen, das Plugin auszuführen. dimo414 vor 7 Jahren 0
1
Kaveh

EclipseFP Plugin wird seit 2015-05-14 nicht gepflegt und scheint nicht mit den neuesten Versionen von Eclipse zu funktionieren.

@David, wenn du genau hinschaust, wirst du die andere Antwort sehen, die meine. Die Notiz oben wurde hinzugefügt, nachdem ich meine Antwort gepostet hatte. Ohne diesen Hinweis war es irreführend und veranlasste mich, beträchtliche Zeit damit zu verbringen, es zu schaffen, bevor es veröffentlicht wurde, es funktioniert einfach nicht mehr. Kaveh vor 7 Jahren 0
Oh, ich habe den Schnitt nicht gesehen. Es tut uns leid. DavidPostill vor 7 Jahren 0