私はそれが何かを待っている間に何か他のものを読んだり、作業したりすることをしばしば最小限に抑えます(例えば、大規模なJUnitテストスイートを実行し、膨大な数のファイルをレポと同期させ、 、など)。 30秒ごとにチェックして、まだ完了しているかどうかを確認する必要があります。時間のかかる操作が終わったら、タスクバーのアイコンを点滅させて、Eclipseに警告して欲しいです。これを可能にする設定やプラグインはありますか?時間のかかるタスクが終了したらEclipseのタスクバーアイコンをフラッシュする方法はありますか?
答えて
Mylynがインストールされていると思いますが、これはWindows 7ではデフォルトで有効になっているはずです。hereとhereを参照してください。ビルド後のアクションに関して、私はこれを行う既存のEclipseプラグインについて知らない。しかし、私は網羅的に検索していませんthe marketplace。しかし、これは既存のEclipse APIで実現できますが、誰かに新しいEclipseプラグインを作成する必要があります。
ジョブフレームワークにはというIJobManager
があります。
- は、Eclipseのプラグインを作成し、起動時に
IJobManager
にリスナーを登録します。開発者は、ジョブの変更をリッスンするために、このAPIを使用して、次の操作を行うことができ、新たなEclipseプラグインを書くことができます。 - 何か面白いジョブが完了したら、それはJDK
で通常のJavaプロセス実行APIを使用してこれを何らかの外部タスク/スクリプトをオフに解雇ことができるすべては、500未満の行の長おそらく、1つのJavaファイルで達成することができます。 this templateを使用して、build systemを含む基本的なEclipseプラグインプロジェクトをセットアップし、それをビルドして既存のEclipseにインストールする準備ができました。
更新ちょっとhereのEclipseプラグインをビルドするためのmavenのアーキタイプが見つかりました。それは、Eclipseのフィーチャー/ updatesiteを構築するための新しい人のための私の推薦です。
これはタスクバーアイコンを点滅させてもよろしいですか? – Mot
新しいプラグインプロジェクトを作成し、この種の機能を自分で作成することができます。 Eclipse Jobs APIの IJobchangeListenerはおそらく非常に興味深いです。
IJobChangeListener
は、さまざまなタイプのジョブ状態に関する通知を受け取ることができるインターフェイスです。
というクラスを作成しました。IJobchangeListener
をJobManager
に追加しました。 SampleAction
アクションでは、リスナーを登録または登録解除できます。つまり、リスナーが登録されていてアプリケーションが最小化されている場合は、MessageDialog
(点滅するタスクバーなし)で通知されます。
link誰かが自分のスイングアプリケーションを点滅させました。この機能は、public void done(final IJobChangeEvent event)
メソッドに含める必要があります。私はテストクラスでこれをやっていない。
String jobName = event.getJob().getName();
ジョブの名前は、例えば、読める人間である」:
また、あなたはジョブ名を確認することができます
ここevent.getJob();
でJobに関する追加情報を得ることができます「ゴミの回収」、「装飾完了のための更新」、「作業スペースの作成」などが含まれる。
JobListener
クラス。
/**
* A job listener which may be added to a job manager
*/
public class JobListener {
private MyJobListener listener = null;
private IWorkbenchWindow window = null;
private boolean active = false;
public JobListener(IWorkbenchWindow window) {
this.window = window;
}
/**
* register the job listener
*/
public void register() {
listener = new MyJobListener(window);
IJobManager jobMan = Job.getJobManager();
jobMan.addJobChangeListener(listener);
active = true;
}
/**
* unregister the job listener
*/
public void unregister() {
IJobManager jobMan = Job.getJobManager();
jobMan.removeJobChangeListener(listener);
active = false;
}
public boolean isActive() {
return active;
}
class MyJobListener implements IJobChangeListener {
private IWorkbenchWindow window;
public MyJobListener(IWorkbenchWindow window) {
this.window = window;
}
@Override
public void sleeping(IJobChangeEvent event) {
}
@Override
public void scheduled(IJobChangeEvent event) {
}
@Override
public void running(IJobChangeEvent event) {
}
@Override
public void done(final IJobChangeEvent event) {
window.getShell().getDisplay().asyncExec(new Runnable() {
@Override
public void run() {
if(window.getShell().getMinimized()) {
MessageDialog.openInformation(
window.getShell(),
"Test",
"Job " + event.getJob().getName() + " done.");
}
}
});
}
@Override
public void awake(IJobChangeEvent event) {
}
@Override
public void aboutToRun(IJobChangeEvent event) {
System.out.println("About to run: " + event.getJob().getName());
}
}
}
私はあなたが新しいプラグインプロジェクト作成することで、Eclipseプラグインの開発を始めることができますSampleAction.java
public class SampleAction implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window;
private JobListener listener;
/**
* The constructor.
*/
public SampleAction() {
}
public void run(IAction action) {
if(listener.isActive()) {
listener.unregister();
MessageDialog.openInformation(
window.getShell(),
"Lrt",
"Unregistered");
}
else {
listener.register();
MessageDialog.openInformation(
window.getShell(),
"Lrt",
"Registered");
}
}
public void selectionChanged(IAction action, ISelection selection) {
}
public void dispose() {
}
public void init(IWorkbenchWindow window) {
this.window = window;
this.listener = new JobListener(window);
}
と呼ばれるクラスから、このクラスと呼ばれる:私はHello World
プラグインを使用
File > New > Project > Plugin Project
を上記のコードをテストするプロジェクトテンプレート。
- 1. タスク開始時間とタスク終了時間をBaseXに記録する方法
- 2. タスクがキャンセルされたか待機時間が終了したかを知る方法
- 3. ASyncタスクが終了した後にアンドロイドサービスを終了する方法完了しましたか?
- 4. Eclipse - Eclipseのシャットダウン/終了時にタスクを実行する
- 5. SLURM別のタスクが終了したらタスクをqsubする方法は?
- 6. cmd.exeが終了するのに十分な時間停止する方法はありますか?
- 7. Javaスクリプトの終了に時間がかかります
- 8. Eclipse pydevから実行終了を取得する方法は?
- 9. タスクが終了したらUIAlertViewを終了します
- 10. Camundaの歴史的なプロセスインスタンスを終了時間なしに削除する方法はありますか?
- 11. CruiseControl.NetとNUnit - テストは終了しましたが、タスクはありませんか?
- 12. いくつかのAPIからコンテナの開始時間と終了時間を測定する方法は?
- 13. ディレクティブからのドラッグ終了時にのみng-changeをトリガする方法はありますか?
- 14. Popen終了時に信号を受信する方法はありますか?
- 15. 終了時にコマンドを実行する方法はありますか(スクリプトの終了方法にかかわらず)?
- 16. Azureスタートアップタスクを終了してからOnStart()を実行するまでに時間がかかりますか?
- 17. 終了アニメーションが終了した後にPowerPointスライドを自動進める方法はありますか?
- 18. OpenGLの操作が終了したかどうかを確認する方法はありますか?
- 19. Powershellでハングしたプロセスを終了する方法はありますか?
- 20. divのスクロールが終了したら、本文のスクロールを無効にする方法はありますか?
- 21. 1時間ごとにログ実行中のジョブを強制終了する方法はありますか?
- 22. タスクが終了するまでアクションから復帰しない
- 23. インポートされた関数が完了するまでに時間がかかる場合、nodeJSのrequireからstringをインポートする方法はありますか?
- 24. ゲーム終了からのスウィフトカウントダウン+ 1時間
- 25. シェルコマンドからの時間切れ終了
- 26. Windowsサービスを正常に終了するまで何時間もかかることがありますか?
- 27. コマンドラインプログラムが終了するのを待つ方法はありますか?
- 28. Parallel.Foreach内のスレッドが時間をチェックし、時間がかかっている場合は終了します。
- 29. .netメソッドから例外として、終了または終了しないエラーがありますか?
- 30. コンソールアプリケーションの終了を防ぐ方法はありますか?
OSは、このようなことを行うAPIを提供していると思いますか? Windows 7のEclipseのタスクバーアイコンは、新しいソフトウェアのインストールの進行状況を報告することができます。基本的にプラットフォーム/ swtは特定のOS上でそれをサポートしますが、プラグインは進捗状況を報告する機能を使用するように適応する必要があります。 – Kane