Eclipse插件完全取消

时间:2014-12-08 15:32:58

标签: eclipse eclipse-plugin terminate eclipse-pde cancellation

当你在eclipse插件中实现Job和Override run() - 方法时,你可以更改参数IProgressMonitor并跳过任务,如果用户按下这样取消:

        if (!monitor.isCanceled()){
            monitor.subTask("Doing stuff");
            //do task
        } else {
            returnedStatus = Status.CANCEL_STATUS;
        }

但这意味着至少必须在跳过其余任务之前完成当前活动的任务。有没有办法完全中止插件活动并在用户按下取消时执行finally块,而不等待下一个if (!monitor.isCanceled())并且不将整个程序细分为subTasks?

1 个答案:

答案 0 :(得分:1)

没有。您的工作必须是对取消作出反应的工作,因此您需要将工作分解为可以使用worked()报告进度的任务并检查取消,或者您必须发送子进程监视器并执行操作同样的事情。

https://eclipse.org/articles/Article-Progress-Monitors/article.html