Här beskrivs en del av de mer intressanta och viktiga ändringar av Java-utvecklingsverktygen för Eclipse version 3.2. De är följande:
Se även dokumentet Nyheter i Eclipse-plattform 3.2 för ändringar i plattformen.
Java-omfaktorisering |
|
Introducera indirigering, omfaktorisering |
Introducera indirigering är en ny omfaktorisering med vilken du kan omdirigera alla anropare av en metod till en ny metod. Den nya metoden anropar den ursprungliga. Om du vill kan du ersätta standardimplementationen av den nya metoden med en annan. En sådan indirigering är praktisk när ny funktionalitet behöver introduceras för en metod men:
Du kan använda indirigeringen för att rätta fel eller som ett snabbt sätt att lägga till kod före eller efter alla anrop till en metod. Du kör omfaktoriseringen Introducera indirigering genom att välja en metod, anropa Omfaktorisera > Introducera indirigering... och ange namn och deklarationsklass för den nya metoden. Metoden läggs till den markerade deklarationsklassen. Alla referenser uppdateras att anropa den nya metoden. |
Extrahera superklass, omfaktoriseringar |
En ny omfaktorisering som heter Extrahera superklass extraherar en vanlig superklass från en uppsättning syskontyper. Den markerade syskontypen blir direkt underordnad klass till den extraherade överordnade klassen efter omfaktoriseringen. Dessutom tillåter Extrahera superklass att du alltid kan använda extraherade superklasser i koden när så är möjligt. Nästa bild visar typhierarkin efter extraheringen av Du anropar den här omfaktoriseringen med Omfaktorisering > Extrahera superklass.... |
Guiden Rensa |
Rensa kan anropas från hur många Java-filer och paket som helst, och från ett helt Java-projekt. Den hjälper till med att:
Exempel på vad som kan göras:
Så här får du Java 1.4-kompatibel kod för 5.0 att använda Rensa för att:
Markera ett projekt, ett paket eller en fil och starta guiden med Källa > Rensa.... |
Omfaktoriseringshistorik |
JDT:s flesta omfaktoriseringar spåras nu i en Omfaktoriseringshistorik. Omfaktoriseringsinfrastrukturen
sparar nu detaljerad information om omfaktoriseringar som har utförts på arbetsytan. |
Skapa och använda omfaktoriseringsskript |
Omfaktoriseringar som utförs på din lokala arbetsyta kan exporteras till Omfaktoriseringsskript och spelas upp på en valfri arbetsyta. Sådana omfaktoriseringsskript kan användas i olika scenarier, som automatisk rättning av brytande API-ändringar mellan programvarulager, eller för att tillhandahålla rättningar med omfattande semantik. Du skapar ett omfaktoriseringsskript från omfaktoriseringshistoriken med Omfaktorisering > Skapa skript... Du använder det genererade omfaktoriseringsskriptet på en valfri arbetsytan med Omfaktorisering > Tillämpa skript... En ny utökningspunkt gör att de som skriver insticksprogram kan bidra med stöd för omfaktoriseringsskript för
nya eller redan befintliga omfaktoriseringar.
Se utökningspunkt |
Exportera JAR-fil med omfaktorisering |
Guiden för export av JAR-filer har en funktion som infogar omfaktoriseringsinformation i JAR-filen. Klienter kan sedan migrera en äldre version av JAR-filen till en nyare med omfaktoriseringen Omfaktorisering > Migrera JAR-fil.... Är en JAR-fil redan vald, kan du använda Byggsökväg > Migrera JAR-fil.... Omfaktoriseringen uppdaterar automatiskt all kod som är beroende av den äldre versionen och som ska användas i den nyare. |
API-medvetna omfaktoriseringar |
Det finns ett antal befintliga omfaktoriseringar som har utökats att stödja API-kompatibilitet, genom att den ursprungliga medlemmen behålls som en delegat till omfaktoriseringsmedlemmen.
Du aktiverar generering av en delegatmedlem att bibehålla API-kompatibilitet genom att markera kryssrutan Behåll den ursprungliga metoden som delegat till den namnändrade metoden i omfaktoriseringsdialogrutan. |
Ändra namn på typ uppdaterar element med samma namn |
Omfaktoriseringen Ända namn på typ kan nu ändra namn på variabler och metoder med samma namn som den namnändrade typen. Funktionen ser till att namn på metoder och variabler fortsätter att vara synkroniserade med typnamn. Du anropar den här omfaktoriseringen genom att välja en typ och använda Omfaktorisering > Ändra namn... |
Ändra namn på paket, omfaktorisering som ändrar namn på underpaket |
Omfaktoriseringen Ändra namn på paket kan nu också ändra namn på underpaket. I följande exempel har Du anropar den här omfaktoriseringen genom att välja ett paket och använda Omfaktorisering > Ändra namn... |
Förhandsgranska filtrerad omfaktorisering |
Omfaktoriseringens förhandsgranskningssida kan nu visa filtrerade ändringar. Detta är särskilt hjälpfullt när uppdatering av textmatchningar i kommentarer och strängar behövs när Java-elements namn ändras. Skärmbilden visar dialogrutan för namnändring filtrerad för textmatchningar
vid namnändring av klassen Ändringar som gäller Java-elements synlighet kan nu också filtreras. |
Java-redigerare
|
|
Anpassningsbar innehållshjälp |
Anropar upprepade gånger innehållshjälpens (Ctrl+Blanktecken på de flesta plattformar) cykler via olika förslagskategorier. Du kan tilldela särskilda kortkommandon till de förslagskategorier du föredrar på sidan
Den nya utökningspunkten |
Puckelordsstöd i kodkomplettering |
Kodkomplettering stöder nu puckelordsmönster. Komplettering av NPE föreslår t.ex. NullPointerException.
Funktionen kan avaktiveras med alternativet Visa matchningar med versaler i sammansatta ord (Camel Case) på sidan
|
Snabbmeny för omgivande kod |
Den nya snabbmenyn Omge med gör att ett urval rader omges med kod. Menyn går att utöka med anpassade mallar. Mallarna beaktar nu variabler som behöver dras ut eller slutföras. Använd Källa > Omge med eller tryck på Alt+Skift+Z för att direkt öppna menyn. Du kan lägga till anpassade mallar på sidan Java > Redigerare >
Mallar. Alla mallarna behöver en |
Nya snabbrättningar |
Flera nya snabbrättningar har lagts till, t.ex. för att:
|
Kategoristöd |
Kategorier kan definieras i Javadoc-kommentarer för typer, metoder och fält med märkordet Kategorierna visas i vyerna Disposition och Medlemmar samt i Snabbdisposition. De synliga kategorierna kan väljas i vymenyn. |
Alla medlemmar kan be komprimeras |
När komprimering är aktiv, kan fält, initierare och deras kommentarer att komprimeras på samma sätt som metoder. Det finns nya textkomprimeringskommandon för komprimering av alla kommentarer, komprimering av alla medlemmar och återställning av komprimeringsstrukturen. Kommandona finns i Java-redigerarens kontextmeny för Komprimering på den vertikala linjalen. |
Linjalstöd och disposition för Java-filer utanför arbetsytan |
Java-redigeraren visar nu vertikala linjaler, och dispositionssidan liksom snabbdispositionen kan nu visa dispositionen för externa Java-filer och Java-filer från lager. |
Java-kompilator |
|
Java SE 6.0-kompatibilitet |
Nu är Java SE 6.0-kompatibiliteten fullständig
Särskilt |
Nullreferensanalys |
Java-kompilatorn kan nu utföra grundläggande nullreferensanalys för lokala variabler. Denna frivilliga diagnos aktiveras på sidan
Observera att analysen är rätt försiktig och justerad på bestämda tilldelningsregler. Den beaktar bara fall där det finns något misstänkt (t.ex. om en nullkontroll senare utförs) snarare än klagar över alla möjliga fall. I 5.0-kompatibilitetsläge, kan nullreferensvarningar tystas med |
Förbättrad syntaxåterhämtning |
Den interna Java-analyseraren kan nu mycket bättre återhämta sig efter syntaxfel. I Eclipse 3.1 skulle ett syntaxfel förhindra att följande fel visades. Nu kan analyseraren återhämta från satser med fel och fortsätta att göra fler analyser. I följande exempel upptäcks den ogiltiga referenser till metoden Det gör att t.ex. omfaktoriseringar som bara påverkar en enskild fil tolererar syntaxfel. Det är nu t.ex. möjligt att ändra namn på eller extrahera en lokal variabel överst i en metod som ännu inte har skrivits färdigt. |
Behandla konfigurerbara fel som ej allvarliga |
Alternativet Behandla konfigurerbara fel som allvarliga fel på sidan
Om alternativet är avaktiverat, kan den kompilerade koden köras trots att det finns fel i koden. |
Identifiering av onödiga $NON-NLS$-märkord |
Onödiga Rapporteringen kan aktiveras/avaktiveras med samma inställning som den för identifiering av
strängar som inte är externaliserade. Den kan anges på sidan
Du kan ta bort onödiga märkord i en kompileringsenhet med Snabbrättning (Ctrl+1), eller Ctrl+1, Ctrl+Enter. |
Identifiering av användning av råa typer |
Användningen av råa typer upptäcks nu. En rå typ är en referens till
en genererad typ utan något typargument (t.ex. Denna frivilliga diagnos aktiveras oberoende av avmarkerade typoperationer på sidan
Varningen kan tystas genom att En snabbrättning kan också implementeras för att hjälpa till att lösa problemet med användning av rå typ. |
Identifiering av metodparametertilldelningar |
Tilldelning till metodparametrar anses inte vara bra. Du ser till att sådana tilldelningar identifieras och rapporteras på sidan
|
Identifiering av oanvända etiketter |
Java-kompilatorn kan nu upptäcka oanvända satsetiketter. Denna frivilliga diagnos aktiveras på sidan
|
Identifiering av "switch case" (typomvandlingar) som inte fångar upp |
Java-kompilatorn kan nu upptäcka om ett fall kan anges genom kopiering av föregående "case". Tomma "case" är tillåtna. Denna frivilliga diagnos aktiveras på sidan
Det går att implementera en snabbrättning som lägger till en |
Förbättrade prestanda för stora .jar-filer |
Begränsningen av det interna cacheminnet för Java-modell har nu en funktion för den maximala stackstorleken (-Xmx VM-argument på de flesta JVM) som anges för JVM-datorer som kör Eclipse IDE. Genom att öka stackstorleken har prestanda betydligt förbättrats när .jar-filerna i byggsökvägen är stora. |
Återskapa ändrade klassfiler |
Java-byggfunktionen kan återskapa ändrade eller borttagna klassfiler i den utdatamapp som använder den ursprungliga källan. Du kontrollerar funktionen på sidan
|
Javadoc-vy och verktygstips från bifogad Javadoc |
Javadoc-vyn och Javadoc-bubbelhjälpen extraherar informationen från den bifogade Javadoc för bibliotek som inte har någon bifogad källa. |
JUnit-verktyg |
|
JUnit 4-funktionalitet |
JUnit-funktionaliteten har nu uppdaterats att köra och skriva JUnit 4-tester. Se www.junit.org för mer information om JUnit 4.
|
JUnit-vyhistorik |
JUnit-vyn kan nu hantera flera konkurrerande testkörningar. Med hjälp av den nya historiken kan du växla mellan de aktiva och de senaste testkörningarna. Test kan köras från historiken utan att tester som redan körs stoppas. Detta fungerar både i JUnit 3 och JUnit 4. |
Java-felsökning |
|
Körningsmiljöer |
En körningsmiljö beskriver funktionerna för en runtime-miljö - t.ex. J2SE-1.4.
Du kan anger JRE:er som ska användas för körning, felsökning och bygge baserade på referenser till en körningsmiljö.
På den nya sidan
En byggsökväg eller en startkonfiguration som refererar till en körningsmiljö är mer användbar än en som refererar till en viss JRE, eftersom en JRE:s körningsmiljö kan tolkas oberoende av dess namn. Du anger en körningsmiljö som ska köras eller byggas på fliken JRE eller med guiden Redigera bibliotek. |
Startvariabel för systemegenskap |
En ny startvariabel gör att det går att dynamiskt specificera systemegenskaper som Java-program och VM-argument för Eclipse-körningen. Variabeln accepterar ett enskilt argument som är namnet på den systemegenskap som ska tolkas vid start. Systemegenskaper java.home ska t.ex. refereras med ${system_property:java.home}. |
Utvärderingsfunktion för matriser |
Utvärdering och innehållshjälp kan nu hantera Java-matriser.
Använd |
Java-trådgrupper |
Nu kan du visa trådgrupper i felsökningsvyn med alternativet Visa trådgrupper i vyns meny. |
Exporterad poster från klassökväg för körning |
En klassökväg för körning kan konfigureras så att den bara infogar exporterade poster från byggsökvägen. Som standard infogar en klassökväg för körning alla poster (både exporterade och inte exporterade). Markera standardposten på fliken Klassökväg och konfigurera alternativet med knappen Redigera .... |
Stoppa tråd - Stoppa VM |
Ett alternativ som lagts till på sidan
|
Övrigt |
|
Java-typsindikator |
Aktivera Java-typsindikatorn på sidan
|
Söka efter ogiltiga externaliserade strängar |
En ny åtgärd kan nu söka efter ogiltiga externaliserade strängar. Sökningen rapporterar saknande, oanvända och duplicerade nycklar. Du startar en sökning genom att markera en egenskapsfil, ett paket eller ett helt projekt och använder Källa > Sök efter ogiltiga externaliserade strängar |
Förbättrad stöd för mekanismen för externalisering av strängar i Eclipse |
Eclipse-mekanismen för externalisering av strängar har nu samma slags stöd som vanlig externalisering av strängar. Det associerade externaliserade värdet visas i en bubbeltext när du stannar till över en nyckel för en externaliserad sträng i Java-redigeraren. Håll ner tangenten Ctrl och klicka på nyckeln för att komma direkt till posten i motsvarande Java-egenskapsfil. I egenskapsfilens redigerare kan du hålla ner Ctrl och klicka för att ta reda på var nyckeln används i koden. |
Skapa en typ från ett exempelkodstycke |
Du kan klistra in ett kodstycke som innehåller en
Java-typ direkt i ett paket eller en källmapp för att skapa en ny kompileringsenhet.
Markera och kopiera t.ex. källkodenpackage pack; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }och markera sedan källmappen i paketutforskaren med kortkommandot Ctrl+V (Redigera > Klistra in). Det kopierade innehållet skapar då automatiskt ett nytt paket och filen "HelloWorld.java". |
Generera hashCode() och equals() |
Du kan generera metoderna Du anropar åtgärden genom att markera en typ och använda Källa > Generera hashCode() och equals()... |
Kodformaterare för kommandorad |
Nu går det att formatera källkod utan att starta Eclipse användargränssnitt med den nya tillämpningen för konsollös formatering. Kommandoradsformateraren fungerar som en Eclipse-standardtillämpning. Följande kommando formaterar källfilerna i mappen src med de inställningar som angivits i filen config.prefs: Se Använda formateringstillämpningen för mer information. |
Funktioner för Java-lika filtillägg |
Filer med ett annat filtillägg än .java
och som innehåller ren Java-kod kan nu hanteras. Ett Java-likt filtillägg kan läggas till på sidan
|