Her finner du opplysninger om interessante og viktige endringer som er gjort i Java-utviklingsverktøyene i 3.2-utgaven av Eclipse. De er delt inn i følgende grupper:
Du finner mer informasjon om endringer i plattformen i dokumentet Eclipse-plattformen - Nyheter i 3.2.
Java-refaktorisering |
|
Refaktoriseringen Innfør indireksjon |
Innfør indireksjon er en ny refaktorisering som lar deg dirigere alle kallere av en metode til en ny metode. Den nye metoden kaller den opprinnelige metoden. Du kan erstatte standardimplemeneringen av den nye metoden med en hvilken som helst annen, hvis du ønsker det. En slik indireksjon er nyttig når ny virkemåte må innføres i en metode, men:
Bruk indireksjonen for feilrettelser av den opprinnelige metoden eller som en rask metode for å legge til kode før eller etter alle kall til en metode. Du utfører refaktoriseringen Innfør indireksjon ved å velge en metode, velge Refaktoriser > Innfør indireksjon..., oppgi et navn og deklarerende klasse for den nye metoden. Metoden blir lagt til den valgte deklarerende klassen. Alle referanser er oppdatert for å kalle den nye metoden. |
Refaktoriseringen Trekk ut superklasse |
En ny refaktorisering, Trekk ut superklasse trekker ut en felles superklasse fra et sett med sideordnede typer. De valgte sideordnede typene blir direkte subklasser til den uttrukkede superklassen etter at refaktoriseringen tas i bruk. Trekk ut superklasse gjør deg også mulig å bruke den uttrukkede superklassen overalt i koden der det er mulig. Det neste bildet viser typehierarkiet etter uttrekking av Du aktiverer denne refaktoriseringen Refaktoriser > Trekk ut superklsase.... |
Oppryddingsveiviseren |
Rydd opp kan aktiveres for en eller flere Java-kildefiler, pakker eller et helt Java-prosjekt. Med denne funksjonen kan du:
Her er noen eksempler på hva som kan gjøres:
For å oppdatere Java 1.4-kompatibel kode til 5.0, bruker du Rydd opp for å:
Velg prosjekt, pakke eller fil, og bruk Kilde > Rydd opp... for å starte denne veiviseren. |
Refaktoriseringshistorikk |
De fleste av refaktoriseringene som tilbys av JDT, spores
nå i refaktoriseringshistorikken. Refaktoriseringsinfrastrukturen lagrer detaljert
informasjon om refaktoriseringer som er utført på arbeidsområdet. |
Opprette og bruke refaktoriseringsskript |
Refaktoriseringer som er utført på ditt lokale arbeidsområde, kan nå eksporteres til et refaktoriseringsskript og utføres på et hvilket som helst arbeidsområde. Slike refaktoriseringsskript kan brukes i forskjellige scenarioer, for eksempel automatisk fiksing av API-endringer mellom programvarelag, eller for å lage rettelser med semantikk på høyere nivå. Opprett et refaktoriseringsskript fra refaktoriseringshistorikken med Refaktoriser > Opprett skript... Du tar i bruk det genererte refaktoriseringsskriptet på et arbeidsområde ved å bruke Refaktoriser > Bruk skript... Et nytt utvidelsespunkt gjør at forfattere av plugin-moduler kan legge inn
støtte for refaktorseringsskripting for nye eller allerede eksisterende
refaktoriseringer.
Du finner nærmere opplysninger under utvidelsespunktet
|
JAR-fileksport med refaktoriseringer |
Når du eksporterer en JAR-fil fra arbeidsområdet, gir
veiviseren JAR-eksport deg muligheten til å inkludere refaktoriseringsinformasjon i
JAR-filen. Deretter kan klienter migrere en eldre versjon av JAR-filen til en ny versjon ved hjelp av Refaktoriser > Migrer JAR-fil. Eventuelt kan du også bruke Byggebane > Migrer JAR-fil... hvis en JAR-fil er valgt. Denne refaktoriseringen oppdaterer automatisk all kode som er avhengig av den gamle versjonen av JAR-filen, til å bruke den nye versjonen av JAR-filen. |
API-refaktoriseringer |
Flere eksisterende refaktoriseringer er utvidet til å støtte API-kompatibilitet, ved å beholde det opprinnelige medlemmet som delegat for det refaktoriserte medlemmet:
Genereringen av et delegatmedlem for å bevare API-kompatibilitet kan aktiveres ved å merke av Behold opprinnelig metode som delegat for metode med endret navn i refaktoriseringsdialogboksen. |
Endre navn på type oppdaterer elementer med liknende navn |
Refaktoriseringen Endre navn på type kan nå endre navn på variabler og metoder med navn som likner på type som har fått endret navn. Denne funksjonen hjelper til med å synkronisere metode- og variabelnavn med typenavn. Du aktiverer denne refaktoriseringen ved å velge en type og bruke Refaktoiser > Endre navn... |
Refaktoriseringen Endre navn på pakker endrer navn på underpakker |
Refaktoriseringen Endre navn på pakke endrer nå også navnet på delpakker på forespørsel. I dette eksempelet endres navnet Du aktiverer denne refaktoriseringen ved å velge en pakke og bruke Refaktoriser > Endre navn... |
Filtrer forhåndsvisningen av refaktoriseringen |
Forhåndsvisningssiden for refaktorisering støtter nå filtrering av endringer. Dette er spesielt nyttig når oppdatering av tekstsamsvar i kommentarer og strenger er nødvendig i forbindelse med endring av navn på Java-elementer. Skjermbildet viser dialogboksen filtrert for tekstsamsvar, ved endring av
klassen Nå kan du også filtrere endringer relatert til Java-elementenes synlighet. |
Java-redigeringsprogram |
|
Innholdshjelp som kan tilpasses |
Hvis du aktiverer innholdshjelp flere ganger (Ctrl+mellomrom på de fleste plattformer), går systemet gjennom ulike forslagskategorier. Du kan tilordne forskjellige hurtigtaster til dine mest brukte
forslagskategorier og bruke
preferansesiden
Med det nye
utvidelsespunktet |
Støtte for CamelCase i kodefullføring |
Kodefullføring støtter nå CamelCase-mønstre.
Fullføring på NPE vil for eksempel foreslå NullPointerException.
Du kan deaktivere denne støtten ved hjelp av preferansen Vis CamelCase-samsvar på preferansesiden
|
Hurtigmeny for å omgi kode |
Med den nye Omgi med-hurtigmenyen kan du omgi et utvalg linjer med kode. Menyen kan utvides med tilpassede maler. Malene er nå oppmerksomme på variabler som må trekkes ut eller gjøres endelige. Velg Kilde > Omgi med eller trykk på Alt+skift+Z for å få frem menyen. Nå kan du legge til tilpassede maler på preferansesiden Java >
Redigeringsprogram > Maler. Alt malene trenger er variabelen |
Nye hurtigrettelser |
Det er lagt til flere nye hurtigrettelser, for eksempel:
|
Kategoristøtte |
Kategorier kan defineres i Javadoc-kommentarer for
typer, metoder og felt ved hjelp av koden Kategorier blir vist i visningene Disposisjon og Medlemmer, og i hurtigdisposisjonen. Ved hjelp av Vis-menyen kan du velge hvilke kategorier som skal være synlige. |
Alle medlemmer kan komprimeres |
Når komprimering er aktivert, kan felt, initialiserere og deres kommentarer nå komprimeres på samme måte som metoder. Det er nye kommandoer for å komprimere alle kommentarer, medlemmer, og for å tilbakestille komprimeringsstrukturen. Disse kommandoen finnes på Java-redigeringsprogrammets Komprimering-hurtigmeny på den loddrette linjalen. |
Støtte for linjal og disposisjon for Java-filer utenfor arbeidsområdet |
Java-redigeringsprogrammet viser nå loddrette linjaler, og disposisjonssiden og hurtigdisposisjonen kan nå vise disposisjoner for eksterne Java-filer og Java-filer fra datalagre. |
Java-kompilator |
|
Java SE 6.0-samsvar |
Java SE 6.0-samsvar støttes nå fullt ut. |
Nullreferanseanalyse |
Java-kompilatoren kan nå utføre grunnleggende nullreferanseanalyse for lokale variabler. Denne valgfrie feilsøkingen kan aktiveres på preferansesiden
Merk at analysen er temmelig konservativ, og gjør bruk av definitive tilordningsregler. Den vurderer bare tilfeller der det er noe mistenkelig (hvis det senere f.eks. blir utført en nullkontroll) i stedet for å rapportere om alle mulige tilfeller. I 5.0-samsvarsmodus, kan nullreferanseadvarsler undertrykkes med |
Forbedret syntaksgjenoppretting |
Den interne Java-analysatoren er nå langt mer motstandsdyktig mot syntaksfeil. I Eclipse 3.1 forhindret en syntaksfeil at etterfølgende feil ble vist. Analysatoren kan nå gjenopprette fra setninger med feil, og fortsette med ytterligere analyser. I det følgende eksempelet oppdages den ugyldige referansen til metoden Dette tillater for eksempel at refaktoriseringer som bare påvirker en enkelt fil, kan tolerere syntaksfeil. Nå er det for eksempel mulig å endre navn på eller trekke ut en lokal variabel øverst i en metode som ennå ikke er ferdigskrevet. |
Behandle konfigurerbare feil som ikke-alvorlige |
Alternativet Behandle konfigurerbare feil som alvorlige
feil på preferansesiden
Hvis dette alternativet er deaktivert, kan den kompilerte koden utføres til tross for det faktum at det finnes feil i koden. |
Oppdaging av unødvendige $NON-NLS$-koder |
Unødvendige Rapporteringen kan slås av og på med samme innstilling som for oppdaging av
ikke-eksternaliserte strenger. Dette gjøres på preferansesiden
Du fjerner de unødvendige kodene med Hurtigrettelse (Ctrl+1), eller Ctrl+1, Ctrl+Enter for å fjerne alle unødvendige koder i en kompileringsenhet. |
Oppdaging av bruk av ubehandlet type |
Bruk av ubehandlede typer blir nå oppdaget. En ubehandlet
type er en referanse til en generisk type, uten noe typeargument (f.eks.
Denne valgfrie feilsøkingen kan aktiveres uavhengig av usjekkede
typeoperasjoner på preferansesiden
Denne advarselen kan undertrykkes ved å legge til Det er også implementert en hurtigrettelse for å løse problemet med bruk av ubehandlede typer. |
Oppdaging av metodeparametertilordninger |
Tilordning til metodeparametere anses som dårlig praksis. For å oppdage og rapportere slike tilordninger åpner du preferansesiden
|
Oppdaging av ubrukte etiketter |
Java-kompilatoren oppdager nå ubrukte setningsetiketter. Denne valgfrie feilsøkingen kan aktiveres på preferansesiden
|
Oppdaging av switch case-gjennomfall (fall-through) |
Java-kompilatoren kan nå oppdage om en case kan være nådd ved fall gjennom (fall-through) forrige case. Tomme switch case er tillatt. Denne valgfrie feilsøkingen kan aktiveres på preferansesiden
Det er implementert en hurtigrettelse for å legge til en
|
Forbedret ytelse for store .jar-filer |
Størrelsesgrensen for den interne Java-modell-hurtigbufferen er nå en funksjon av maksimal størrelse på minneområdet (-Xmx VM-argument på de fleste JVMer) gitt til JVM-maskinen (Java Virtual Machine) som kjører Eclipse IDE. Heving av minneområdet gir merkbar ytelsesforbedring når det er store .jar-filer i klassebanen for bygging. |
Gjenopprette endrede .class-filer |
Java Builder kan nå gjenopprette endrede eller fjernede .class-filer i utdatamappen ved hjelp av originalkilden. Dette kan styres på preferansesiden
|
Javadoc-visning og verktøytips fra tilknyttet Javadoc |
Javadoc-visningen og Javadoc-pekehjelpen trekker nå ut informasjon fra tilknyttet Javadoc for biblioteker som ikke har kilde tilknyttet. |
JUnit Tooling |
|
JUnit 4-støtte |
JUnit-støtten er oppdatert til å kjøre og skrive JUnit 4-tester. Du finner mer informasjon om JUnit 4 på www.junit.org.
|
JUnit-visningshistorikk |
JUnit-visningen kan nå håndtere flere samtidige testkjøringer. Du kan veksle mellom aktive og tidligere testkjøringer ved hjelp av den nye historikken. Tester kan kjøres på nytt fra historikken uten at du stopper tester som allerede kjøres. Dette fungerer med både JUnit 3 og JUnit 4. |
Java-feilsøker |
|
Utføringsmiljøer |
Et utføringsmiljø beskriver funksjonaliteten til et
kjøremiljø - for eksempel J2SE 1.4. Du kan angi hvilke JREer som brukes for kjøring,
feilsøking og bygging, basert på henvisning til et utføringsmiljø.
Den nye preferansesiden
En byggebane eller oppstartskonfigurasjon som refererer til et utføringsmiljø, er mer portabel enn en som refererer til en eksplisitt JRE, siden utføringsmiljøet til en JRE kan tolkes uavhengig av navnet. Bruk flippen JRE eller veiviseren Rediger bibliotek til å angi et utføringsmiljø for kjøring og bygging. |
Systemegenskap for oppstartsvariabel |
En ny oppstartsvariabel gjør det mulig å dynamisk angi systemegenskaper som Java-program- og VM-argumenter fra Eclipse-kjøretiden. Variabelen godtar et enkelt argument som er navnet på systemegenskapen som skal tolkes ved oppstart. Systemegenskapen java.home blir for eksempel referert til med ${system_property:java.home}. |
Evalueringsstøtte for matriser |
Evaluering og innholdshjelp støttes nå for
Java-matriser. Bruk |
Java-trådgrupper |
Nå kan du vise trådgrupper i feilsøkingsvisningen ved å aktivere/deaktivere Vis trådgrupper på Vis-menyen. |
Kjøretidsklassebane med eksporterte forekomster |
Det kan konfigureres en kjøretidsklassebane for å inkludere bare eksporterte forekomster fra byggebanen. Som standard omfatter en kjøretidsklassebane alle forekomster (eksporterte og ikke-eksporterte). Fra flippen Klassebane velger du standardoppføringen og bruker knappen Rediger... for å konfigurere alternativet. |
Deaktiver tråd / Deaktiver VM |
Det er lagt til et nytt alternativ på preferansesiden
|
Diverse |
|
Java-typeindikator |
Aktiver Java-typeindikator på preferansesiden
|
Søk etter brutte eksternaliserte strenger |
En ny handling kan søke etter brutte eksternaliserte strenger. Søket rapporterer manglende, ubrukte og dupliserte nøkler. Du starter søket ved å velge en egenskapsfil, en pakke eller et helt prosjekt, og velger Kilde > Søk etter brutte eksternaliserte strenger |
Forbedret støtte for Eclipses strengeksternaliseringsmekanisme |
Strengeksternaliseringsmekanismen i Eclipse har nå samme støtte som tradisjonell strengeksternalisering. Den tilknyttede eksternaliserte verdien vises i en pekehjelp, når du holder musepekeren over en eksternalisert streng i Java-redigeringsprogrammet. Hold Ctrl-tasten nede og klikk på den for å navigere direkte til oppføringen i tilsvarende egenskapsfil. I egenskapsfilens redigeringsprogram kan du holde Ctrl-tasten nede og klikke for å finne ut hvor den brukes i koden. |
Opprette en type fra en eksempelsnutt |
Du kan lime inn en kodesnutt som inneholder en Java-type direkte i en
pakke eller kildemappe for å opprette en ny kompileringsenhet.
Du kan for eksempel velge og kopiere denne kildekoden: package pack; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }Deretter velger du en kildemappe i Pakkeutforsker og bruker Ctrl+V (Rediger > Lim inn). Dette oppretter automatisk en ny pakke 'pack' og fil 'HelloWorld.java' med det kopierte innholdet. |
Generere hashCode() og equals() |
En ny handling kan brukes for å generere metodene
Du aktiverer denne handlingen ved å velge en type og bruke Kilde > Generer hashCode() og equals()... |
Kommandolinje-kodeformaterer |
Nå er det mulig å formatere kildekode uten å starte Eclipse UI med den nye formateringsapplikasjonen med kommandogrensesnitt. Kommandolinjeformatereren fungerer som en standard Eclipse-applikasjon. Følgende kommando formaterer kildefilene i mappen src med alternativene som er oppgitt i filen config.prefs file: Du finner mer informasjon under Bruke formateringsprogrammet. |
Støtte for Java-liknende filtyper |
Filer som har en annen filtype enn .java
og som inneholder ren Java-kode, støttes nå. Du kan legge til en Java-liknende
filtype ved hjelp av preferansesiden
|