Я написал свою собственную стратегию сопоставления файлов, реализовав IEditorMatchingStrategy следующим образом:
public class FileMatchingStrategy implements IEditorMatchingStrategy {
@Override
public boolean matches(IEditorReference editorRef, IEditorInput input) {
if (!(input instanceof IFileEditorInput))
return false;
if (null == input || null == editorRef) {
return false;
}
IFile file = input.getAdapter(IFile.class);
IPath rawFilePath = file == null ? null : file.getRawLocation();
if (null == rawFilePath) {
return false;
}
if("File.java".equals(rawFilePath.toOSString())){
MessageDialog.openError(Display.getDefault().getActiveShell(),
"Header", "Message");
return true;
}
return false;
} }
Теперь при каждом щелчке по любому представлению (например, представлению проблем) вызывается стратегия сопоставления файлов, которая вызываетвсплывающее окно, чтобы показать, даже если файл не открывается двойным щелчком мыши.
Можно ли отфильтровывать одиночные клики и обрабатывать только двойные клики / Открыть файл из проводника проекта?