Pregunta

Quiero abrir el " Ctrl-Shift-T " cuadro de diálogo (buscar un tipo) mediante programación en eclipse plug-in. Probé FilteredItemsSelectionDialog y ResourceListSelectionDialog, pero ¿cómo obtengo todos los tipos en el espacio de trabajo?

Gracias Ido.

¿Fue útil?

Solución

Mire org.eclipse.jdt.internal.ui.actions.OpenTypeAction para ver cómo Eclipse lo maneja. La parte clave es esta:

SelectionDialog dialog= new OpenTypeSelectionDialog(parent, true,
    PlatformUI.getWorkbench().getProgressService(), null, 
    IJavaSearchConstants.TYPE);
dialog.setTitle(JavaUIMessages.OpenTypeAction_dialogTitle);
dialog.setMessage(JavaUIMessages.OpenTypeAction_dialogMessage);

int result= dialog.open();

Donde padre es el compuesto para el que desea abrir el diálogo. Por lo general, el shell del banco de trabajo activo, obtenido por:

Shell parent= JavaPlugin.getActiveWorkbenchShell();

OpenTypeSelectionDialog está en un paquete interno, por lo que obtendrá un "Acceso desaconsejado" advertencia. Siempre y cuando conozca los riesgos, le recomendaría usar este tipo. " Desalentado " es una advertencia, no un error, y en la práctica Eclipse introduciría un OpenTypeSelectionDialog 2 en lugar de cambiar las firmas actuales. La plataforma Eclipse y los principales productos intentan mantener la compatibilidad tanto como sea posible para alentar la innovación (consulte política en la wiki). En general, con un acceso desaconsejado, tiene sentido que proteja el resto de su código de los cambios de API utilizando un ayudante. Esto significa que tiene un punto único que debería cambiar si cambia el tipo de referencia.

La alternativa es que usted mismo implemente el cuadro de diálogo y su elemento primario, pero el elemento primario, FilteredTypesSelectionDialog, tiene más de 20 referencias internas, por lo que empeoraría el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top