2016-06-21 7 views
0

プラグインを作成しました。プラグインの機能の一部として、「問題」テーブルまたは「コンソール」に何かを書き込む必要があります'プラグインから「問題」テーブルまたは「コンソール」に書き込む

ビルド時にEclipseがエラー/警告を表示する方法と非常によく似たものにしようとしています。

エラーコード、エラーメッセージ、および回線番号があります。私は、この背後にあるロジックを、表を使用してSWTアプリケーションに作成しました。ただし、プラグインを作成する必要があります。今のところ、私はEclipseの 'Problems'テーブルに表示する方法を試しています。必死の試みで

は、私が

System.out.println 
System.console().writer().println(), 

でコンソールへの書き込みをしようとしたが、それはうまくいきませんでした。私はまた、

StatusManager ab; 
IStatus status = new Status(Status.ERROR, "HELLO", "HELLO!"); 
ab.handle(status, 0); 

を使用してみました。しかし、私がABを初期化する必要があるようだが、私は

StatusManager ab = new StatusManager(); 

と私も

logger.info("Info!"); 
logger.severe("Error!"); 
logger.warning("Warning!"); 

を試してみました。しかし、彼らは動作しないことを行うことができませんどちらか。

Plugin ab; 
ab.getLog().log(new Status(Status.INFO,"Hello", "hehe")); 

は、私が実際にこれを行う方法の正しい方向に私をプッシュするヘルプのビットを必要とする

Plugin ab = new Plugin(); 

私はABを初期化する必要があるのいずれかの原因が、動作しません。

P.S:私が言及しているコンソールまたは問題テーブルは、実際のEclipseです。

答えて

1

問題ビューには、タイプが問題のIMarkerオブジェクトが表示されます。

マーカーオブジェクトは常にIResourceオブジェクト(またはIFileおよびIFolderなどの派生インターフェイスの1つ)に関連付けられます。

IFile file = .... get file to mark 

IMarker marker = file.createMarker(IMarker.PROBLEM); 

marker.setAttribute(IMarker.LINE_NUMBER, line number); 
marker.setAttribute(IMarker.MESSAGE, "error message"); 
marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR); 

は、あなたが他のプラグインのマーカーからあなたのマーカーを区別するのに役立ちますあなた自身のマーカータイプを定義するためにorg.eclipse.core.resources.markers拡張ポイントを使用することができます。

はあなたのようなものでマーカーを作成します。

+0

ファイルがない場合には、常にワークスペースルートがあります。 'IResource root = ResourcesPlugin.getWorkspace()。getRoot()' – Basilevs

+0

ありがとう!それは完璧に働いた!あなたの答えは@Basilevsと組み合わせて魅力的に働いた。どうもありがとうございました!最後に! –

+0

ちょっとフォローアップの質問@ greg-449、 'file.createMarker(IMarker.PROBLEM);'に関して、問題の表にタイプが「問題」であることを示しています。これをカスタム文字列に変更できますか? '構文チェック'?私はそれを変更しようとしましたが、IMarker.Problemを変更するとマーカーが作成されません。 –

関連する問題