我有一个插件,通过使用:
强制重启EclipseWorkbench.getInstance().restart();
但是,我需要重新启动以包含一个新的环境变量:
eclipse.refreshBundles=true
有没有办法为下次重启Eclipse添加这样的环境变量?
答案 0 :(得分:4)
Eclipse有两种重启模式:使用上一个命令行“restart”,或使用新命令行“重新启动”。启动程序本身将记住上一个命令行,因此为了添加新的系统属性,您需要重新启动。
重启/重启是IApplication API的一部分,如果设置系统属性eclipse.exitcode=24
,Workbench.restart()将导致IDEApplication返回重新启动。
对于重新启动,您需要将新命令行放在eclipse.exitdata
系统属性中。您需要使用eclipse.commands
和eclipse.vmargs
系统属性重建命令行,并添加-Declipse.refreshBundles=true
vm参数。有关此示例,请查看org.eclipse.ui.ide中的OpenWorkspaceAction
,它使用重新启动来切换工作区。
请注意,在重新启动的eclipse中,eclipse.refreshBundles将成为命令行的一部分,除非您修改系统属性,否则它将保留在那里以便进一步重新启动。如果您完全退出并重新开始,它将会消失。