Hurtig rettelse-processor

Id:
org.eclipse.wst.jsdt.ui.quickFixProcessors

Fra:
Udvidelsespunkt siden 3.0. Elementet handledMarkerTypes siden 3.2.

Beskrivelse:
Dette udvidelsespunkt gør det muligt at tilføje en Hurtig rettelse-processor, så der kan tilbydes nye hurtige rettelser af JavaScript-problemer.

Siden 3.2 kan en udvidelse angive, hvilke problemmarkeringstyper den kan håndtere. Den vil kun hente problemer med disse typer til behandling. Hvis der ikke angives nogen markeringstyper til håndtering, henter processoren kun problemer med typen org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem og org.eclipse.wst.jsdt.core.task (kompatibel med funktionsmåden i tidligere versioner end 3.2).

Udvidelsespunktet understøtter koden enablement. Der er følgende egenskaber, der kan testes på:

  • compilationUnit: typen ICompilationUnit, den kompileringsenhed, Hurtig assistance skal anvendes til
  • projectNatures: typen Collection, alle det aktuelle projekts naturer
  • sourceLevel: typen String, det aktuelle projekts kildeoverholdelsesniveau
  • Konfigurationskode:

    <!ELEMENT extension (quickFixProcessor+)>

    <!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+)>

    Angiver markeringstyperne for de problemer, denne Hurtig rettelse-processor kan håndtere. Hvis der ikke angives nogen markeringstyper til håndtering, henter processoren kun problemer med typen org.eclipse.wst.jsdt.core.problem, org.eclipse.wst.jsdt.core.buildpath_problem og org.eclipse.wst.jsdt.core.task.



    <!ELEMENT markerType EMPTY>

    <!ATTLIST markerType

    id CDATA #REQUIRED

    >


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

    Et generisk rodelement. Elementet kan anvendes i et udvidelsespunkt for at angive dets aktiveringsudtryk. Et aktiveringsudtryks underordnede kombineres vha. operatoren "and".



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

    Dette element repræsenterer en NOT-funktion på resultatet af evalueringen af dets underelementudtryk.



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

    Dette element repræsenterer en AND-funktion på resultatet af evalueringen af dets underelementudtryk.



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

    Dette element repræsenterer en OR-funktion på resultatet af evalueringen af alle dets underelementudtryk.



    <!ELEMENT instanceof EMPTY>

    <!ATTLIST instanceof

    value CDATA #REQUIRED

    >

    Dette element anvendes til at udføre et instanceof-check af objektet i fokus. Udtrykket returnerer EvaluationResult.TRUE, hvis objektets type er en undertype der er angivet af attributværdien. Eller returneres EvaluationResult.FALSE.



    <!ELEMENT test EMPTY>

    <!ATTLIST test

    property              CDATA #REQUIRED

    args                  CDATA #IMPLIED

    value                 CDATA #IMPLIED

    forcePluginActivation (true | false)

    >

    Dette element anvendes til evaluere egenskabstilstanden for objektet i fokus. Det sæt egenskaber, der kan testes på, kan udvides vha. udvidelsespunktet org.eclipse.core.expressions.propertyTesters. Testudtrykket returnerer EvaluationResult.NOT_LOADED, hvis den egenskabstester, der skal udføre den egentlige test, ikke er indlæst endnu, og attributten forcePluginActivation er angivet til false. Hvis forcePluginActivation er angivet til true, og den evalueringskontekst, der benyttes til at evaluere dette udtryk, understøtter plugin-aktivering, vil aktivering af egenskaben resultere i aktivering af den plugin, der definerer testeren.



    <!ELEMENT systemTest EMPTY>

    <!ATTLIST systemTest

    property CDATA #REQUIRED

    value    CDATA #REQUIRED

    >

    Tester en systemegenskab ved at kalde metoden System.getProperty og sammenligner resultatet med den værdi, der er angivet via værdiattributten.



    <!ELEMENT equals EMPTY>

    <!ATTLIST equals

    value CDATA #REQUIRED

    >

    Dette element anvendes til at udføre en sammenligningskontrol af objektet i fokus. Udtrykket returnerer EvaluationResult.TRUE, hvis objektet er lig med den værdi, der angives af attributten value. Eller returneres EvaluationResult.FALSE.



    <!ELEMENT count EMPTY>

    <!ATTLIST count

    value CDATA #REQUIRED

    >

    Dette element anvendes til at teste antallet af elementer i en samling.



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

    <!ATTLIST with

    variable CDATA #REQUIRED

    >

    Dette element ændrer det objekt, der skal undersøges for alle underordnede elementer, til et objekt, der henvises til fra en given variabel. Hvis variablen ikke kan opløses, vil udtrykket sende en ExpressionException, når den evalueres. Et with-udtryks underordnede kombineres med operatoren "and".



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

    <!ATTLIST resolve

    variable CDATA #REQUIRED

    args     CDATA #IMPLIED

    >

    Dette element ændrer det objekt, der skal undersøges for alle underordnede elementer, til et objekt, der henvises til fra en given variabel. Hvis variablen ikke kan opløses, vil udtrykket sende en ExpressionException, når den evalueres. Et resolve-udtryks underordnede kombineres med operatoren "and".



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

    <!ATTLIST adapt

    type CDATA #REQUIRED

    >

    Dette element anvendes til at tilpasse objekter i fokus til den type, der er angivet af attributtypen. Udtrykket returnerer EvaluationResult.NOT_LOADED, hvis adapteren eller den type, der henvises til, ikke er indlæst endnu. Det sender en ExpressionException under evalueringen, hvis typenavnet slet ikke findes. Et resolve-udtryks underordnede kombineres med operatoren "and".



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

    <!ATTLIST iterate

    operator (or|and)

    ifEmpty  (true | false)

    >

    Dette element bruges til at gentage over en variabel af typen java.util.Collection eller en variabel, som tilpasses til org.eclipse.core.expressions.IIterable. Hvis objektet i fokus ikke er et af ovenstående, sendes en CoreException med en ExpressionStatus, når udtrykket evalueres. Et aktiveringsudtryks underordnede udtryk kombineres vha. operatoren "and".



    <!ELEMENT reference EMPTY>

    <!ATTLIST reference

    definitionId IDREF #REQUIRED

    >

    Dette element bruges til at referere et udtryk fra udvidelsespunktet org.eclipse.core.expressions.definitions. Udtryksdefinitionen evalueres i det aktuelle udtrykselement vha. den aktuelle evalueringskontekst.



    Eksempler:
    Nedenfor vises et eksempel på en leveret Hurtig rettelse-processor:

    
     <extension point="org.eclipse.wst.jsdt.ui.quickFixProcessors">
      <quickFixProcessor
       id="AdvancedQuickFixProcessor"
       name="Advanced Quick Fix Processor"
       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-oplysninger:
    Bidragsklassen skal implementere org.eclipse.wst.jsdt.ui.text.java.IQuickFixProcessor


    Copyright (c) 2007 IBM Corporation and others.
    All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html