Eclipse 3.7 Indigo on askel parempaan

Kesäisin juhannuksen ja kesälomien ohella on yksi asia, jota etenkin sovelluskehittäjät odottavat: Eclipsen uuden version julkaisu. Tänä vuonna Eclipse -kehitysympäristöstä julkaistiin 3.7 -versio, joka on koodinimetty Indigoksi. Eclipse Foundation koordinoimaan vuosittaiseen julkaisuun osallistui 62:n Eclipse -projektia, joista kehitysympäristön ekosysteemi rakentuu.

Indigon suurimpia uudistuksia Java-kehittäjän näkökulmasta ovat muun muassa:

  • Egit 1.0: Git-versionhallinnan integroiminen
  • WindowBuilder: Graafisten SWT ja Swing -käyttöliittymien rakentamiseen
  • Jubula: Java ja HTML -sovellusten funktionaalisen GUI -testausten automatisoimiseen
  • m2eclipse: Mavenin integroiminen Eclipsen työtilaan
  • Mylyn 3.6 tukee nyt Hudsonin buildien monitorointia
  • Eclipse Marketplace tukee laajennusten lisäämistä vetämällä ja pudottamalla
  • Tuki WebKitille kaikilla alustoilla
  • Cocoa parannuksia OS X:llä

Tarkempaa listausta uudistuksista voi yrittää etsiä Indigon suunnitelma -wikistä.

Suunnitelluista uudistuksista Java 7 -tukea jouduttiin siirtämään, koska siihen liittyvät speksit olivat saatavilla liian myöhään ja virallinen julkistaminen (28.7.2011) on Indigon julkaisun jälkeen. Vastahan tässä Enterprise-sovellusten osalta (lue Oraclen palikat) päästiin Java 6:sta käyttämään, joten eipä sillä niin tarvetta.

Uusista ominaisuuksista WindowBuilder kuulostaa kätevältä, vaikka onneksi ei GUI-palikoita tarvitse rakennella. Nyt käsin tunkkaamisen asemesta elementtejä voi lähestyä kuten Netbeansin työkalujen kanssa on jo kauan voinut: valitse komponentti ja tiputa paikoilleen. WindowBuilderissa on kaksisuuntainen koodigenerointi, joka mahdollistaa yhteentoimivuuden käsinmuokatun koodin kanssa, joten ehkä se ei tuota yhtä sotkuista koodia kuin koodigenerointi yleensä.

Kokonaisuutena Eclipse 3.7 Indigo on jälleen askel parempaan kehitysympäristöön, vaikka mitään suuria, maata järisyttäviä, uudistuksia ei nähty, kuten ei viime vuonna Helioksenkaan osalta (lukuun ottamatta Marketplacea) tai pari vuotta sitten Ganymedessä, enkä edes muista mitä uudistuksia Galileo vuosi sitten toi. Saa nähdä vieläkö Eclipse hajonnee ikävän herkästi ja temppuilee. Rohkeat voivat koittaa vanhan Eclipse asennuksen importoimista Indigoon, joka yrittää asentaa vanhassa olleet laajennukset uuteen.

Eclipse 3.6 Helioksen myötä kehitysympäristö on taas parempi

