0

我正在尝试从我的(基于 DLTK 的)Eclipse 插件中以编程方式检索特定编辑器的关联文件扩展名。原因是我只想索引与我的编辑器关联的文件,并且我需要避免对扩展名进行硬编码,因为用户可以通过 Eclipse 首选项将任何文件扩展名关联到编辑器。

示例代码:

public boolean isValidPluginFile(ISourceModule sourceModule) {

    // currently: 
    if (sourceModule.getUnderlyingResource().getFileExtension().equals("twig")) {
      return true;
    }
    return false;

    // what i would need instead (pseudocode):

    List extensions = Somehow.Retrieve.AssociatedExtensionsFor('MyEditorID');
    for (String extension : extensions) {
       if (sourceModule.getUnderlyingResource().getFileExtension().equals(extension)) {
         return true;
       }
    }

    return false;
}    
4

1 回答 1

2

您可以获得所有文件编辑器映射

IEditorRegistry editorReg = PlatformUI.getWorkbench().getEditorRegistry();
IFileEditorMapping[] mappings = editorReg.getFileEditorMappings();

然后选择仅关联到您的 editorId。

于 2012-04-07T08:19:48.607 回答