Ponarzekałem na EPC2009, czas zatem opowiedzieć o tym czego mi brakowało na spotkaniu. O nowościach w Eclipse Galileo.

Nowości trochę jest. Poza naprawieniem bugów z 3.4 twórcy uszczęśliwilli nas kilkoma dodatkowymi funkcjami w najważniejszym dla nas edytorze, czyli w IDE do Javy oraz kilkoma ciekawymi funkcjonalnościami.

Poprawione zakładki

Każdy powinien znać skróty CTRL+PgDn i CTRL+PgUp. Jeżeli otworzyliśmy wiele plików pozwalały one na przeskakiwanie do następnego/poprzedniego pliku. Niestety jeżeli gdzieś po drodze otworzyliśmy np. pom.xml lub plik html to zamiast do następnego pliku przeskakiwaliśmy do kolejnych zakładek edytora XML. Obecnie poruszanie się po zakładkach wewnątrz edytora zapewniają nam skróty Alt+PgDn/Alt+PgUp. nowe rozwiazanie likwiduje bardzo uciążliwego buga w funkcjonalności.

toString() generator

Drżyjcie logi i konsole oto nadchodzi nowa funkcjonalność dla tych, którzy debuggera po porostu nie lubią. Po zaznaczeniu klasy naciskamy PPM i w zakładce source otrzymaliśmy nową opcję Generate toString(). Bardzo istotną rzecz to możliwość wygenerowania nie tylko spisu pól, ale też metod i nadpisanych metod nadklasy. Poniżej przykład działania.

Listing 1. Klasa z wygenerowanym toString()

package pl.koziolekweb.galileo;

public class GalileoTest {

	private String test1 = "test1";
	
	private Integer test2 = 10;

	public String getTest1() {
		return test1;
	}

	public void setTest1(String test1) {
		this.test1 = test1;
	}

	public Integer getTest2() {
		return test2;
	}

	public void setTest2(Integer test2) {
		this.test2 = test2;
	}

	@Override
	public String toString() {
		return "GalileoTest [test1=" + test1 + ", test2=" + test2
				+ ", getTest1()=" + getTest1() + ", getTest2()=" + getTest2()
				+ ", getClass()=" + getClass() + ", hashCode()=" + hashCode()
				+ ", toString()=" + super.toString() + "]";
	}
	
}

Zaznaczanie obszaru edytora

Zdarza się, że potrzebujemy gdzieś skopiować jakiś fragment kodu. Czy to XMLa, czy to kodu java. Zazwyczaj zaznaczamy żądane linie, a potem po wklejeni ich w miejsce docelowe mozolnie wycinamy kolejne TABy. Szczególnie jest to upierdliwe jeżeli celem jest edytor na blogu i TAB działa jak to w przeglądarce, czyli skacze do kolejnego elementu formularza. W Galileo wystarczy nacisnąć Shift+Alt+A i zaznaczyć obszar, który chcemy skopiować. Zatem koniec z upierdliwym kasowaniem TABów.

Autouzupelnianie razy dwa

Dwie ciekawe funkcjonalności w ramach autouzupełniania kodu. Pierwsza to uzupełnianie konstruktorów. Było już w Gandymade, ale w Galileo naprawdę działa. Druga to wyszukiwanie typu (CTRL+Shift+t) po pierwszych literach elementów CamelCase.

Inszości

Oczywiście to nie wszystko mamy jeszcze dodatkowe możliwości np. pod CTRL+1 jest Quick Rename. Dodano adnotację @inheritDoc do JavaDoc. Są też zmiany w Mylynie.

//edit: dalej to wszystko rozczajam, bo tworcy zapomnieli dodać spisu nowości na stronie…