Eclipsestä julkaistiin jokin aika sitten 3.6-versio eli tällä kertaa tuttavallisemmin Helios, joka jälleen tekee kehitysympäristöstä asteen paremman. Suuria muutoksia ei hyväksi havaittuun kaavaan ole tehty, vaan uudistuksina löytyy pieniä, mutta hyödyllisiä lisäominaisuuksia. Tarkemman listauksen uusista ominaisuuksista löytää Helioksen About-sivulta What’s New -osiosta (ja netistä: JDT ja platform), mutta tässä muutamia poimintoja.

  • Lisäosien asennus Eclipse Marketplacesta: Tarvittavien lisäosien asennus on nyt helpompaa Eclipsen sisältä löytyvän Marketplacen kautta. Hakusana ja pari kliksautusta, entisen update siten syöttelyn asemasta. Harmillisesti kaikki laajennukset eivät uutta tapaa vielä tue.
  • Web Tools Project sai tuen Java EE 6 -teknologioille kuten Servlet 3.0, JSF 2.0, JPA 2.0 ja EJB 3.1. (Jos niitä vielä pystyisi oikeasti toteutuksessä käyttämäänkin)
  • Formatoinnin kontrollointi: Window > Preferences > Java > Code Style > Formatter > On/Off Tags -kohdasta voi nyt kytkeä päälle annotaation, jolla voi disabloida koodin formatoinnin haluamalleen koodiblokille
  • ”rawtypes” -merkki @SuppressWarnings annotaatiolle: Kääntäjä tekee eron ilmoitettujen varoitusten osalta raw typen käytön ja geneeristen unchecked -operaatioiden osalta.
  • Export All: Formatterin asetuksista voi nyt viedä kaikki käyttäjän määrittelemä asetukset, ja ne voidaan tuoda kerralla. Kätevää, kun Eclipse tulee muutamia kertoja vuodessa asennettua uudestaan.
  • Pakettien nimien lyhenteet: Java-näkymissä voi lyhentää kustomoitavilla säännöillä pakettien nimet. esim. org.eclipse.ui={UI}, org.eclipse.ui.texteditor={T} ja org.eclipse.ui.internal.texteditor=[iT]. (Preferences > Java > Appearance > Abbreviate package names)
  • Lokaalin historian tyhjennyksen voi disabloida: Lokaalin historian kokoa siivotaan aina Eclipsen sammutuksen yhteydessä, mutta sen voi nyt disabloida. Tällöin historian koko kasvaa rajattomasti. (Preferences > General > Workspace > Local History)

Uusi Eclipse on nyt ollut muutaman viikon käytössä ja ihan toimivalta se edelleen vaikuttaa. Kenties hieman myös nopeampi kuin edellinen, ta sitten vain uusi asennus luo hyvää mielikuvaa. Asennuksessa tosin taas meni aikaa säätäessä kaikki kuten aikaisemmin ja Marketplace auttoi hieman lisäosien suhteen, mutta turhan vähän. Samalla vaihdoin Subclipsen käyttöön, joten Maven2-projekien tuonti versionhallinnasta oli kätevämpää. Laitoinpa samalla myös Atlassian Connectorit, jotka vaikuttavat ihan käteviltä. JBossin työkaluista piti tosin asentaa Nightly Build -versiot.

Eclipse 3.4 Ganymede tuo lukuisia pieniä uudistuksia

Eclipsestä julkaistiin alkuviikosta Ganymede-koodinimeä kantava 3.4-versio, joka tuo lukuisia pieniä, mutta käyttömukavuutta selkeästi parantavia uudistuksia. Kattava lista Eclipsen uudistuksista löytyy julkaisun tiedoista. Julkaisutiedoissa uudet ja viritellyt ominaisuudet on jaettu alustan uudistuksiin ja Java-kohtaisiin uudistuksiin.

Eclipse Ganymede

Eclipsen koodinimi Ganymede on Jupiterin seitsemäs kuu ja on aurinkokunnan suurin kuu. Aikaisempia Eclipsen versionimiä ovat olleet Europa (3.3) ja Callisto (3.2), eli Jupiterin kuudes ja kahdeksas kuu.

Uudessa versiossa on parempi ollakin kaivattuja ja käyttömukavuutta parantavia uudistuksia, sillä Eclipsen päivittäminen versionumerosta toiseen on aina yhtä tuskaa. Ominaisuudet ja lisäpalikat pitää asentaa uudelleen, versionhallinnassa olevat projektit pitää hakea uudelleen tai ainakin Subversive ei osannut yhdistää suoraan ja Eclipsen asetukset pitää viritellä takaisin haluamakseen. Parin harjoittelukerran jälkeen tämä toki sujuu nopeasti, ja jos vielä tarvittavat palikat ja niiden update-sivustot ovat tallessa, menee homma kohtalaisen vaivattomasti.

