Eclipse: jätä target-hakemistot huomioimatta Monkey-skriptillä

Eclipse on kätevä, joskin välillä ärsyttäväkin sovelluskehitystyökalu, mutta on laajennettavuudessaan erinomainen. Jos jotain ominaisuutta ei löydy paketista valmiina, löytyy se aika varmasti lisäosana tai sen voi itse toteuttaa.

Kaikki Eclipseä käyttäneet varmasti tietävät, että haettaessa jotain esimerkiksi Ctrl+Shift+R (Open Resource), tulee hakutuloksiin myös kohde-hakemiston (Target folder) tiedostot, joista ainakaan itse en ole tähän mennessä ollut kiinnostunut. Tietenkin kyseiset hakemistot voi merkitä manuaalisesti Derived-tilaan, jolloin ne jätetään huomioimatta. Valitettavasti käännettäessä sovellus cleanin kanssa esimerkiksi mavenillä tai antilla, kyseinen tila häviää ja se on asetettava uudelleen. Onneksi tämänkin asian voi automatisoida.

Eclipselle on saatavilla lukuisia eri lisäosia ja ominaisuuksia ja tällä kertaa pelastuksemme on dash-projektin Monkey Script, joka JavaScriptiä käyttäen suorittaa haluamiamme tehtäviä. Lisäksi tarvitsemme sopivan skriptin, joka toteuttaa target-hakemistojen merkitsemisen. Tätäkään ei tarvitse itse alkaa uudestaan keksimään, vaan voimme käyttää valmista skriptiä. Helppoa.

Skriptien ajamista varten tarvitsemme siis Eclipse Monkey -työkalun, jonka Eclipse Update -site löytyy osoitteesta http://download.eclipse.org/technology/dash/update/. Annetaan osoite Eclipse Update Managerille ja asennetaan Eclipse Monkey ja Mozilla Rhino -palikat.

Monkey

Eclipse Monkeyn asennuksen jälkeen kopioidaan alla oleva skripti:

--- Came wiffling through the eclipsey wood ---
/*
 * Menu: Maven > Make Maven Targets Derived
 * Kudos: Donnchadh
 * License: EPL 1.0
 * DOM: http://download.eclipse.org/technology/dash/update/org.eclipse.dash.doms
 */

function main() {
  var files = resources.filesMatching(".*/pom\\.xml");
  var targetFolder;

  for each( file in files ) {
    if (targetFolder = file.eclipseObject.parent.findMember("target")) {
    	targetFolder.setDerived(true);
    }
  }
}
--- And burbled as it ran! ---

ja valitaan Eclipsen valikoista "Scripts > Paste New Script".

Monkey

Tämän jälkeen pitäisi Scripts-valikosta löytyä uusi tehtävä "Scripts > Maven > Make Maven Targets Derived" ja Project Explorerissa Eclipse Monkey Scripts -kansiosta kyseinen skripti.

Monkey Monkey

Nyt skriptin ajamisen jälkeen Eclipse ei huomioi Target-hakemistoja hakutuloksissa tai resurssia avatessa.

(via Some things to remember)

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ä