Обновление: мой оригинальный ответ не сработает, поскольку нет контекста для структурированного выделения.
В этом ответе показано, как добавить действие в контекстное меню и получить структурированный выбор. Вы можете изменить метод execute этого типа для обработки Иерархии (как предлагает VonC, +1), получения всех подтипов и установки содержимого в буфер обмена следующим образом:
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
try {
IStructuredSelection selection = SelectionConverter
.getStructuredSelection(activePart);
IJavaElement[] elements = SelectionConverter.getElements(selection);
if (elements != null && elements.length > 0) {
if (elements[0] != null && elements[0] instanceof IType) {
IType type = (IType)elements[0];
ITypeHierarchy hierarchy =
type.newTypeHierarchy(new NullProgressMonitor());
IType[] subTypes = hierarchy.getAllSubtypes(type);
StringBuffer buf = new StringBuffer();
for (IType iType : subTypes) {
buf.append(iType.getFullyQualifiedName()).append("\n");
}
Shell shell = HandlerUtil.getActiveShell(event);
Clipboard clipboard = new Clipboard(shell.getDisplay());
clipboard.setContents(
new Object[]{buf.toString()},
new Transfer[]{TextTransfer.getInstance()});
}
}
} catch (JavaModelException e) {
logException(e);
}
return null;
}