2016-07-06 26 views
0

私はいくつかのプラグインを開発しようとします。 私はプラグインとリスナーに勉強しています。 と私はリスナーとjavamodelを使用して例を開発しようとします。 しかし、私はIPackageFragmentRoot要素にアクセスするとき、私がしたいことをしていません。 だから、私はそれをデバッグしました。次に、IJavaProject要素が開いていないことがわかります!しかし、私はまだ日食でこのプロジェクトにアクセスすることができます。なぜ私はIPackageFragmentRootにアクセスできないのですか?

私のコードで何が間違っていますか? IPackageFragmentRootでどのようにアクセスできますか?

これは開いていない状態の例です。

project

pacakage

これは、コードスニペットです。 currentProjectは、私がパッケージエクスプローラで選択したIProjectです。

if (currentProject != null) { 
    try { 
     currentProject.open(new NullProgressMonitor()); 
    } catch (CoreException e) { 
     e.printStackTrace(); 
    } 
    IJavaProject javaProject = JavaCore.create(currentProject); 
    ProjectTreeNode root = createTreeNode(javaProject.getElementName()); 
    IPackageFragmentRoot srcFolder = javaProject.getPackageFragmentRoot("src"); 
    root = getContents(srcFolder, root); 
    setInput(root); 
} 

を追加し、私は新しいワークスペース内のいくつかのプロジェクトをインポートしました。

enter image description here

この間違った方法です??

答えて

0

プラグインを実行してテストするために、「Eclipseアプリケーションとして実行」を使用しているとします。

プラグインを実行すると、Eclipseは新しいワークスペースで完全に新しいEclipseのインスタンスを開始します。既存のコードはこのワークスペースに存在しません。この新しいワークスペースでテストするプロジェクトを含む新しいプロジェクトを作成する必要があります。

+0

あなたの答えをありがとう。しかし私は別の質問があります。だから、私は私の質問を更新します。手伝って頂けますか? – user3649231

+0

あなたが何を見せているかは分かりません。プラグインをデバッグするとどうなりますか?あなたは 'IProject'を手に入れていますか?あなたは 'IJavaProject'を手に入れていますか? –

+0

hm .....あなたの答えをありがとう。私はエラーを見つけ、解決策を得ました。 – user3649231

関連する問題