Update auf Ubuntu 10.10

Scala: Es ist immer noch Version 2.7.7 installiert -> stört mich nicht

JEdit (1): Erst böses Erwachen, dann Erleichterung: Einige Buchstaben im Textbereich (also da, wo mein Code steht) haben zusätzlich farbige Striche, wo keine Striche hingehören. Ein „r“ sieht so immer ein bisschen wie ein „n“ aus, auch „a“ und „e“ haben sog. Artefakte. Nach einigem Probieren fand ich die Lösung: Ich hatte das Aliasing war auf „subpixel“ eingestellt! Mit „standard“ war das Problem behoben: Utilities -> Global Options -> im Fenster „Options“ den Eintrag „Text Area“ auswählen und in „Anti Aliased smooth text“ den Wert „standard“ auswählen.

JEdit (2): Die Tooltips, die bei Start angezeigt werden, finden einen Ordner nicht mehr: Help -> Tip of the day -> „doc/tips directory not found“. Nicht weiter schlimm, behebe ich später.

Advertisements
Veröffentlicht in Java, JEdit, Linux, Tools. Kommentare deaktiviert für Update auf Ubuntu 10.10

JEdit – Spaß mit Tabs Leerzeichen

Eigentlich hatte ich mir JEdit über Utilities -> Global Options -> Editing wie unten zu sehen eingerichtet. Mit „Soft … tabs“ = „Aus“ wollte ich vermeiden, dass Tabs in Leerzeichen umgewandelt werden.

Mit Textdateien klappte das prima, aber .scala – Dateien wurden beim Öffnen immer in diese Einstellungen zurückgesetzt (zu sehen in Utilities -> Buffer Options):

Grübel … Wieso nimmt JEdit ausgerechnet für Scala die Originaleinstellungen?

Lösung: In der Datei „~/.jedit/modes/scala.xml“ („~“ steht in Pfadangaben auf Unix-Systemen immer für Ihr Homeverzeichnis) findet sich dieser Eintrag:

PROPERTY NAME="tabSize" VALUE="2"
PROPERTY NAME="indentSize" VALUE="2"

Da sind ja die „falschen“ Einstellungen. Das Ganze geändert zu:

PROPERTY NAME="tabSize" VALUE="4"
PROPERTY NAME="indentSize" VALUE="4"

und schon sind bleiben die Einstellungen wie sie sollen:

Geht doch. Die Erweiterung für Scala speichert also eigene Einstellungen für die Feinheiten der Textdatei.

Veröffentlicht in JEdit, Scala, Tools. Kommentare deaktiviert für JEdit – Spaß mit Tabs Leerzeichen

Scala: Import von Klassen funktioniert mit Version 2.8.0 nicht, wenn

man Scala 2.8.0 auf den Rechner kopiert hat und den Klassenpfad nicht entsprechend setzt – jedenfalls ist das meine Vermutung. Der Reihe nach:

– JEdit macht sich prima, aber die Farben der Syntax-Hervorhebung im Editor – grausig. Ich ermüdete sehr schnell. Die Rettung ist das PlugIn „Editor Scheme Selector“ Das MUSS man einfach haben! Es zeigt einem (nachzählen) 25 verschiedene, geschmackvolle Farbschemas für den Editor an. Es sind welche mit hellem und dunklem Hintergrund darunter. Mein Lieblingsschema heißt „Dessert“.

– Ich habe mir auch das Console-PlugIn (nebst 10 anderen, wie Hex Edit, JDiff PlugIn, SVN PlugIn, Whitespace u.a.) installiert. Damit kann ich die gerade offene Datei kompilieren.

Leider habe ich als Pfad zum Scala-Kompiler ein Verzeichnis angegeben, in das ich Scala-2.8.0 entpackt hatte. Die Folge war, dass ich ich nur noch Klassen kompilieren konnte, die keine anderen Klassen importierten! Ich habe den Fehler natürlich ewig in meinem Code gesucht, bis ich die richtige Idee hatte. Ich benutze seitdem wieder den Scala-2.7.7-Kompiler aus den Ubuntu-Repositories und Klassen mit import (lokaler Klassen) kompilieren wieder fehlerfrei.

Nun kann ich eine shell öffnen und los kompilieren:

– in das Verzeichnis „src“ wechseln (man sollte die Quellcodedateien getrennt von den kompilierte Dateien, den sog, binaries halten, daher der Ordner „src“. Auf derselben Ebene sollte es einen Ordner „bin“ geben.)

– „scalac -d ../bin pfad.zu.meiner.Klasse.meineKlasse.scala“ aufrufen

Mit dem PlugIn Console könnte ich auch direkt aus JEdit heraus kompilieren, würden dem unter (Ubuntu-)Linux nicht drei ernste Problem mit dem Scala-Toolkit für JEdit im Weg stehen:

