Accesos directos de lanzamiento

org.eclipse.debug.ui.launchShortcuts

Este punto de extensión proporciona soporte para el lanzamiento sensible a la selección. Las extensiones registran un acceso directo que aparece en los menús en cascada de ejecución y/o depuración para lanzar la selección del entorno de trabajo o el editor activo.

<!ELEMENT extension (shortcut*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT shortcut (perspective* , contextualLaunch? , enablement?)>

<!ATTLIST shortcut

id            CDATA #REQUIRED

modes         CDATA #REQUIRED

class         CDATA #REQUIRED

label         CDATA #REQUIRED

icon          CDATA #IMPLIED

category      CDATA #IMPLIED

helpContextId CDATA #IMPLIED

path          CDATA #IMPLIED>


<!ELEMENT perspective EMPTY>

<!ATTLIST perspective

id CDATA #REQUIRED>

El elemento perspective ha quedado obsoleto en el release 3.1. Los menús en cascada de nivel superior Ejecutar/Depurar/Perfilar dan soporte al lanzamiento contextual (sensible a la selección) y los clientes deben proporcionar en su lugar un elemento contextualLaunch.



<!ELEMENT contextualLaunch (contextLabel* , enablement?)>

Contiene todas las descripciones para añadir accesos directos al menú en cascada sensible a la selección Ejecutar/Depurar/Perfilar.



<!ELEMENT contextLabel EMPTY>

<!ATTLIST contextLabel

mode  (run|debug|profile)

label CDATA #REQUIRED>

Especifica la etiqueta de una modalidad de lanzamiento contextual.



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

Elemento raíz genérico. El elemento puede utilizarse en un punto de extensión para definir su expresión enablement. Los hijos de una expresión de habilitación se combinan mediante el operador and.



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

Este elemento representa una operación NOT en el resultado de evaluar la correspondiente expresión de subelemento.



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

Este elemento representa una operación AND en el resultado de evaluar todas las expresiones de los correspondientes subelementos.



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

Este elemento representa una operación OR en el resultado de evaluar todas las expresiones de subelementos.



<!ELEMENT instanceof EMPTY>

<!ATTLIST instanceof

value CDATA #REQUIRED>

Este elemento se utiliza para realizar una comprobación instanceof del objeto que tiene el foco. La expresión devuelve EvaluationResult.TRUE si el tipo del objeto es un subtipo del tipo especificado por el atributo value. De lo contrario, se devuelve EvaluationResult.FALSE.



<!ELEMENT test EMPTY>

<!ATTLIST test

property CDATA #REQUIRED

args     CDATA #IMPLIED

value    CDATA #IMPLIED>

Este elemento se utiliza para evaluar el estado de propiedad del objeto que tiene el foco. El conjunto de propiedades que pueden probarse puede ampliarse mediante el punto de extensión de probador de propiedades. La expresión de prueba devuelve EvaluationResult.NOT_LOADED si el probador de propiedades que realiza la prueba no se ha cargado todavía.



<!ELEMENT systemTest EMPTY>

<!ATTLIST systemTest

property CDATA #REQUIRED

value    CDATA #REQUIRED>

Prueba una propiedad del sistema llamando al método System.getProperty y compara el resultado con el valor especificado con el atributo value.



<!ELEMENT equals EMPTY>

<!ATTLIST equals

value CDATA #REQUIRED>

Este elemento se utiliza para realizar una comprobación equals del objeto que tiene el foco. La expresión devuelve EvaluationResult.TRUE si el objeto es igual al valor proporcionado por el atributo value. De lo contrario, se devuelve EvaluationResult.FALSE.



<!ELEMENT count EMPTY>

<!ATTLIST count

value CDATA #REQUIRED>

Este elemento se utiliza para probar el número de elementos de una colección.



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

<!ATTLIST with

variable CDATA #REQUIRED>

Este elemento cambia el objeto en el que hay que inspeccionar todos los elementos hijo para que pase a ser el objeto al que hace referencia la variable dada. Si la variable no se puede resolver, la expresión lanzará una ExpressionException al evaluarla. Los hijos de una expresión with se combinan mediante el operador and.



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

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

Este elemento cambia el objeto en el que hay que inspeccionar todos los elementos hijo para que pase a ser el objeto al que hace referencia la variable dada. Si la variable no se puede resolver, la expresión lanzará una ExpressionException al evaluarla. Los hijos de una expresión with se combinan mediante el operador and.



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

<!ATTLIST adapt

type CDATA #REQUIRED>

Este elemento se utiliza para adaptar el objeto en foco al tipo especificado por el atributo type. La expresión retorna sin cargar si el adaptador o el tipo al que se hace referencia todavía no está cargado. Se lanza una ExpressionException durante la evaluación si el nombre del tipo no existe en absoluto. Los hijos de una expresión adapt se combinan mediante el operador and.



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

<!ATTLIST iterate

operator (or|and) >

Este elemento se usa para reiterar una variable del tipo java.util.Collection. Si el objeto que tiene el foco no es del tipo java.util.Collection, se enviará una ExpressionException al evaluar la expresión.



A continuación figura un ejemplo de punto de extensión de acceso directo de lanzamiento:

 

<extension point=

"org.eclipse.debug.ui.launchShortcuts"

>

<shortcut id=

"com.example.ExampleLaunchShortcutId"

modes=

"run,debug"

class=

"com.example.ExampleLaunchShortcutImpl"

label=

"Ejemplo de acceso directo de lanzamiento"

icon=

"icons/examples.gif"

>

<perspective id=

"org.eclipse.jdt.ui.JavaPerspective"

/>

<perspective id=

"org.eclipse.debug.ui.DebugPerspective"

/>

</shortcut>

</extension>

En el ejemplo anterior, en las perspectivas Java (JavaPerspective) y Depuración (DebugPerspective), en los menús en cascada de ejecución y depuración, se mostrará un acceso directo de lanzamiento con la etiqueta "Acceso directo de lanzamiento de ejemplo".

El valor del atributo class debe ser un nombre totalmente calificado de una clase Java que implemente la interfaz org.eclipse.debug.ui.ILaunchShortcut.

A partir de la versión 3.1, la plataforma de depuración registra un manejador de mandatos para cada acceso directo de lanzamiento y sus modalidades aplicables para permitir a los clientes definir enlaces de teclas para un acceso directo de lanzamiento. El ID de mandato de un manejador se genera como atributo id de acceso directo de lanzamiento, seguido de un punto y la modalidad de lanzamiento aplicable. Por ejemplo, el ID de mandato del ejemplo de acceso directo de lanzamiento anterior sería com.example.ExampleLaunchShortcutId.debug para realizar el lanzamiento en la modalidad de depuración. Un enlace de mandato y teclas puede definirse de la manera siguiente para enlazar "ALT-Mayús-D, E" al acceso directo de lanzamiento.

   

<extension point=

"org.eclipse.ui.commands"

>

<command name=

"Debug Example Launch"

description=

"Debug Example Launch"

categoryId=

"org.eclipse.debug.ui.category.run"

id=

"com.example.ExampleLaunchShortcutId.debug"

>

</command>

<keyBinding keySequence=

"M3+M2+D E"

contextId=

"org.eclipse.ui.globalScope"

commandId=

"com.example.ExampleLaunchShortcutId.debug"

keyConfigurationId=

"org.eclipse.ui.defaultAcceleratorConfiguration"

>

</keyBinding>

</extension>