SML und Java mit Notepad++ (Windows)

Dieser Artikel handelt davon wie man mit der Windows-Open-Source Software Notepad++ komfortabel SML sowie Java-Programme schreiben und kompilieren/ausführen kann. Notepad++ unterstützt unter einer Vielzahl von Syntax-Markups auch die Java und ML-Syntax (Caml) und steigert so die Übersichtlichkeit beim Programmieren.

Nach erfolgreicher Installation, reicht es in Notepad++ folgende Tasten zu drücken um die jeweiligen Aktionen auszuführen :

F8

geöffnete SML-Datei mit dem SML-Interpreter starten

F9

".java"-Datei mit javac in ".class"-Bytecodedatei übersetzen und ".class"-Bytecodedatei mit java starten

F10

nur ".class"-Bytecodedatei mit java starten

F12

Eingabeaufforderung starten

Die Eingabeaufforderung kann immer mal wieder nützlich sein, falls die anderen Funktionen doch noch streiken sollten oder man "java" und "javac" mit speziellen Parametern ausführen will.

Voraussetzungen

SML

ftp://ftp.cl.cam.ac.uk/MIRRORED/smlnj/release/110/smlnj.exe herunterladen und installieren. Der Installationspfad wird im Folgenden als ~~SML-PFAD~~ verwendet.Die Installation von SML ist aufgrund des Setup-Programmes bei der 110.7 am einfachsten, aber falls eine neuere Version nötig sein sollte, so muss man diese von Hand installieren.

JAVA

Installation

auf http://java.sun.com/javase/downloads/index.jsp irgendeines der JDK-Pakete runterladen und installieren.

Wichtig ist, sich nicht nur ein JRE (Java Runtime Enviroment) zu installieren, da man damit nur Java-Programme starten, nicht jedoch (vor)kompilieren kann. ("javac.exe" würde dann also beispielsweise fehlen).

Der Installationspfad des JDKs wird im Folgen als ~~JAVA-JDK-PFAD~~ angegeben.

Einstellung der Umgebungsvariablen (bei WinXP)

Anmerkung : Falls java und javac bereits von überall in der Eingabeaufforderung aufgerufen werden kann, so kann dieser Schritt übersprungen werden. 1. "Systemsteuerung"

  1. "System"
  2. "Erweitert"
  3. "Umgebungsvariablen" (unten links neben Fehlerberichterstattung)

Falls die Systemvariablen "Path" und "JAVA_HOME" bereits gesetzt sind, dann überprüfen ob sie stimmen und korrigieren sie gegebenfalls, sonst :

  1. "Systemvariablen" -> "Neu"

  2. "Name der Variablen" : "Path"
  3. "Wert der Variablen" -> "~~JAVA-JDK-PFAD~~\bin"

  4. "Systemvariablen" -> "Neu"

  5. "Name der Variablen" -> "JAVA_HOME"

  6. Wert der Variablen -> "~~JAVA-JDK-PFAD~~"

vorgefertigtes Notepad++-Paket

Dieses Notepad++ besitzt nur ein zusätzliches XML-Plugin (kann man auch wahlweise löschen), einen zusätzlichen Ordner Extra und eine modifizierte Hotkey-Datei. Wer selber anpassen will oder auf irgendwelche Probleme stößt, kann alles wichtige zu Notepad++ aufhttp://notepad-plus.sourceforge.netfinden.

Download/Entpacken

Die Datei http://wiki.lmu-mi.de/npp_java_sml/NPP.zip herunterladen und im gewünschten Zielordner entpacken und dann nach belieben Umbennen oder verschieben.

Der Pfad von Notepad++ wird im Folgenden als ~~Notepad++-Pfad~~ angegeben.

Anpassung

SML

"~~Notepad++-Pfad~~\Extras\sml.bat" öffnen und dort den richtigen Pfad einstellen.

falls beim Installieren von SML der Standardinstallationspfad ("C:\SML") gewählt wurde, kann dies so belassen werden

C:\SML\bin\sml.bat %1 

andernfalls muss statt "C:\SML" der ~~SML-PFAD~~ angegeben werden :

~~SML-PFAD~~\bin\sml.bat %1 

CMD.EXE

Es kann bei der Verknüpfungsdatei "~~Notepad++-Pfad~~\Extras\cmd.lnk" (wird nur cmd angezeigt) im Feld "Ausführen in" der Pfad angegeben werden in dem man starten will. Sinnvoll wäre dabei z.b. die Angabe des Ordners, in dem man die Java-Programme schreibt.

".java"-Dateien mit Notepad++ assoziieren

Sollen ".java"-Dateien automatisch mit Notepad++ geöffnet werden, so muss folgendes gemacht werden :

  1. Rechte Maustaste über eine ".java"-Datei
  2. "Öffnen mit"
  3. "Programm auswählen"
  4. "Durchsuchen" (unten rechts)
  5. "~~Notepad++-Pfad~~\notepad++.exe" als Pfad angeben (sich bis dorthin durchklicken)

  6. Häkchen "Dateityp immer mit dem ausgewähltem Programm öffnen" ankreuzen
  7. "Notepad++" aus der Liste auswählen

JavaUndSMLmitNPP (last edited 2007-04-21 11:43:46 by MichaelShekelyan)