我想在eclipse插件中以编程方式打开“Ctrl-Shift-T”对话框(查找类型)。 我试过FilteredItemsSelectionDialog和ResourceListSelectionDialog,但是如何获取工作区中的所有类型?如何在eclipse中以编程方式打开查找类型对话框
谢谢, 伊多。
我想在eclipse插件中以编程方式打开“Ctrl-Shift-T”对话框(查找类型)。 我试过FilteredItemsSelectionDialog和ResourceListSelectionDialog,但是如何获取工作区中的所有类型?如何在eclipse中以编程方式打开查找类型对话框
谢谢, 伊多。
请看org.eclipse.jdt.internal.ui.actions.OpenTypeAction了解Eclipse如何处理它。关键部分是这样的:
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();
其中parent是要打开对话框的组合。通常情况下,活动工作台的外壳,获得人:
Shell parent= JavaPlugin.getActiveWorkbenchShell();
OpenTypeSelectionDialog是在内部包,所以你会得到一个“望而却步访问”的警告。只要你意识到我推荐使用这种类型的风险。 “沮丧”是一个警告,不是一个错误,实际上Eclipse会引入一个OpenTypeSelectionDialog,而不是改变当前的签名。 Eclipse平台和主要产品尽可能保持兼容性以鼓励创新(请参阅Wiki中的policy)。 一般来说,如果您不愿意使用帮助程序,则可以通过使用帮助程序来屏蔽代码的其余部分,以避免API更改。这意味着如果引用类型发生更改,则必须更改单个点。
另一种方法是让你自己实现对话框及其父类,但父类FilteredTypesSelectionDialog有超过20个内部引用,这会使问题变得更糟。
你确实想打开对话框还是直接检索所有结果? – 2009-08-02 12:28:54
我想打开对话框,让用户选择他想要的类型,并且在他选择后,我想以完全限定名称的字符串形式得到结果。看起来OpenTypeSelectionDialog完成了这项工作,但不鼓励。 – Ido 2009-08-02 14:13:58