Dette dokument indeholder beskrivelser af nogle af de mere interessante eller betydelige ændringer, der er foretaget af Java-udviklingsværktøjerne til version 3.2 af Eclipse. De er inddelt i:
Se også dokumentet Nye funktioner til Eclipse Platform i 3.2, der beskriver ændringer af Eclipse-platformen.
Java-refactoring |
|
Refactoring-funktionen Introducér indirekte reference |
Introducér indirekte reference er en ny refactoring-funktion, du kan bruge til at omdirigere alle kaldere af en metode til en ny metode. Den nye metode kalder den oprindelige metode. Du kan eventuelt erstatte standardimplementeringen af den nye metode med en anden. Indirekte reference er nyttig, når der er brug for en ny funktionsmåde for en metode, og:
Brug indirekte reference til rettelser af programfejl i den oprindelige metode eller som en hurtig metode til at tilføje kode før eller efter alle kald af en metode. For at bruge refactoring-funktionen Introducér indirekte reference skal du vælge en metode, vælge Refactor > Introducér indirekte reference... og angive et navn og en erklæringsklasse til den nye metode. Metoden tilføjes til den valgte erklæringsklasse. Alle referencer opdateres, så de kalder den nye metode. |
Refactoring-funktionen Udtræk superklasse |
En ny refactoring-funktion ved navn Udtræk superklasse udtrækker en fælles superklasse fra et sæt sideordnede typer. De valgte sideordnede typer bliver direkte underklasser for den udtrukne superklasse, når refactoring-funktionen er anvendt. Udtræk superklasse giver også mulighed for at bruge den udtrukne superklasse, hvor det er muligt i koden. Det næste billede viser typehierarkiet efter udtrækning af Vælg Refactor > Udtræk superklasse..., hvis du vil starte denne refactoring-funktion. |
Guiden Ryd op |
Ryd op kan startes for et antal Java-kildefiler, pakker eller for et helt Java-projekt. Den hjælper med at:
Her er nogle eksempler:
Du kan overføre Java 1.4-kompatibel kode til 5.0 ved at bruge Ryd op til at:
Vælg et projekt, en pakke eller en fil, og brug Kilde > Ryd op... til at starte guiden. |
Refactoring-historik |
De fleste af refactoring-funktionerne i JDT registreres nu i en Refactoring-historik. Refactoring-infrastrukturen gemmer detaljerede oplysninger om de refactoring-funktioner, der er udført i arbejdsområdet. |
Opret og anvend refactoring-scripts |
Refactoring-funktioner, der er udført i dit lokale arbejdsområde, kan nu eksporteres til et Refactoring-script og afspilles i andre arbejdsområder. Disse refactoring-scripts kan bruge i forskellige situationer, f.eks. automatisk rettelse af API-brudændringer mellem softwarelag eller oprettelse af patch med omfattende semantik. Opret et refactoring-script ud fra refactoring-historikken ved at vælge Refactor > Opret script... Brug Refactor > Anvend script... til at anvende det genererede refactoring-script til et andet arbejdsområde. Et nyt udvidelsespunkt giver plugin-udviklere mulighed for at bidrage med refactoring-scriptfunktioner til nye eller eksisterende refactoring-funktioner.
Der er flere oplysninger under udvidelsespunktet |
Eksportér JAR-fil med refactoring-funktioner |
Når en JAR-fil eksporteres fra arbejdsområdet, giver guiden JAR-eksport mulighed for at inkludere refactoring-oplysninger i JAR-filen. Klienter kan derefter overføre en tidligere version af JAR-filen til en ny ved at bruge refactoring-funktionen Refactor > Overfør JAR-fil.... Hvis der er valgt en JAR-fil, kan du i stedet bruge Byggesti > Overfør JAR-fil.... Denne refactoring-funktion opdaterer automatisk al kode, som afhænger af den tidligere version af JAR-filen, så den bruger den nye version af JAR-filen. |
API-kompatible refactoring-funktioner |
Der er et antal eksisterende refactoring-funktioner, som er udvidet, så de understøttter API-kompatibilitet, ved at de bevarer det oprindelige medlem som delegeret for det medlem, der er udført refactoring af:
Ved at vælge afkrydsningsfeltet Bevar oprindelig metode som delegeret i refactoring-dialogboksen kan du få genereret et delegeret medlem og dermed bevare API-kompatibiliteten. |
Omdøb type opdaterer elementer med lignende navne |
Refactoring-funktionen Omdøb type kan nu omdøbe variabler og metoder, som har et navn, der ligner den omdøbte types. Funktionen gør det muligt at bevare synkroniseringen mellem typenavne og metode- og variabelnavne. Du kan starte refactoring-funktionen ved at vælge en type og bruge Refactor > Omdøb... |
Refactoring-funktionen Omdøb pakke omdøber underpakker |
Refactoring-funktionen Omdøb pakke kan nu også omdøbe underpakker, hvis du ønsker det. I dette eksempel omdøbes Du kan starte refactoring-funktionen ved at vælge en pakke og bruge Refactor > Omdøb... |
Filtrér refactoring-resultat |
Du kan nu filtrere ændringer på siden med refactoring-resultater. Det er især nyttigt, når tekstmatcher i kommentarer og strenge opdateres samtidig med omdøbning af Java-elementer. Skærmbilledet viser filtrerede tekstmatcher i dialogboksen Omdøb under omdøbning af klassen Du kan nu også filtrere ud fra Java-elementers synlighed. |
Java-editor |
|
Tilpas indholdsassistance |
Hvis indholdsassistance aktiveres flere gange (Ctrl+Mellemrum på de fleste platforme), skiftes nu mellem forskellige forslagskategorier. Du kan tildele særlige tastgenveje til foretrukne forslagskategorier og bruge indstillingssiden
Det nye udvidelsespunkt, |
Camel case understøttes i kodeudførelse |
Kodeudførelse understøtter nu camel case-mønstre.
F.eks. vil kodeudførelse for NPE foreslå NullPointerException. Du kan deaktivere understøttelsen via indstillingen Vis camel case-matcher på indstillingssiden
|
Hurtig menu til at omgive kode |
Den nye hurtige menu, Omgiv med, gør det muligt at omgive valgte linjer med kode. Menuen kan udvides med tilpassede skabeloner. Skabelonerne kender nu til variabler, der skal trækkes ud eller fastlægges. Brug Kilde > Omgiv med eller tryk på Alt+Skift+Z for at få vist menuen direkte. Du kan tilføje egne tilpassede skabeloner til indstillingssiden Java > Editor >
Skabeloner. Det eneste krav til skabelonen er variablen |
Nye hurtige rettelser |
Der er tilføjet flere nye hurtige rettelser, f.eks.:
|
Kategoriunderstøttelse |
Vha. koden Kategorier bruges i oversigterne Struktur og Medlemmer og i Hurtig struktur. De synlige kategorier kan vælges på menuen Vis. |
Alle medlemmer kan foldes |
Når foldning er aktiveret, kan felter, initialiseringer og deres kommentarer nu foldes væk på samme måde som metoder. Der er nye tekstfoldningsmetoder til at skjule alle kommentarer og medlemmer og nulstille foldningsstrukturen. Kommandoerne findes på kontekstmenuen Foldning på den lodrette lineal i Java-editoren. |
Struktur for Java-filer uden for arbejdsområdet og lodret lineal |
I Java-editoren vises nu lodrette linealer, og både siden Struktur og Hurtig struktur kan vise strukturen for eksterne Java-filer og Java-filer fra opbevaringssteder. |
Java-compiler
|
|
Java SE 6.0-overholdelse |
Java SE 6.0 understøttes nu fuldt ud.
Mere specifikt genereres nu |
Analyse af NULL-reference |
Java-compileren kan nu udføre grundlæggende analyse af NULL-referencer for lokale variabler. Analysen, der er valgfri, kan aktiveres på indstillingssiden
Bemærk, at analysen er ret forsigtig, da den er baseret på bestemte erklæringsregler. Den behandler kun tilfælde med mistænkeligt indhold (f.eks. hvis der senere udføres kontrol af en NULL-værdi) i stedet for at advare om alle tilfældene. I 5.0-overholdelsestilstand kan advarsler om NULL-referencer undertrykkes vha. |
Forbedret genoprettelse efter syntaksfejl |
Den interne Java-parser er nu langt mere tolerant over for syntaksfejl. I Eclipse 3.1 ville en syntaksfejl forhindre efterfølgende fejl i at blive vist. Parseren kan nu overleve sætninger med fejl og fortsætte analysen. I følgende eksempel registreres den ugyldige reference til metoden Det gør f.eks. refactoring-funktioner, som kun vedrører en enkelt fil, i stand til at tolerere syntaksfejl. For eksempel er det nu muligt at omdøbe eller udtrække en lokal variabel i starten af en metode, der endnu ikke er færdigskrevet. |
Håndtér ikke konfigurationsrelaterede fejl som uoprettelige fejl |
Indstillingen Håndtér konfigurationsrelaterede fejl som uoprettelige fejl på indstillingssiden
Hvis indstillingen deaktiveres, kan den kompilerede kode udføres på trods af fejl i koden. |
Registrering af unødvendige $NON-NLS$-koder |
Unødvendige Rapporteringen kan aktiveres og deaktiveres via samme indstilling som til registrering af ikke-eksternaliserede strenge. Den kan indstilles på indstillingssiden
Du kan fjerne alle unødvendige koder i en kompileringsenhed vha. Hurtig rettelse (Ctrl+1) eller Ctrl+1, Ctrl+Enter. |
Registrering af brug af ubehandlede typer |
Brugen af ubehandlede typer (raw) registreres nu. En ubehandlet type er en reference til en generisk type uden noget typeargument (f.eks. Analysen, der er valgfri, kan aktiveres uafhængigt af Ikke-kontrolleret generisk typefunktion på indstillingssiden
Du kan undertrykke advarslen ved at tilføje Der er også implementeret en Hurtig rettelse til løsning af problemet med anvendelse af ubehandlede typer. |
Registrering af metodeparametertildelinger |
Tildeling til metodeparametre betragtes som en uhensigtsmæssig fremgangsmåde. Du kan få registreret og rapporteret sådanne tildelinger ved at åbne indstillingssiden
|
Registrering af brug af ubrugte etiketter |
Java-compileren registrerer nu ubrugte sætningsetiketter. Analysen, der er valgfri, kan aktiveres på indstillingssiden
|
Registrering af fallthrough for switch-case |
Java-compileren kan nu registrere, om der gås ind i en case efter gennemløb af den foregående case (fallthrough). Tomme case-udtryk er tilladt. Analysen, der er valgfri, kan aktiveres på indstillingssiden
Der er implementeret en Hurtig rettelse, der tilføjer en |
Forbedret ydeevne for store JAR-filer |
Den maksimale størrelse på den interne Java-modelcache indgår nu i den maksimale hobstørrelse (VM-argumentet -Xmx i de fleste JVM'er), der angives for den Java Virtual Machine, som kører Eclipse IDE. Forøgelse af hobstørrelsen giver en mærkbar forbedring af ydeevnen, når der er store JAR-filer i bygge-classpath. |
Opret ændrede .class-filer igen |
Java-byggeprogrammet kan nu oprette ændrede eller fjernede .class-filer i outputfolderen igen ud fra den oprindelige kilde. Det kan styres på indstillingssiden
|
Javadoc-oversigt og værktøjstip fra tilknyttet Javadoc |
Javadoc-oversigten og Javadoc-pegefunktioner henter nu oplysninger fra den tilknyttede Javadoc for biblioteker, som ikke har en tilknyttet kilde. |
JUnit-værktøjer |
|
JUnit 4-understøttelse |
JUnit-understøttelsen er opdateret, så JUnit 4-test kan udføres og skrives. Der er flere oplysninger om JUnit 4 på www.junit.org.
|
Historik for JUnit-oversigt |
Oversigten JUnit kan nu håndtere flere samtidige testkørsler. Du kan skifte mellem de aktive og de seneste testkørsler vha. den nye historik. Du kan gentage test fra historikken uden at stoppe igangværende test. Det fungerer både til JUnit 3 og JUnit 4. |
Java-fejlfindingsfunktion |
|
Udførelsesmiljøer |
Et udførelsesmiljø beskriver faciliteterne i en runtime, f.eks. J2SE-1.4. Ved at referere til et udførelsesmiljø kan du angive JRE'er, der bruges til udførelse, fejlfinding og bygning.
Den nye indstillingsside,
En byggesti eller en startkonfiguration, der refererer til et udførelsesmiljø, er mere platformuafhængig end en, der referere til en bestemt JRE, da en JRE's udførelsesmiljø kan opløses uafhængigt at navnet. Brug skillebladet JRE eller guiden Redigér bibliotek til at angive et udførelsesmiljø til udførelse og bygning. |
Startvariabel til systemegenskaber |
En ny startvariabel gør det muligt at angive systemegenskaber som Java-program- og VM-argumenter fra Eclipse-runtime. Variablen kan modtage et enkelt argument, som er navnet på den systemegenskab, der skal opløses på starttidspunktet. Systemegenskaben java.home kan f.eks. angives som ${system_property:java.home}. |
Evalueringsunderstøttelse for arrays |
Evaluering og indholdsassistance understøttes nu for Java-arrays. Brug |
Java-programdelsgrupper |
Du kan nu få vist programdelsgrupper i oversigten Fejlfinding ved at aktivere Vis programdelsgrupper på menuen Vis. |
Eksporterede indgange i runtime-classpath |
En runtime-classpath kan konfigureres, så den kun inkluderer eksporterede indgange fra byggestien. Standardværdien er, at en runtime-classpath inkluderer alle indgange (eksporterede såvel som ikke-eksporterede). Vælg standardindgangen på skillebladet Classpath, og brug knappen Redigér... til at konfigurere indstillingen. |
Afbryd programdel midlertidigt eller Afbryd VM midlertidigt |
Der er tilføjet en indstilling til indstillingssiden
|
Diverse |
|
Java-typeindikator |
Du kan aktivere Java-typeindikator på indstillingssiden
|
Find brudte eksternaliserede strenge |
En ny funktion kan bruges til at søge efter brudte eksternaliserede strenge. Søgningen rapporterer manglende, ubrugte og sammenfaldende nøgler. Vælg en egenskabsfil, en pakke eller et helt projekt, og brug Kilde > Find brudte eksternaliserede strenge til at starte søgningen. |
Forbedret understøttelse af strengeksternaliseringsfunktionen i Eclipse |
Funktionen i Eclipse til eksternalisering af strenge har nu samme slags understøttelse som traditionel strengeksternalisering. Den tilknyttede eksternaliserede værdi vises som pop op-tekst, når du placerer markøren på en nøgle til en eksternaliseret streng i Java-editoren. Ctrl+Klik på nøglen for at gå direkte til indgangen i den tilhørende egenskabsfil. I egenskabsfileditoren kan du bruge Ctrl+Klik til at finde ud af, hvor nøglen bruges i koden. |
Opret en type fra et eksempelkodestykke |
Du kan klistre et kodestykke med en Java-type direkte ind i en pakke eller en kildefolder for at oprette en ny kompileringsenhed.
Du kan f.eks. vælge og kopiere følgende kildekode package pack; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }vælge en kildefolder i Package Explorer og bruge Ctrl+V (eller Redigér > Klistre). Pakken 'pack' og filen 'HelloWorld.java' oprettes automatisk med det kopierede indhold. |
Generér hashCode() og equals() |
En ny funktion kan bruges til at generere metoderne Du kan starte funktionen ved at vælge en type og bruge Kilde > Generér hashCode() og equals()... |
Kodeformatering fra kommandolinje |
Det er nu muligt at formatere kildekode uden at starte Eclipse-brugergrænsefladen ved at bruge det nye hovedløse formateringsprogram. Det kommandolinjebaserede formateringsprogram fungerer som et Eclipse-standardprogram. Følgende kommando vil formatere kildefilerne i folderen src med de indstillinger, der er angivet i filen config.prefs: Der er flere oplysninger i Brug af formateringsprogrammet. |
Understøttelse af Java-lignende udvidelser |
Nu understøttes filer med en anden filtype end .java, som indeholder ren Java-kode. Du kan tilføje en Java-lignende udvidelse på indstillingssiden
|