Tässä muutamia ainakin näin päältä päin katsottuna mielenkiintoisia ominaisuuksia (poimittuna Eclipsen julkaisutiedoista):

Software Updates
Eclipsen ominaisuuksien ja lisäosien päivitysmekanismi on päivitetty ja se osaa nyt valita automaattisesti tarvittavat lisäpalikat halutun ominaisuuden lisäämiseksi sekä näyttää vain ne palikat, joita olet asentamassa.

Uudistettu päivitystoiminto

Problems, Bookmarks ja Task -näkymät
Problems, Bookmarks ja Task -näkymät ovat saaneet kasvojenkohotuksen ja parannuksia näkymiin. Muun muassa Problems-näkymä osaa nyt rajata näkymän vain käytössä olevaan working settiin.

Problem -näkymä

Save Actions
Eclipsen Europa-versiossa oli mahdollista määritellä erilaisia toimintoja, jotka suoritetaan tiedostoa talletettaessa. Nyt Save Actionit voi myös rajoittaa koskemaan vain omia rivejä. Window > Preferences > Java > Editor > Save Action -asetuksista määriteltäviä toimintoja voivat olla esimerkiksi:

  • Muotoilu: sisennys, sulut, välilyönnit, tyhjät rivit, kontrollirakenteet, rivinvaihdot, kommentit
  • Importtien järjestely: turhien importtien poistaminen
  • Koodityyli: if/while/for/do -rakenteiden muotoilut, final-muuttujat
  • Turha koodi: poista käyttämättömät muuttujat ja rakenteet
  • Puuttuva koodi: lisää @Override and @Deprecated annotaatiot
  • Koodin jäsentely: järjestele muuttujat, vakiot

Tietenkin toiminnon hyödyntäminen on parhainta, kun projektia varten on määritelty koodaustyylit ja -standardit.

Hakuosumat rivinäkymällä
Tiedostoista haun osumat näkyvät nyt kokonaisina riveinä, kun aikaisemmin näkyi vain tiedosto.

Haun rivinäkymä

Hae/korvaa
Tekstiä korvattaessa voidaan säilyttää kohteen kirjainkoko. Esimerkiksi korvattaessa ”test” ”\CFoo”:lla ”Test test= TEST” -tekstistä, saadaan tulokseksi ”Foo foo= FOO”.

Säilytä kirjainkoko
Säilytä kirjainkoko

Rivinumero vierityspalkissa
Rivinumero näkyy nyt myös vierityspalkista kiskottaessa.

Vierityspalkin rivinumero

Java Editorin murupolku
Java-editori tarjoaa nyt murupolkua elementin sijaintiin. Ominaisuus voidaan kytkeä päälle/pois Toggle Breadcrumb työkaluvalikon napilla tai painamalla Alt+Shift+B. Jokainen elementti on mahdollista valita ja aktivoida siihen liittyviä toimintoja.

Java-editorin murupolku
Murupolun konteksti-valikko
Muropolun alasvetovalikko

Parempia Javadoc-vinkkiruutuja
Javadoc-vinkkiruutu näyttää nyt parempia vinkkejä ja on mahdollista selata Javadocia linkkejä seuraten, avata se ulkoiseen selaimeen, sekä muuttaa ruudun kokoa.

Javadoc vinkit

Muuttujan luku- ja kirjoitustapahtumat
Painamalla Alt+Shift+O, voidaan korostaa muuttujan luku- ja kirjoitustapahtumat eri väreillä. Ominaisuus on asetettavissa General > Editors > Text Editors > Annotations -asetuksista.

Muuttujan luku- ja kirjoitustapahtumien korostus

Java-kääntäjä moniytimisillä koneilla
Eclipsen Java-kääntäjä osaa nyt hyödyntää moniytimisten suorittimien monisäie-kapasiteettia.

Ulkoiset luokkakirjastot
Luokkakirjastot voivat nyt sijaita workspacen ulkopuolella.

Viritelty debug-näkymä
Sovellusta debuggatessa, on mahdollista nähdä muuttujien arvot.

Debug-näkymä