Tässä osassa kuvataan muutoksia, jotka ovat pakollisia, jos yrität muuttaa 3.1-lisäosan ottamaan käyttöön 3.2-version toiminnot ja sovellusohjelmaliittymät.
Eclipse 3.2 sisältää uusia infrastruktuureja, joiden avulla voi liittää aloituskokoonpanoja resursseihin. Tämän vastaavuusmäärityksen avulla käyttöympäristö voi resursseihin perustuen suodattaa aloituskokoonpanot. Lisäksi käyttöympäristö voi valinnaisesti poistaa aloituskokoonpanot, kun niihin liittyvä projekti poistetaan. Aloituksen valintaikkunaa on paranneltu niin, että se tukee suodattimia, joiden avulla voit valinnaisesti piilottaa suljettuihin ja poistettuihin projekteihin liittyvät kokoonpanot. Aloituksen valintaikkuna tukee myös aktiivisen työympäristöikkunan valittuihin työaineistoihin perustuvaa suodatusta, jonka voi valita myös aloituksen valintaikkunassa.
On työaseman tehtävä hallita aloituskokoonpanojen resurssin vastaavuusmääritystä.
Kohteeseen ILaunchConfigurationWorkingCopy
on lisätty sovellusohjelmaliittymä, joka määrittää kokoonpanoon liittyvät resurssit, ja kohteeseen ILaunchConfiguration
on lisätty sovellusohjelmaliittymä, joka noutaa kokoonpanoon liittyvät resurssit. Esimerkiksi aloituksen välilehdet, aloituksen pikanäppäimet ja koodinparannuksen osapuolet on otettava huomioon siirrossa.
Koodin, joka luo aloituskokoonpanoja tai muokkaa niitä, on myös päivitettävä resurssien vastaavuusmääritykset.
Eclipse 3.2 sisältää uuden infrastruktuurin, jonka avulla voit siirtää aloituskokoonpanoja
yhteensopiviksi uusien työvälineiden kanssa. Esimerkiksi Eclipsen versioon 3.2 on lisätty tuki
resurssiperustaiseen aloituskokoonpanojen suodatukseen. Aloituskokoonpanot on päivitettävä, jotta resurssien vastaavuusmäärityksissä voidaan hyödyntää tätä uutta ominaisuutta. Käyttäjät
voivat siirtää työtilan aloituskokoonpanot manuaalisesti valitsemalla
vaihtoehdot
Aja/Tee vianmääritys > Aloitus >
Aloituskokoonpanot
oletusasetussivulta Siirrä-painiketta
napsauttamalla.
Uusi valinnainen siirron delegaattimäärite on lisätty
laajennuspisteeseen launchConfigurationTypes
. Se määrittää luokan, joka toteuttaa uuden liittymän ILaunchConfigurationMigrationDelegate
.
Siirron delegaatti vastaa siirtoehdokkaiden yksilöinnistä ja siirrosta.
Laajennuspisteeseen launchModes
on lisätty uusi valinnainen määrite, joka varmistaa,
että aloituksen alivalikkojen toimintojen nimikkeiden ulkoistamisen tuki toimii oikein. Aloitustiloja toimittavien työasemien on määritettävä oikea nimiö aloituksen alivalikkoon, esimerkiksi "Aja muodossa". Uusi määrite on nimeltään launchAsLabel
. Käyttöympäristö toimittaa oikeat nimiöt ajon, vianmäärityksen ja profiilin aloituksen tiloja varten. Yhteensopivuus aiempien versioiden kanssa varmistetaan siten, että kun aloitustilan uutta määritettä ei määritetä, alivalikkojen nimiöt muodostetaan samoin kuin aiemmin, MessageFormatin ja määrityksen "{0} muodossa
" avulla. Tietoja aiheeseen liittyvästä viasta on kohdassa105235.
ICU4J Java-kirjastojoukko, joka tuo käyttöön kattavan Unicode-, siirrettävyys- ja kansainvälistystuen. Nämä toiminnot tuotiin Eclipse-yhteisön käyttöön lisäämällä ICU4J-kirjastot käyttöympäristön koontiin Eclipse-versiossa 3.2. ICU4J näkyy koonnissa lisäosana, jonka nimi on com.ibm.icu. Eclipse-ympäristö käyttää ICU-ohjelmointirajapintoja Eclipse-versiossa 3.2.
Sovellusten koodin siirto voidaan tehdä täydentävästi, mikä merkitsee, että ICU4J-toiminnoista saa hyötyä, vaikka kaikkia niistä ei otettaisikaan täysimääräisesti käyttöön. Lisätietoja koodin siirrosta ICU4J-toimintojen käyttöä varten on Eclipse-wikin ICU4J page -sivulla.
ICU4J-lisäosa kasvattaa tallennustilan tarvetta noin 3 Mt:n verran. Jotkin sovellukset saattavat jättää ICU4J-lisäosan sulauttamatta, jos sovelluksen koko ajaa tärkeysjärjestyksessä ICU4J-toimintojen käyttöönoton edelle. Tässä tapauksessa korvauslisäosa (com.ibm.icu.base) on saatavilla Eclipse platform build page -sivulta. Lataa kyseinen lisäosa, poista com.ibm.icu-lisäosa sekä sen lähdevastine /plugins-hakemistosta ja sijoita sinne korvauslisäosa. Näin on toimittava, koska Eclipse-ympäristössä ICU-ohjelmointirajapinnat on otettu käyttöön versioon 3.2, joten pelkkä ICU-lisäosan poisto johtaisi käännösvirheisiin ympäristön koodissa. Korvauslisäosa on noin 100 kt:n kokoinen, ja se kutsutaan JDK-kehitysympäristön yleisimmin käytettyjen ICU4J-luokkien ja -ohjelmointirajapintojen oletustoteutuksen yhteydessä. Lisätietoja ICU-korvauslisäosan käytöstä on myös Eclipse-wikin ICU4J page -sivulla.
Jotta JFace-käyttöliittymä tukisi ICU4J-toimintoja, oli estettävä ICU-luokkien kutsuminen ohjelmointirajapinnoissa lisäämällä tiettyjä luovia ohjelmointirajapintoja. Tämä johti seuraaviin lisäyksiin:
org.eclipse.jface.viewers.ViewerComparator
, jonka
aliluokka
org.eclipse.jface.viewers.ViewerSorter
nyt on.org.eclipse.jface.viewers.StructuredViewer
tukemaan
luokan org.eclipse.jface.viewers.ViewerComparator
lisäystä.Luokalla ViewerSorter
on julkinen metodi getCollator()
, joka palauttaa luokan java.text.Collator
. Kyseinen metodi on ohjelmointirajapinta, joten sitä ei voi muuttaa yksinkertaisesti käyttämään ICU-luokkaa Collator. Vastaavasti ICU-luokat eivät voi olla ohjelmointirajapintojen (allekirjoitusten) osia, koska suora lisäosariippuvuus ICU-luokkiin estäisi JFace-ympäristön erillisen käytön (SWT-työkalujen kanssa). Näiden rajoitteiden noudattaminen varmistettiin lisäämällä ViewerComparator
-luokka, joka käyttää luokkaa java.util.Comparator
eikä ICU-luokkaa Collator. Kyseinen muutos tehtiin, koska ICU-luokka Collator toteuttaa luokan java.util.Comparator
, joten mikä tahansa StructuredViewer
-luokka voi nyt käyttää ICU-luokkaa Collator java.text.Collator
-luokan sijaan, mutta JFace-käyttöliittymän ei tarvitse lisätä riippuvuutta ICU4J-lisäosaan.
Kaksi uutta StructuredViewer
-luokkaan lisättyä metodia tukevat ICU-luokan Collator käyttöä katseluohjelman sisällön lajitteluun ViewerComparator
-luokan kautta ViewerSorter
-luokan sijaan. On suositeltavaa, että StructuredViewer
-luokat käyttäisivät nyt kyseisiä metodeja katseluohjelman lajittelutoiminnon (comparator) hakuun ja määritykseen getSorter()
- ja setSorter(ViewerSorter)
-metodien sijaan.
public ViewerComparator getComparator()
public void setComparator(ViewerComparator comparator)
Resurssijoukko org.eclipse.equinox.common sisältää
useita uusia yleisnimisiä ohjelmointirajapintaluokkia (esimerkiksi
Assert
ja ListenerList
). Jos koodissasi on
samanniminen luokka ja käytät sitä paikallisten ja
ajonaikaisten luokkien tuontiin *-lauseiden avulla, saatat saada
seuraavan
virhesanoman:
Tyyppi ABC on monitulkintainen
Ongelma ratkeaa useimmiten järjestämällä tuonnit ja valitsemalla oikea tuontilähde.
Koska koodia on siirretty uusiin ajonaikaisiin lisäosiin, mukautettuihin eksplisiittisiä org.eclispe.core.runtime-viittauksia sisältäviin komentosarjoihin täytyy ehkä lisätä yksi tai useampia seuraavista lisäosista: