Archiv der Kategorie: Entwicklungsumgebung

Eclipse-Plugin: Shell-Script-Editor (ShellEd) und Remote System Explorer (RSE)

ShellEd (Bild) ist ein Shell-Script-Editor für Unix-Skripte (also ash, bsh, bash, csh, ksh, sh, zsh). Mit Manual und Vervollständigung. Interessant dazu ist das relativ unbekannte Target Management Project, wo man remote, etwa über SSH oder FTP auf einem Server arbeiten und zum Beispiel Dokumente editieren kann.

Mehr Eclipse-Plugins gibt’s unter http://www.tutego.de/java/eclipse/plugin/eclipse-plugins.html.

Neues Eclipse Release: 4.2 (Juno) ist fertig

Download wie üblich unter http://www.eclipse.org/downloads/. Die Neuigkeiten sind groß, http://download.eclipse.org/eclipse/downloads/drops4/R-4.2-201206081400/news/index.html, insbesondere für RCP-Entwickler:

Der 3er Zweig läuft aus.

PS: Unser tutego Eclipse Kurs http://tutego.de/g/ECLPSRCP/ schult auf Wunsch komplett auf Eclipse 4.

NetBeans 7.1 Code-Transformation nach Java 7

Wähle im Menü Refactor > Inspect and Transform … und dann im Dialog bei Use:/Configuration: den Eintrag Convert to Java 7 aus. Ein Klick auf Inspect startet die Suche und listet Änderungsmöglichkeiten auf und bietet an, die Stellen automatisch zu beheben.

Ich habe das Tool auf den Beispielen meines Buches angewendet und die meisten Hinweise beziehen sich auf Diamond und natürlich im IO-Kapitel auf auf try-mit-Ressourcen. Damit habe ich heute den ganzen Tag verbracht und auch noch ein paar kleine Fehler gefunden. Eine Stelle ist interessant:

XMLOutputFactory factory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = factory.createXMLStreamWriter( new FileOutputStream( "writenParty.xml" ) );

XMLStreamWriter hat close() aber kein AutoCloseable. Kann man als Fehler ansehen.

Das hier formt der Konverter nicht um, er beginnt erst bei “fett” mit dem switch, das liegt am zweiten if, was nicht als if else formuliert ist.

if ( "Ende".equals(e.getActionCommand()) )
  System.exit( 0 );
if ( "fett".equals(e.getActionCommand()) )
  t.setFont( font = font.deriveFont( font.getStyle() ^ Font.BOLD ) );
else if ( "kursiv".equals(e.getActionCommand()) )
  t.setFont( font = font.deriveFont( font.getStyle() ^ Font.ITALIC ) );

Zen-Coding: Plugins für’ schnelle Schreiben von HTML/XML

http://code.google.com/p/zen-coding/. Die Idee ist, dass der Editor Ausdrücke wie

div#page>div.logo+ul#navigation>li*5>a

expandiert zu

<div id="page">
        <div class="logo"></div>
        <ul id="navigation">
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
        </ul>
</div>

Plugins gibt es für

Eclipse 3.8M1 (mit funktionierendem Java 7 Support)

Download unter http://download.eclipse.org/eclipse/downloads/drops/S-3.8M1-201108031800/index.php (Windows), die News unter http://www.eclipse.org/jdt/ui/r3_8/Java7news/whats-new-java-7.html. Na endlich muss ich kein NetBeans mehr nutzen Winking smile . Interessant ist auch zur Einführung vom Diamanten

Redundant type arguments warning

aber es fehlt noch eine “Clean”, um das automatisch zu konvertieren.

Ein paar Tage Eclipse 3.7, was (immer noch) nervt

Installiert Eclipse IDE 3.7 for Java EE Onkels

  1. Immer wieder bekomme ich beim Starten von Apps die Meldung “Selection does not contain a main type”. Sehr ärgerlich!
  2. Schreibt man eine Klasse wie “class A impl” kann man beim “impl” Strg+Space drücken und man bekommt “implements” vervollständigt. Schreibt man jedoch “enum A impl” und drückt dann Strg+Space passiert nichts. Wie blöd, denn enums können Schnittstellen implementieren.
  3. Ein Refactoring “Extract Interface…” führt in der Schnittstelle zu public abstract-Methoden. Gar nicht schön.
  4. In JSP-Dateien wird der EL-Operator eq immer noch nicht erkannt, es gibt bei “${(10*10) ne 100} == false” ein “Syntax error on token "ne100", delete this token”. Das ist totaler Blödsinn.
  5. JSP-Daten mit EL führen zu Warnungen: ${10 mod 4} == 2 führt zu “The declared exception IOException is not actually thrown by the method _elExpression69() …”
  6. Nach dem Starten bekommt die Konsole nicht mehr automatisch den Fokus?
  7. Nimm die Deklaration

    public class Application
    {
      public static void main( String[] arguments )
      {
        int MAX = 0;
      }
    }

    und aktiviere den Quick-Assist auf MAX, um aus der lokalen Variablen eine Attribut zu machen. Eclipse nennt die Variable mAX.

  8. Refactoring funktioniert plötzlich nicht mehr. Nach dem Aufruf von Alt+Shirt+R macht Eclipse einfach nichts. Gar nichts. Bei einem anderen Refactoring bleibt Eclipse plötzlich in der Mitte stehen, benannt in meinem Fall eine Schnittstelle selbst um, aber die Nutzer nicht. Ein Neustart behob das Problem.

Kann das bitte jmd. fixen 🙂

Was sind eure Erfahrungen?

Warten auf Eclipse 3.7.1 für Java 7

Es ist schön zu sehen, das Compiler/AST im Eclipse-Repository schon Java 7 können: http://wiki.eclipse.org/JDT_Core/Java7. Das einzige was jetzt noch fehlt ist Formatter, Indexer, Code-Assistenten, also eher UI-Stuff.

Im Moment ist Eclipse 3.6 (Hellios) aktuell und Eclipse 3.7 (Indigo) wird laut Foundation kommen: “Our target is to complete 3.7 in late June 2011”. Das heißt also, dass Eclipse 3.7 vor Java 7 fertig sein wird. (Ja, wäre schön gewesen, wenn sich Oracle und IBM/Eclipse abgesprochen hätten. Und die Versionsnummer hätten auch so gut gepasst.) Die Java 7 Funktionalität wird in Version 3.7.1 nachgeliefert.