0

新しい言語用のプラグインを作成し、インデックス作成と検索機能に DLTK を使用しました。

Eclipse Luna (PDE 3.10.1) と DLTK (5.0) を使用しています。

私の質問は次のとおりです。タブを切り替えるときに、手動でファイルのインデックスを再作成し、エディターを更新するにはどうすればよいですか?

ファイルが再度開かれると、インデックスが再作成され、エラー マーカーが更新されますが、切り替え中に依存ファイルが他のタブで変更されるため、エラー マーカーは更新されません。

私は以下のように試しました: インデックスを作成していますが、エディターを更新していません。

IPartListener2 を追加し、partBroughtToTop() メソッドには、インデックス作成と更新のための次のコードがあります。

IModelElement model = EditorUtility.getEditorInputModelElement(partRef.getPage().getActiveEditor(), true);

if (model instanceof ISourceModule) {
    ProblemCollector prob = new ProblemCollector();
    SourceParserUtil.clearCache();
    // get cache entry
    final ISourceModuleInfo cacheEntry = ModelManager.getModelManager().getSourceModuleInfoCache().get((ISourceModule)model);
    ModuleDeclaration mod = (ModuleDeclaration)SourceParserUtil.parse((ISourceModule)model, prob);
    SourceParserUtil.putModuleToCache(cacheEntry, mod, prob);
    SourceParserUtil.enableCache();

    IEditorPart editor = partRef.getPage().getActiveEditor();
    IEditorInput input = editor.getEditorInput();
    try {
     ((ScriptEditor)editor).getDocumentProvider().resetDocument(input);
    }
    catch (CoreException e) {
    }
}

前もって感謝します。

4

1 に答える 1