从Eclipse插件调用Import Wizard的编程方式可以通过以下步骤实现:
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.ImportWizard;
import org.eclipse.ui.wizards.datatransfer.FileSystemImportWizard;
public class ImportWizardCaller {
public void callImportWizard() {
// 获取当前工作空间中的项目
IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
// 创建Import Wizard实例
ImportWizard wizard = new FileSystemImportWizard();
// 设置导入的目标项目
wizard.init(PlatformUI.getWorkbench(), new StructuredSelection(projects));
// 打开Import Wizard对话框
wizard.setWindowTitle("Import");
wizard.setForcePreviousAndNextButtons(true);
wizard.setNeedsProgressMonitor(true);
wizard.setContainerMode(true);
wizard.setImportProject(true);
// 执行导入操作
wizard.performFinish();
}
}
<extension point="org.eclipse.ui.commands">
<command
id="com.example.callImportWizardCommand"
name="Call Import Wizard">
</command>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.example.CallImportWizardHandler"
commandId="com.example.callImportWizardCommand">
</handler>
</extension>
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.handlers.HandlerUtil;
public class CallImportWizardHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
ImportWizardCaller caller = new ImportWizardCaller();
caller.callImportWizard();
// 可选:显示一个对话框来确认导入操作已完成
MessageDialog.openInformation(
HandlerUtil.getActiveShell(event),
"Import Wizard",
"Import operation completed successfully.");
return null;
}
}
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar
id="com.example.callImportWizardToolbar"
label="Call Import Wizard">
<command
commandId="com.example.callImportWizardCommand"
icon="icons/import_wizard.png"
tooltip="Call Import Wizard">
</command>
</toolbar>
</menuContribution>
</extension>
通过以上步骤,你可以以编程方式从Eclipse插件调用Import Wizard。这将允许用户使用自定义的插件来导入文件或项目,并根据需要进行进一步的处理。请注意,这只是一个基本示例,你可以根据自己的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云