Hier vindt u beschrijvingen van een aantal interessante of belangrijke wijzigingen die zijn aangebracht in de Java-ontwikkelingstools voor release 3.2 van Eclipse. De wijzigingen zijn als volgt ingedeeld:
In het document Eclipse-platform - Nieuw in 3.2 kunt u lezen welke wijzigingen er in het platform zijn aangebracht.
Java-herstructurering
|
|
Herstructurering Indirectheid introduceren |
Indirectheid introduceren is een nieuwe herstructurering waarmee u alle aanroepers van een methode naar een nieuwe methode kunt omleiden. De nieuwe methode roept dan de oorspronkelijke methode aan. U kunt de standaardimplementatie van de nieuwe methode naar wens vervangen. Indirectheid is handig als u nieuw gedrag wilt introduceren voor een methode, maar:
Door middel van indirectheid kunt u fouten in de oorspronkelijke methode corrigeren of code snel vóór of achter alle aanroepen van een methode toevoegen. U kunt de herstructurering Indirectheid introduceren door een methode te selecteren, naar Herstructureren > Indirectheid introduceren... te gaan en een naam en een declarerende klasse voor de nieuwe methode op te geven. De methode wordt toegevoegd aan de geselecteerde declarerende klasse. Alle verwijzingen worden bijgewerkt met de aanroep van de nieuwe methode. |
Herstructurering Superklasse extraheren |
Er is een nieuwe herstructurering, Superklasse extraheren, waarmee u een gemeenschappelijke superklasse uit een verzameling typen op hetzelfde niveau kunt extraheren. Nadat u de herstructurering hebt toegepast, worden de geselecteerde typen rechtstreekse subklassen van de geëxtraheerde superklasse. Bovendien kunt u de resultaatklasse van Superklasse extraheren waar mogelijk in de code inzetten. In het onderstaande voorbeeld zijn Op de volgende afbeelding ziet u de typehiërarchie nadat U kunt deze herstructurering uitvoeren via Herstructureren > Superklasse extraheren... |
Wizard Opschonen |
U kunt de actie Opschonen gebruiken voor een willekeurig aantal Java-bronbestanden, pakketten of een volledig Java-project. Gebruik de actie voor het volgende:
Dit is een greep uit de mogelijkheden:
U kunt met Opschonen als volgt code van Java 1.4 converteren naar 5.0:
Selecteer een project, pakket of bestand en kies Bron > Opschonen... om de wizard te starten. |
Herstructureringshistorie |
De meeste herstructureringen van JDT worden nu vastgelegd in de herstructureringshistorie. Er wordt door de herstructureringsinfrastructuur gedetailleerde informatie opgeslagen over de herstructureringen die in het werkgebied zijn uitgevoerd. |
Herstructureringsscripts maken en toepassen |
U kunt de herstructureringen die in het lokale werkgebied zijn uitgevoerd exporteren naar een herstructureringsscript en in een willekeurig werkgebied opnieuw laten uitvoeren. Scripts kunnen van pas komen in verschillende situaties, zoals het automatisch corrigeren van API-wijzigingen die de functionaliteit tussen softwarelagen verbreken of het verstrekken van patches met uitgebreide semantica. U kunt een script aan de hand van de herstructureringshistorie maken via Herstructureren > Script maken... U kunt het gegenereerde herstructureringsscript daarna op een willekeurig werkgebied toepassen via Herstructureren > Script toepassen... Met behulp van een nieuw extensiepunt kunnen ontwikkelaars van plugins ondersteuning voor herstructureringsscripts aanleveren voor nieuwe of bestaande herstructureringen.
Zie het extensiepunt |
JAR-bestand exporteren met herstructureringen |
Als u een JAR-bestand uit het werkgebied exporteert, kunt u in de wizard JAR-export aangeven dat u herstructureringsgegevens in het JAR-bestand wilt opnemen. Vervolgens kan op clients een oude versie van het JAR-bestand naar een nieuwe versie worden gemigreerd door middel van de herstructurering Herstructureren > JAR-bestand migreren... Als er een JAR-bestand is geselecteerd, kunt u ook naar Buildpad > JAR-bestand migreren... gaan. Bij deze herstructurering wordt automatisch alle afhankelijke code van de oude versie van het JAR-bestand bijgewerkt naar de nieuwe versie van het JAR-bestand. |
Voor API geschikte herstructureringen |
Een aantal bestaande herstructureringen is uitgebreid met ondersteuning voor API-compatibiliteit, doordat het oorspronkelijke lid als gemachtigde van het geherstructureerde lid is behouden:
In het herstructureringsdialoogvenster kunt u met het selectievakje Oorspronkelijke methoden behouden als gemachtigden van hernoemde methoden aangeven dat u een gemachtigd lid wilt maken om API-compatibiliteit te behouden. |
Vergelijkbaar benoemde elementen bijwerken met Type hernoemen |
Met de herstructurering Type hernoemen kunt u variabelen en methoden laten hernoemen waarvan de namen vergelijkbaar zijn met de naam van het hernoemde type. Zo blijven de namen van methoden en variabelen op één lijn met de namen van typen. U kunt deze herstructurering uitvoeren door een type te selecteren en Herstructureren > Hernoemen... te kiezen. |
Subpakketten hernoemen bij herstructurering Pakket hernoemen |
Door de herstructurering Pakket hernoemen worden voortaan op verzoek ook subpakketten hernoemd. In dit voorbeeld wordt de naam van U kunt deze herstructurering uitvoeren door een pakket te selecteren en Herstructureren > Hernoemen... te kiezen. |
Preview van herstructurering filteren |
Op de previewpagina van een herstructurering kunt u wijzigingen filteren. Deze functionaliteit komt vooral van pas bij het bijwerken van tekstovereenkomsten in commentaar en tekenreeksen terwijl u de namen van Java-elementen wijzigt. In de schermopname ziet u hoe in het herstructureringsdialoogvenster alleen tekstovereenkomsten worden weergegeven tijdens het wijzigen van de naam van Verder kunt u wijzigingen met betrekking tot de zichtbaarheid van Java-elementen filteren. |
Java-editor
|
|
Aanpasbare contenthulp |
Als u contenthulp herhaaldelijk aanroept (Ctrl+spatiebalk op de meeste platformen), doorloopt u verschillende suggestiecategorieën. U kunt afzonderlijke sneltoetsen toewijzen aan de suggestiecategorieën die u het meest gebruikt. Op de voorkeurenpagina
Het nieuwe extensiepunt |
Ondersteuning voor segmenten met beginhoofdletter in code-aanvulling |
Code-aanvulling biedt ondersteuning voor patronen met een beginhoofdletter.
De aanvulling van NPE is bijvoorbeeld NullPointerException.
U kunt deze ondersteuning uitschakelen met de optie Overeenkomsten als woordenreeks zonder spatie afbeelden op de voorkeurenpagina
|
Snelmenu voor omgeven van code |
Via het menu Omgeven met kunt u geselecteerde regels omgeven met code. U kunt uw eigen sjablonen aan het menu toevoegen. In de sjablonen is rekening gehouden met variabelen die moeten worden omgezet of final moeten worden gemaakt. Ga naar Bron > Omgeven met of druk op Alt+Shift+Z om het menu te openen. Op de voorkeurenpagina Java > Editor > Sjablonen kunt u uw eigen sjablonen toevoegen. Voor de sjabloon hoeft u alleen de variabele |
Nieuwe snelfixen |
Er zijn nieuwe snelfixen toegevoegd, zoals:
|
Ondersteuning voor categorieën |
In Javadoc-commentaar kunt u categorieën definiëren voor typen, methoden en velden met de tag Categorieën worden afgebeeld in de views Overzicht en Leden, alsmede in het Sneloverzicht. Via het menu van de view kunt u de categorieën selecteren die u wilt zien. |
Alle leden zijn samenvouwbaar |
Als samenvouwen is ingeschakeld, kunt u voortaan velden, initializers en bijbehorend commentaar op dezelfde manier samenvouwen als methoden. Er zijn nieuwe opdrachten beschikbaar gesteld voor het samenvouwen van alle opmerkingen en het samenvouwen van alle leden en het opnieuw instellen van de samenvouwstructuur. U vindt deze opdrachten in het voorgrondmenu Samenvouwen op de verticale liniaal van de Java-editor. |
Liniaalondersteuning en overzicht voor Java-bestanden buiten het werkgebied |
Voor externe Java-bestanden en Java-bestanden uit repository's kan de verticale liniaal in de Java-editor worden afgebeeld, alsmede de view Overzicht als het Sneloverzicht. |
Java-compileerprogramma
|
|
Naleving van Java SE 6.0 |
Naleving van Java SE 6.0 wordt volledig ondersteund.
|
Analyse van null-verwijzingen |
Het Java-compileerprogramma kan een eenvoudige analyse uitvoeren om null-verwijzingen van lokale variabelen vast te stellen. Deze optionele diagnose kunt u inschakelen via de voorkeurenpagina
Deze analyse is vrij oppervlakkig. Er worden alleen problemen gemeld voor vreemde situaties (bijvoorbeeld en niet voor alle gevallen. Bij het nalevingsniveau 5.0 kunt u waarschuwingen voor null-verwijzing onderdrukken met de annotatie |
Verbeterd syntaxisherstel |
De interne Java-parser kan syntaxisfouten beter verwerken.In Eclipse 3.1 zou een syntaxisfout ertoe hebben geleid dat verdere fouten niet meer werden afgebeeld. De parser kan nu instructies met fouten afhandelen en verdere analyses uitvoeren. In het volgende voorbeeld wordt de ongeldige verwijzing naar Zo mogen syntaxisfouten bijvoorbeeld voorkomen in herstructureringen die op slechts één bestand van toepassing zijn. U kunt bijvoorbeeld een lokale variabele hernoemen of extraheren aan het begin van een methode die nog niet af is. |
Configureerbare fouten behandelen als fatale fouten |
Met de optie Configureerbare fouten behandelen als fatale fouten op de voorkeurenpagina
Anders kan gecompileerde code ook met fouten worden uitgevoerd. |
Vaststellen van overbodige $NON-NLS$-tags |
Overbodige U kunt het rapporteren in- of uitschakelen met dezelfde optie als voor het vaststellen van niet-geëxternaliseerde tekenreeksen. U vindt de optie op de voorkeurenpagina
U kunt de overbodige tags verwijderen met een snelfix (Ctrl+1) of Ctrl+1, Ctrl+Enter om alle overbodige tags in een compilatie-eenheid te wissen. |
Vaststellen van onbewerkt typegebruik |
Het gebruik van onbewerkte typen wordt opgemerkt. Een onbewerkt type is een verwijzing naar een generiek type zonder type-argument (bijvoorbeeld Deze optionele diagnose kunt u onafhankelijk van niet-gecontroleerde typebewerkingen inschakelen op de voorkeurenpagina
U kunt deze waarschuwing onderdrukken door de annotatie Verder is er een snelfix geïmplementeerd om het gebruik van het onbewerkte type te corrigeren. |
Vaststellen van toewijzing aan methodeparameters |
Toewijzingen aan methodeparameters worden gezien als iets wat een goede programmeur niet doet. U kunt dergelijke toewijzingen laten opsporen en rapporteren via de voorkeurenpagina
|
Vaststellen van niet-gebruikte labels |
Het Java-compileerprogramma merkt niet-gebruikte labels in instructies op. Deze optionele diagnose kunt u inschakelen via de voorkeurenpagina
|
Vaststellen van case-doorloop in switch-instructie |
Het Java-compileerprogramma kan vaststellen of de uitvoering van code doorloopt in een andere case-instructie doordat in de code niet uit de case-vertakking wordt gestapt. Lege case-vertakkingen zijn wel toegestaan. Deze optionele diagnose kunt u inschakelen via de voorkeurenpagina
Er is een snelfix geïmplementeerd om een |
Verbeterde prestaties voor grote JAR-bestanden |
De groottelimiet van de interne Java-modelcache is een functie van de maximale heap-grootte (VM-argument -Xmx in de meeste JVM's) dat wordt doorgegeven aan de Java Virtual Machine die de Eclipse IDE uitvoert. Het vergroten van de heap-grootte levert een merkbare verbetering van de prestaties op wanneer het buildklassenpad grote JAR-bestanden bevat. |
Gewijzigde CLASS-bestanden opnieuw maken |
De Java-builder kan gewijzigde of verwijderde CLASS-bestanden in de uitvoermap opnieuw maken aan de hand van de oorspronkelijke broncode. U kunt dit gedrag beheren via de voorkeurenpagina
|
View Javadoc en knopinfo van gekoppelde Javadoc |
De view Javadoc en de Javadoc-voorgrondinfo kunnen de gegevens extraheren uit de gekoppelde Javadoc voor bibliotheken waaraan geen broncode is gekoppeld. |
JUnit-tools |
|
Ondersteuning voor JUnit 4 |
De ondersteuning voor JUnit is uitgebreid met de mogelijkheid JUnit 4-tests uit te voeren en samen te stellen. Raadpleeg www.junit.org voor meer informatie over JUnit 4.
|
Historie in view JUnit |
In de view JUnit kunnen nu meerdere tests tegelijkertijd worden uitgevoerd. U kunt tussen actieve en uitgevoerde tests schakelen met de historie. Vanuit de historie kunt u ook tests opnieuw uitvoeren, zonder dat actieve tests worden gestopt. Deze functie is geschikt voor zowel JUnit 3 als JUnit 4. |
Java-foutopsporingsprogramma |
|
Verwerkingsomgevingen |
Een verwerkingsomgeving definieert de voorzieningen van een runtime (bijvoorbeeld J2SE-1.4). U kunt JRE's (Java Runtime Environment, Java-runtimeomgeving) opgeven voor uitvoeren, fouten opsporen en bouwen door naar een verwerkingsomgeving te verwijzen.
Op de voorkeurenpagina
Een buildpad of startconfiguratie met een verwijzing naar een verwerkingsomgeving is beter overdraagbaar dan een buildpad of een startconfiguratie met een verwijzing naar een expliciete JRE. De verwerkingsomgeving van een JRE kan immers onafhankelijk van de naam worden omgezet. Op het tabblad JRE of met behulp van de wizard Bibliotheek bewerken kunt u een verwerkingsomgeving voor uitvoeren en bouwen opgeven.
|
Startvariabele voor systeemeigenschap |
Met een nieuwe startvariabele kunt u dynamisch systeemeigenschappen instellen, zoals het Java-programma en VM-argumenten uit de Eclipse-runtime. Voor de variabele kunt u één argument gebruiken, dat overeenkomt met de naam van de eigenschap die tijdens het starten moet worden omgezet. Naar de systeemeigenschap java.home kunt u bijvoorbeeld verwijzen met ${system_property:java.home}. |
Ondersteuning van evaluatie voor arrays |
Voortaan zijn evaluaties en contenthulp ook beschikbaar voor Java-arrays. Gebruik |
Java-threadgroepen |
U kunt threadgroepen afbeelden in de view Fouten opsporen door de optie Threadgroepen afbeelden in het menu van de view aan of uit te zetten. |
Geëxporteerde items van runtimeklassenpad |
U kunt een runtimeklassenpad zodanig instellen dat dit alleen geëxporteerde items van het buildpad bevat. Standaard worden in een runtimeklassenpad alle items opgenomen (zowel niet-geëxporteerd als geëxporteerd). Selecteer op het tabblad Klassenpad het standaarditem en klik op de knop Bewerken... om de optie te configureren.
|
'Thread onderbreken' versus 'VM onderbreken' |
Er is een optie toegevoegd aan de voorkeurenpagina
|
Diversen |
|
Indicator van Java-typen |
U kunt de indicator van Java-typen inschakelen op de voorkeurenpagina
|
Verbroken geëxternaliseerde tekenreeksen zoeken |
Door middel van een nieuwe actie kunt u naar verbroken geëxternaliseerde tekenreeksen zoeken. Ontbrekende, niet-gebruikte en dubbele reeksen worden gerapporteerd. U kunt het zoeken starten door een eigenschappenbestand, een pakket of een volledig project te selecteren en naar Bron > Verbroken geëxternaliseerde tekenreeksen zoeken te gaan. |
Verbeterde ondersteuning voor Eclipse-mechanisme voor tekenreeksexternaliseringen |
Voor het Eclipse-mechanisme voor het externaliseren van tekenreeksen bestaat nu dezelfde soort ondersteuning als voor traditionele tekenreeksexternalisering. Als u de muis boven een sleutel voor een geëxternaliseerde tekenreeks houdt in de Java-editor, wordt de bijbehorende geëxternaliseerde waarde afgebeeld. Houd Ctrl ingedrukt en klik op de sleutel om rechtstreeks naar de vermelding in het bijbehorende eigenschappenbestand te gaan. In de editor voor eigenschappenbestanden kunt u met Ctrl+klik achterhalen waar een sleutel in de code voorkomt. |
Een type maken op basis van een codefragment |
U kunt een codefragment met een Java-type rechtstreeks in een pakket of bronmap plakken om een nieuwe compilatie-eenheid te maken.
Kopieert u bijvoorbeeld deze broncode:
package pack; public class HelloWorld { public static void main(String[] args) { System.out.println("Hallo wereld"); } }Selecteer vervolgens een bronmap in de Pakketverkenner en druk op Ctrl+V (Bewerken > Plakken). Nu worden automatisch het pakket 'pack' en het bestand 'HelloWorld.java' met de gekopieerde code gemaakt. |
hashCode() en equals() genereren |
Er is een nieuwe actie beschikbaar om de methoden U kunt deze actie starten door een type te selecteren en naar Bron > hashCode() en equals() genereren... te gaan. |
Code-indelingsprogramma vanaf opdrachtregel |
Voor het indelen van broncode hoeft u de gebruikersinterface van Eclipse niet langer te starten, omdat er een vensterloos indelingsprogramma is toegevoegd. Het indelingsprogramma voor de opdrachtregel werkt op dezelfde manier als een standaard Eclipse-toepassing. Met de volgende opdracht kunt u de bronbestanden in de map src indelen met de opties die in het bestand config.prefs zijn opgegeven: Zie De formattertoepassing gebruiken voor meer informatie. |
Ondersteuning voor Java-achtige extensies |
Vanaf nu worden ook bestanden met een andere extensie dan .java, maar wel met Java-code, ondersteund. U kunt een Java-achtige extensie toevoegen via de voorkeurenpagina
|