Gyorsjavítás feldolgozó

Azonosító:
org.eclipse.wst.jsdt.ui.quickFixProcessors

Minimális verziószám:
Kiterjesztési pont a 3.0 verzió óta. handledMarkerTypes elem a 3.2-es változat óta.

Leírás:
A kiterjesztési pont lehetővé teszi új gyorsjavítás feldolgozó hozzáadását, amellyel JavaScript problémákhoz új gyorssegéd tehető elérhetővé.

A 3.2-es verzió óta a kiterjesztések megadhatják, mely problémajelző típusokat képesek kezelni. Csak az ilyen típusú problémákat kapják meg feldolgozásra. Ha nincs megadva kezelt jelzőtípus, akkor a feldolgozó csak org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem és org.eclipse.wst.jsdt.core.task (a 3.2-es változat előtti viselkedéssel kompatibilis) típusú problémákat kap.

Ez a kiterjesztési pont támogatja az enablement címkét. A tesztelhető tulajdonságok:

  • compilationUnit: ICompilationUnit típus; a fordítási egység, amire a gyorssegéd alkalmazva van
  • projectNatures: Collection típus; az aktuális projekt összes projektjellege
  • sourceLevel: String típus; az aktuális projekt forrásmegfelelése
  • Konfigurációs kód:

    <!ELEMENT extension (quickFixProcessor+)>

    <w!ATTLIST extension

    point CDATA #REQUIRED

    id    CDATA #IMPLIED

    name  CDATA #IMPLIED

    >


    <!ELEMENT quickFixProcessor (enablement? , handledMarkerTypes*)>

    <!ATTLIST quickFixProcessor

    id                  CDATA #REQUIRED

    name                CDATA #IMPLIED

    class               CDATA #REQUIRED

    requiredSourceLevel CDATA #IMPLIED

    >


    <!ELEMENT handledMarkerTypes (markerType+)>

    Megadja azon problémák jelzőtípusait, melyeket ez a gyorsjavítás feldolgozó kezelni tud. Ha nincs megadva kezelt jelzőtípus, akkor a feldolgozó az org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem és org.eclipse.wst.jsdt.core.task típusú problémákat kapja meg.



    <!ELEMENT markerType EMPTY>

    <!ATTLIST markerType

    id CDATA #REQUIRED

    >


    <!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    Általános gyökérelem. Az elem kiterjesztési pontokon belül használható a hozzá tartozó enablement kifejezés meghatározására. Az enablement kifejezések leszármazottai az "and" operátorral kombinálhatók.



    <!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate | reference)>

    Ez az elem egy NOT műveletet képvisel a részelemeként kiértékelt kifejezés eredményén.



    <!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    Ez az elem egy AND műveletet képvisel a részelemeként kiértékelt összes kifejezés eredményén.



    <!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    Ez az elem egy OR műveletet képvisel a részelemeként kiértékelt összes kifejezés eredményén.



    <!ELEMENT instanceof EMPTY>

    <!ATTLIST instanceof

    value CDATA #REQUIRED

    >

    Ezzel az elemmel végezhető el a fókuszban lévő objektum instanceof ellenőrzése. A kifejezés az EvaluationResult.TRUE értékkel tér vissza, ha az objektum típusa a value attribútumban megadott típus altípusa. Ellenkező esetben EvaluationResult.FALSE kerül visszaadásra.



    <!ELEMENT test EMPTY>

    <!ATTLIST test

    property              CDATA #REQUIRED

    args                  CDATA #IMPLIED

    value                 CDATA #IMPLIED

    forcePluginActivation (true | false)

    >

    Ezzel az elemmel értékelhető ki a fókuszban lévő objektum tulajdonságának állapota. A tesztelhető tulajdonságok halmaza az org.eclipse.core.expressions.propertyTesters kiterjesztési ponton terjeszthető ki. A tesztelési kifejezés EvaluationResult.NOT_LOADED értéket ad vissza, ha a tényleges tesztelést végző tulajdonságtesztelő még nincs betöltve és a forcePluginActivation attribútum értéke hamis. Ha a forcePluginActivation értéke true és a kiértékelési kontextus kiértékeli a kifejezéstámogatási bedolgozó tevékenységet, akkor a tulajdonság kiértékelése a vizsgálót meghatározó bedolgozó aktiválását eredményezi.



    <!ELEMENT systemTest EMPTY>

    <!ATTLIST systemTest

    property CDATA #REQUIRED

    value    CDATA #REQUIRED

    >

    Megvizsgál egy rendszertulajdonságot a System.getProperty metódus meghívásával, és összehasonlítja az eredményt a value attribútumban megadott értékkel.



    <!ELEMENT equals EMPTY>

    <!ATTLIST equals

    value CDATA #REQUIRED

    >

    Ezzel az elemmel végezhető el a fókuszban lévő objektum egyenlőségi ellenőrzése. A kifejezés az EvaluationResult.TRUE értékkel tér vissza, ha az objektum egyenlő a value attribútumban megadott értékkel. Ellenkező esetben EvaluationResult.FALSE kerül visszaadásra.



    <!ELEMENT count EMPTY>

    <!ATTLIST count

    value CDATA #REQUIRED

    >

    Ezzel az elemmel vizsgálható megy egy kollekció elemszáma.



    <!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    <!ATTLIST with

    variable CDATA #REQUIRED

    >

    Az elem kicseréli a leszármazott elemek tekintetében megvizsgálandó objektumot az adott változó által hivatkozott objektumra. Ha a változó nem oldható fel, akkor a kifejezés a kiértékelés során ExpressionException kivételt ad. A with kifejezések leszármazottai az "and" operátorral kombinálhatók.



    <!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    <!ATTLIST resolve

    variable CDATA #REQUIRED

    args     CDATA #IMPLIED

    >

    Az elem kicseréli a leszármazott elemek tekintetében megvizsgálandó objektumot az adott változó által hivatkozott objektumra. Ha a változó nem oldható fel, akkor a kifejezés a kiértékelés során ExpressionException kivételt ad. A resolve kifejezések leszármazottai az "and" operátorral kombinálhatók.



    <!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    <!ATTLIST adapt

    type CDATA #REQUIRED

    >

    Ezzel az elemmel adaptálható a fókuszban lévő objektum a type attribútummal megadott típusra. A kifejezés EvaluationResult.NOT_LOADED értéket ad vissza, ha a hivatkozott adapter vagy típus még nincs betöltve. ExpressionException kivételt ad a kiértékelés során, ha a típus neve egyáltalán nem létezik. Az adapt kifejezések leszármazottai az "and" operátorral kombinálhatók.



    <!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate , reference)*>

    <!ATTLIST iterate

    operator (or|and)

    ifEmpty  (true | false)

    >

    Ezzel az elemmel lehet végiglépkedni egy java.util.Collection típusú változón, vagy egy org.eclipse.core.expressions.IIterable felületet adaptáló változón. Ha a fókuszban lévő objektum nem a fentiek egyike, akkor a kifejezés kiértékelésekor egy ExpressionStatus értéket tartalmazó CoreException kivétel történik. Egy iterate kifejezés leszármazott kifejezései az "and" operátor segítségével kombinálhatók.



    <!ELEMENT reference EMPTY>

    <!ATTLIST reference

    definitionId IDREF #REQUIRED

    >

    Az elem az org.eclipse.core.expressions.definitions kiterjesztési pontból származó kifejezésre hivatkozik. A kifejezés definíciója az aktuális kifejezéselemen belül kerül majd kiértékelésre az aktuális kiértékelési kontextus használatával.



    Példák:
    Az alábbiakban egy gyorsjavítás feldolgozó hozzáadásának példája látható:

    
     <extension point="org.eclipse.wst.jsdt.ui.quickFixProcessors">
      <quickFixProcessor
       id="AdvancedQuickFixProcessor"
       name="Fejlett gyorsjavítás feldolgozó"
       requiredSourceLevel="1.5"
       class="com.example.AdvancedQuickFixProcessor">
       <handledMarkerTypes>
          <markerType id="org.eclipse.myplugin.audits"/>
       </handledMarkerTypes>
       <enablement>
          <with variable="projectNatures">
             <iterate operator="or">
                <equals value="org.eclipse.wst.jsdt.core.javanature"/>
             </iterate>
          </with>
       </enablement>
      </quickFixProcessor>
     </extension>
    

    API információk:
    A közreműködő osztálynak ki kell terjesztenie az org.eclipse.wst.jsdt.ui.text.java.IQuickFixProcessor felületet.


    Copyright (c) 2007 IBM Corporation és mások.
    Minden jog fenntartva. Jelen program és annak kísérőanyagai a csomaghoz tartozó, illetve a http://www.eclipse.org/legal/epl-v10.html címen is elérhető Eclipse Public License 1.0 verziójának hatálya alatt lettek közzétéve.