2012-04-07 5 views
0

Я пытаюсь программно получить связанные расширения файлов для определенного редактора из моего (на основе DLTK) плагина Eclipse. Причиной этого является то, что я хочу только индексировать файлы, связанные с моим редактором, и мне нужно избегать жесткого кодирования расширений, поскольку пользователи могут связывать любое расширение файла с редактором с помощью настроек 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; 
}  

ответ

2

Вы можете получить все file editor mappings

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

, а затем выберите только связанный с вашей EditorID.

+0

работает отлично, спасибо. – pulse00

 Смежные вопросы

  • Нет связанных вопросов^_^