Eclipse 中实现工作区的切换

 

说到切换工作区,很快会想到 Eclipse 的“ Switch Workspace ”按钮的功能,他能够从另一个工作区加载用户的数据,如果我们在 Eclipse RCP 的开发中要实现此类似的功能的话,不妨可以参考一下 Eclipse 本身的实现。

此功能的实现在 org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction 类中,位于 org.eclipse.ui.ide 插件里,要查看源代码的话,可以从 Eclipse IDE 的插件列表视图中将此插件导出为源文件项目即可。

下面来看看 OpenWorkspaceAction 的做法是如何实现的:

1)        通过用户的输入(工作空间选择对话框)信息来拼装一个启动命令,通过这个命令直接可以启动一个 Eclipse 平台的实例;

2)        通过方法 System..setProperty ”eclipse.exitdata” ”value” )将这个启动命令存储在 System eclipse.exitdata 属性中;

3)        System eclipse.exitcode 属性设置为 24 relaunch )。 eclipse.exitcode 可以有三种状态,在 IApplication 中注册的,分别是 0 EXIT_OK ), 23 EXIT_RESTART , 24(EXIT_RELAUNCH), 具体每个状态的含义可以参考 IApplication 的帮助。

4)        调用 window.getWorkbench().restart() 方法重新启动。

明白了整个的实现过程后,再来看看关键部分的功能实现,首先是 OpenWorkspaceAction buildCommansLinke String workspace )方法:


 

再来看方法 promptForWorkspace(), 作用是提示选择工作空间:


 

接下来是 restart 方法:

 

 

最后是 run() 方法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值