eclipse eclipse-plugin contextmenu eclipse-3.6

¿Es posible ocultar/eliminar elementos de menú de contexto arbitrario en Eclipse(3.6)?



eclipse-plugin contextmenu (1)

Mi pregunta se puede dividir en tres:

¿Es posible ocultar / eliminar elementos de menú de contexto arbitrario en Eclipse (3.6) por ...

  1. interfaz de usuario estándar?
  2. algunos plug-in existentes?
  3. plug-in personalizado?

No pude encontrar formas de hacerlo con los métodos 1 y 2. Si la única opción es crear un complemento personalizado, ¿podría alguien empujarme hacia la dirección correcta donde comenzar (tengo algo de experiencia en Java, pero no en el complemento Eclipse En s).


Puede ocultar menús o entradas de menú a través de la GUI estándar: consulte la ayuda

Para ocultar un elemento del menú o el botón de la barra de herramientas:

  • Cambie a la perspectiva que desea configurar.
  • Seleccione Window > Customize Perspective....
  • Abra la pestaña Visibilidad del menú o Visibilidad de la barra de herramientas.
  • Encuentra el artículo que quieres ocultar.
  • Desmarque la casilla de verificación junto al elemento. Desmarca un menú para ocultar todos sus hijos.
  • Haga clic en Aceptar para que los cambios surtan efecto.

Pero eso ocultará esta entrada de todos los menús (contextuales o no) en los que está presente.
Por lo tanto, es posible que no sea tan detallado como desee a través de la GUI.

También puedes probarlo a través de un complemento (ver también Contribución del menú )

Los primeros pasos son bastante estándar para usar extensiones en Eclipse.

  • Abra el archivo plugin.xml y agregue la org.eclipse.ui.activities extension .
  • Luego crea un nodo de actividad y dale una ID única.
  • Luego cree un nodo activityPatternBinding y use la ID única de la actividad para encontrar el nodo de patrón para el nodo de actividad.
    El nodo activityPatternBinding requiere que proporcione una expresión regular para la cadena de ID del elemento UI que desea ocultar.

El problema es que parece haber al menos 3 formas en que los elementos del menú y los botones de la barra de herramientas se agregan a la interfaz de usuario.

  • La primera forma es a través de las nuevas extensiones de Comando / Menú.
  • La segunda forma es a través de la antigua extensión ActionSets.
  • Luego hay otros elementos de la interfaz de usuario que parecen estar codificados en el Workbench y no tienen cadenas de ID y no pueden ocultarse utilizando la Extensión de Actividades. Afortunadamente, hay pocos de este tercer tipo de elemento de interfaz de usuario.

Teniendo en cuenta que estás hablando del último Eclipse, copiaré solo la primera manera:

1 / Usa el espía plug-in

La primera forma es usar el Plug-In Spy.
Presione alt - shift - F2 y haga clic en un elemento del menú o en el botón de la barra de herramientas que desea ocultar.
Si hay una cadena de ID bajo el encabezado "identificador de definición de acción activa", entonces está de suerte.
Este elemento se ha agregado usando la Extensión de Comando y puede usar esta ID como el argumento del patrón para la Extensión de Actividades.
Pero no todos los elementos que se han agregado con la Extensión de Comando presentan su cadena de ID al espía del complemento.

Como nota al margen, las cadenas de identificación están separadas por un período.
Por ejemplo, la ID de un botón podría ser " org.eclipse.ui.navigate.backwardHistory ".
Las expresiones regulares usan el punto para representar cualquier carácter. Afortunadamente, el período utilizado como comodín coincide con los caracteres del período real, por lo que no es necesario que se escape de ellos si no lo desea. Creo que hace que sea un poco más fácil de leer si no se escapan y es muy poco probable que cause coincidencias ambiguas.