Kidolgozása százegy plug-in 1. rész
Ez a cikksorozat, „A fejlesztés száz és egy plug-in” elkötelezett a fejlesztés plug-inek. De mielőtt elkezdené, meg kell győződnie arról, hogy van egy alkalmas erre szerdán. Az első lépés - letöltött Eclipse.org Eclipse eloszlása a plug-in fejlesztési környezet (Plug-in Development Environment - PDE). Azt javasoljuk, töltse le a legújabb verzióját Eclipse Classic. Ebben a sorozatban fogjuk használni változatát Eclipse v3.4 (M5). (Ahhoz, hogy megtudja, hol találni Eclipse és kiegészítő információkat lásd. Az Erőforrások részben.)
Megértésének megkönnyítése érdekében a plugin fejlesztési folyamat követi a folyamatábra az 1. ábrán látható első része ennek a sorozatnak, fogunk összpontosítani az első öt lépést folyamatábrák. Az utolsó két lépést hagyja 2. rész, amely foglalkozik alkalmazások gazdag ügyfél.
1. ábra blokkdiagramja dugót tervezési folyamat

Mit jelent OSGi?
A 3.0-s verzió Eclipse tett egy nagy ugrás választja OSGi helyett a törékeny Eclipse plug-in technológia jelen a korábbi verziókban. OSGi technológia felelős a független, non-profit szervezet OSGi Alliance. Ez ugyanazt a feladatot látja, mint az Eclipse Foundation. OSGi Alliance termeléséért felelős műszaki OSGi technológia. Röviden, OSGi technológia biztosítja a szolgáltatás-orientált platform alapján plug-inek alkalmazások fejlesztése. Az egyik népszerű implementációja az Equinox, ami egy Eclipse-végrehajtás a leírás. (Lásd. Lásd a forrásokat.)
Mielőtt részletezném a részleteket létre egy plug-in, beszéljük mi ez. Egy műszaki szempontból bővítmény - egy Java ™ Archive (JAR), amely önálló és az önálló megadott modul. Ő önellátó, mert kódot tartalmaz, és a források futtatásához szükséges a dugó. Az önálló meghatározni, mert olyan információkat tartalmaz, amely azt jelzi, hogy ez az, amire szükségük van a külvilágtól, és hogy ő adja a külvilág felé. A plug-in rendszerint jelen van egy pár fájlleírók: manifest.mf és plugin.xml.
Először hozzon létre egy
Az első rész a plugin fejlesztési folyamat létrehozása bővítmény projekt. Az Eclipse könnyen elvégezhető választásával Új> Project menüpontot. . Az így kapott varázslóban válasszuk a projekt típusa létrehozni Plug-in Project.
2. ábra Wizard hogy hozzon létre egy új plug-in projekt

Mint minden más projekt Eclipse, a varázsló kéri, hogy válassza ki a projekt nevét. Azt javaslom helloworld. Arra is lehetőség van, hogy válassza ki a cél platform. Ebben az esetben ez csak egy cél változatát Eclipse vagy közepes OSGi, például Equinox. Az egyszerűség kedvéért úgy döntünk, az Eclipse 3.3 verzió. Következő oldal A varázsló új plug-in projekt szentelt a tartalom a plugin.

A varázsló lehetővé teszi, hogy létrehoz egy aktivátor dugót. Ez egyszerűen egy osztály, amely kezeli az életciklusa plugin (leírható, mint a módszer stop-start). Általában az aktivátor felelős a telepítés és megfelelő elhelyezését a források, ha a dugó már nem használják. Ebben az esetben van szükség, egy aktivátor dugó, amely befolyásolja a felhasználói felületet, és hozunk létre egy Rich Client Platform alkalmazás (RCP) (lásd a forrásokat.).
4. ábra sablonok plugins

módosítás
Bent a manifest.mf fájl
Ha érdekli a különböző fejlécek rendelkezésre manifest.mf fájlt, olvassa el a OSGi specifikációja OSGi Alliance (lásd a forrásokat.).

A bővítmények és kiterjesztési pontokat
Bőség kiterjesztési pontokat
Az SDK Eclipse V3.3 terjeszkedés több mint 200 pontot. Listája bővíthető elemek (azaz kiterjesztés pont) az SDK az Eclipse Foundation című dokumentum „Platform Extension Points” (lásd a forrásokat.).
6. ábra Minták kiterjesztések

oldal Runtime
7. ábra futási oldal

attól függően, hogy
A rengeteg plugin
Az Eclipse ökoszisztéma, bőven van plug-inek, így könnyű eltévedni. Azt ajánlom a keresési plug-inek kezdeni két helyszínen: az Eclipse Foundation projekt lista és az Eclipse plug-in Central (EPIC) (lásd a forrásokat.).
8. ábra Oldal függőségek