(1) Der vorgegebene Pfad zum Scala-Kompiler (und zum Interpreter) ist für Nicht-Windowssysteme „/usr/local/scala“ – Auf Ubuntu ist Scala unter /usr/bin/ installiert (und auf anderen Linuxen bestimmt auch). Dieser Pfad kann durch die Variable $SCALA_HOME überschrieben werden aber durch (3) wird aus „/usr/bin“ immer „/usr/bin/bin“!

(2) scalac und scala werden mit der Option -classpath aufgerufen, wenn in der Maske (die sich nach Rechtsklick auf den Editor und „Compile Current Buffer …“ öffnet) im Feld „Classpath“ ein Pfad eingetragen ist. Diese Option sorgte bei mir dafür, dass das Kompilieren mit einem Fehler endete. Und es ist immer ein Pfad eingetragen, wenn man die Maske aufruft. Also müsste ich dieses Feld immer leeren.

(3) an den Pfad zum Scala-Kompiler wird für Nicht-Windowssysteme immer „/bin“ angehangen

Ich habe also in den Dateien scala.xml und scalac.xml aus dem Ordner „scala-2.8.0.final.zip/misc/scala-tool-support/jedit/console/commando“ folgende Zeilen geändert (Zeilennummern wie scalac.xml, scala.xml enthält diesselben Zeilen, die genauso zu ändern sind):

(1) Zeile 44

war value = (isWin32) ? "c:\\\\Progra~1\\Scala" : "/usr/local/scala";

ist value = (isWin32) ? "c:\\\\Progra~1\\Scala" : "/usr/bin";

(2) Zeile 53

war <DIR_ENTRY LABEL="Class path" VARNAME="classpath" EVAL='buffer.getDirectory()'/>

ist <DIR_ENTRY LABEL="Class path" VARNAME="classpath"/>

(3) Zeile 60

war if (home.length() > 0) buf.append(home + File.separator + "bin" + File.separator);

ist if (home.length() > 0) buf.append(home + File.separator);

Jetzt passt alles: Rechtsklick –> Compile Current Buffer:

Scala Home Path = „/usr/bin“

Source File(s) = die gerade offene Datei

Class Path = leer

Output Directory = das zuletzt gewählte Verzeichnis

Jetzt „OK“ klicken und schon öffnet sich eine shell in der ich mir das Ergebnis in Ruhe ansehen kann…

Veröffentlicht in JEdit, Scala. Kommentare deaktiviert für Scala: Import von Klassen funktioniert mit Version 2.8.0 nicht, wenn

Eclipse 3.5.2, 3.6 und Netbeans 6.8, 6.9.1: Scala-PlugIns noch nicht ausgereift – JEdit beeindruckt

Scala-PlugIn für Eclipse 3.5.2, 3.6: Der Scala-Editor funktioniert wunderbar, aber es lassen sich keine JUnit4-Tests für Scala erstellen – diese Option wird nur für Java angeboten. Die so erzeugten JUnit4-Tests lassen sich nur mit Java schreiben – sie haben ja auch die Endung .java

Scala-PlugIn für Netbeans 6.8, 6.9.1: Der Scala-Editor funktioniert wunderbar, man kann JUnit4-Tests für Scala erstellen – aber diese Tests (im Ordner test/) erkennen die Scala-Klassen aus dem Ordner src/ (auf derselben Ebene) nicht. Die Syntaxvervollständigung (im JUnit-Test „import .“ tippen und schon sollten Vorschläge für die zu importierende Klasse kommen) behauptet sogar, die Klasse sei leer. Das Einfügen von „_root_“ in den Klassenpfad hilft nicht. Das Erstellen der JUnit-Tests in Ordner src/ hilft auch nicht, denn dann wird „junit“ nicht als Klasse von „org“ erkannt („import org.junit._“)

Scala-PlugIn für IntelliJ: Nicht getestet, nachdem ich die negativen Kommentare einiger Benutzer auf der Website des Scala-PlugIns gelesen habe.

Wie gesagt ich arbeite mit Ubuntu 10.04.

JEdit (aus den Ubuntu-Repositories) überrascht dagegen mit einer viel besseren Darstellung (als Ende 2008), andockbaren Fenstern, einer shell(!) und zahlreichen nützlichen, funktionierenden PlugIns! Ich habe mir JUnit4 und Scalatest als zip von den jeweiligen Webseiten geladen und die Installationspfade zu einer Variable namens $Classpath hinzugefügt („export Classpath:$Classpath::“ siehe FAQ zu JUnit.) Ob es mir gelingt, JUnit-Tests für Scala (a) überhaupt und (b) vielleicht sogar mit dem JEdit-JUnit4-PlugIn zum laufen zu bringen? Wird JEdit reichen, um ein Projekt zu machen? Ist es vielleicht sogar die bessere IDE?

Veröffentlicht in JEdit, Linux, Tools. Kommentare deaktiviert für Eclipse 3.5.2, 3.6 und Netbeans 6.8, 6.9.1: Scala-PlugIns noch nicht ausgereift – JEdit beeindruckt