私はそれが何かを待っている間に何か他のものを読んだり、作業したりすることをしばしば最小限に抑えます(例えば、大規模な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. タスクがキャンセルされたか待機時間が終了したかを知る方法
- 2. ASyncタスクが終了した後にアンドロイドサービスを終了する方法完了しましたか?
- 3. Eclipse - Eclipseのシャットダウン/終了時にタスクを実行する
- 4. タスクが終了したらUIAlertViewを終了します
- 5. Javaスクリプトの終了に時間がかかります
- 6. CruiseControl.NetとNUnit - テストは終了しましたが、タスクはありませんか?
- 7. Eclipse pydevから実行終了を取得する方法は?
- 8. Popen終了時に信号を受信する方法はありますか?
- 9. 終了時にコマンドを実行する方法はありますか(スクリプトの終了方法にかかわらず)?
- 10. Azureスタートアップタスクを終了してからOnStart()を実行するまでに時間がかかりますか?
- 11. 終了アニメーションが終了した後にPowerPointスライドを自動進める方法はありますか?
- 12. Powershellでハングしたプロセスを終了する方法はありますか?
- 13. OpenGLの操作が終了したかどうかを確認する方法はありますか?
- 14. シェルコマンドからの時間切れ終了
- 15. ゲーム終了からのスウィフトカウントダウン+ 1時間
- 16. コマンドラインプログラムが終了するのを待つ方法はありますか?
- 17. ブラウザが終了したらセッションを終了する方法
- 18. .netメソッドから例外として、終了または終了しないエラーがありますか?
- 19. 長時間実行中のタスクを強制終了/再開する方法
- 20. Windowsサービスを正常に終了するまで何時間もかかることがありますか?
- 21. コンソールアプリケーションの終了を防ぐ方法はありますか?
- 22. サブシェルが戻る前にメインシェルを終了する方法はありますか?
- 23. iPhone:ビデオが終了する前にMPMoviePlayerControllerを終了する方法はありますか?
- 24. Cordova:音声ディクテーションがiOSで終了したかどうかを検出する方法はありますか
- 25. jQueryアニメーションが終了するまでの時間を変更する方法は?
- 26. Button Rippeアニメーションの終了方法は?リップルアニメーションの終了後に何かをしたり、何かをしたりするのが良い方法です。
- 27. 終了するまで、raw_inputを繰り返す方法はありますか?
- 28. ExecutorServiceが正常終了したかどうかを知る方法はありますか?
- 29. タッチが開始されてからタッチが終了するまでの時間
- 30. Eclipseに何がCPU時間を食べているかを判断する方法はありますか?
OSは、このようなことを行うAPIを提供していると思いますか? Windows 7のEclipseのタスクバーアイコンは、新しいソフトウェアのインストールの進行状況を報告することができます。基本的にプラットフォーム/ swtは特定のOS上でそれをサポートしますが、プラグインは進捗状況を報告する機能を使用するように適応する必要があります。 – Kane