Megjegyzendő, hogy amellett, függőségek Egyes plug függhet csomagokat exportált pluginek (lásd. A szakasz „importált csomagok” a következő oldalon). Ez egy bonyolult téma, és ez akkor hasznos, ha nem akarja csatlakoztatni a dugót egy konkrét megvalósítására. Képzeljük el például, függőség com.company.xml.parser csomagot. amely által termelt XML-elemző. Tegyük fel, hogy van két plug-inek, mint például com.company.xml.parser.mobile és com.company.xml.parser.desktop. amely által létrehozott két különböző megvalósításai ugyanazt az XML-elemző, de más környezetben.
9. ábra szerkesztése forrás

Hibakeresés és tesztelés
10. ábra Samohosting az Eclipse

A fejlesztés a plug-in tesztelési folyamat
Ha meg szeretné kezdeni a teszt előtt az igazi fejlődés a plug-in, akkor létrehozhat egy plug-in projekt, amely csak tesztek. Van egy speciális dob konfiguráció Plug-in JUnit teszt elvégzéséhez vizsgálatok szerint a plug-inek.
Ahhoz, hogy indítsa el a samohostiruemy plug-debug módban, egyszerűen kattintson a linkre indítása Eclipse alkalmazás debug módban, lásd tesztelés áttekintése. A hibakeresés plug-in, telepíteni kell a megfelelő töréspont. Azok, akik még nem ismerik a hibakeresési folyamat az Eclipse, azt ajánlom, hogy elkezd olvasni a cikket „hibakeresés az Eclipse platform” (debug Eclipse platform) a developerWorksön (lásd a forrásokat.).
Annak beállításához választhat részletesebb futásra vagy hibát plugint, megy a párbeszéd elindítása konfigurációk, amelyek elérhetők a Futtatás> Futtatás konfigurációk menüpontot. . A megfelelő típusú dob konfiguráció a beépülő modul az úgynevezett „Eclipse Application”, mert indítunk Eclipse alkalmazás (lásd. 11. ábra). Bent a dob konfiguráció beállíthatja és kezelheti az érvek JRE beállítást az alkalmazás futtatásához.
11. ábra Dialog elindítása konfigurációk

export sorok
A szokásos lépés a plug-inek a nemzetközivé válás. Ha eljut a lényeg, hogy a bővítmény hasznos és ellenőrizni fogják sokan mások, kérni fogja, hogy ezt a plugint tud dolgozni egy idegen nyelvet. Szerencsére a szükséges munkát, hogy exportálja a megfelelő sorokat bővítmény minimális. A PDE van egy varázsló, amely lehet hivatkozni a jobb gombbal a oldal áttekintése a beépülő modul, és kiválasztja külsőségek Strings menüben. . A varázsló megjeleníti az összes sort kell exportálni.
12. ábra: Mester sor export

Tény, hogy csak generál plugin.properties fájlt (amely tartalmazza az exportált húrok) a plug-in, és hozzáadja a Bundle-Lokalizáció fejlécet a manifest.mf fájlt. Bundle-Lokalizáció fejléc alapján határozza meg a nevét és a lehetséges helyzetét exportált sorok. Ebben az esetben a Bundle-Lokalizáció „bővítmény”, ami azt jelenti, hogy a különböző nyelvek húrok lesz az ilyen fájlokat plugin.properties (lásd. 13. ábra) plugin_fr.properties vagy plugin_de.properties. Minden, ami után jön az aláhúzás a fájl neve jelzi a nyelvet.
13. ábra: A fájl plugin.properties

nyilatkozat
A következő lépés a szervező a nyilvánvaló fájlt (azaz manifest.mf és plugin.xml), figyelembe véve néhány ajánlást. A PDE egy praktikus varázsló, amely keresztül lehet elérni a szakasz exportálása oldalak áttekintése. A varázsló futtatása után (lásd. 14. ábra), akkor látni számos paraméterrel lehet beállítani. Alapértelmezésben minden nagyon ésszerű, de van néhány hasznos lehetőségeket, mint például ellenőrzése hiányában extra kulcsokat plugin.properties fájlt.
14. ábra: Mester szervezet nyilatkozatok

következtetés
Az általános cél az ebben a cikkben volt, hogy egy ötlet az alapokat a plug-in fejlesztés néhány gyakorlati ajánlásokat. Elértük ezt létrehozásával minta plug-in, és halad a tipikus utat a fejlődése során. Miután megtanulta Ily módon, akkor nagyban egyszerűsítheti fejlesztés plug-inek is megfelel az ilyen eljárások, mint a szervezet visszatér. A második részben fogunk összpontosítani az eszközök használata, hogy dolgozzon gazdag kliens alkalmazások, és töltse ki a többi szakaszában a fejlesztési plug-in az 1. ábra mutatja.