Eclipseプラグインを作成していますので、ワークスペースで開いているファイルのフルパスを取得する必要があります。Eclipse PDE:外部ファイルのフルパスをWorkbenchで開きます
Eclipseプロジェクトの一部であるファイルのフルパスを取得できました。ワークスペースからオープン/アクティブエディタファイルを取得するためのコード。
public static String getActiveFilename(IWorkbenchWindow window) {
IWorkbenchPage activePage = window.getActivePage();
IEditorInput input = activePage.getActiveEditor().getEditorInput();
String name = activePage.getActiveEditor().getEditorInput().getName();
PluginUtils.log(activePage.getActiveEditor().getClass() +" Editor.");
IPath path = input instanceof FileEditorInput ? ((FileEditorInput) input).getPath() : null;
if (path != null) {
return path.toPortableString();
}
return name;
}
ただし、任意のファイルがdrag-dropped in Workspace
またはFile -> Open File
を使用して開かれている場合。たとえば、「ファイル」→「ファイルを開く」から/Users/mac/log.txtからファイルを開いたとします。私のプラグインはこのファイルの場所を見つけることができません。