{"id":5240,"date":"2015-02-21T17:57:27","date_gmt":"2015-02-21T16:57:27","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=5240"},"modified":"2023-08-20T14:55:10","modified_gmt":"2023-08-20T12:55:10","slug":"eclipse-plugin-wie-kann-der-absolute-dateipfad-einer-selektierten-datei-aus-der-view-des-package-oder-project-explorer-ermittelt-werden","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=5240","title":{"rendered":"Eclipse Plugin: Wie kann der absolute Dateipfad einer selektierten Datei aus der View des Package oder Project Explorer ermittelt werden?"},"content":{"rendered":"<p>Wie kann in Eclipse Luna 4.4.1 aus einem Plugin der absolute Dateipfad einer selektierten Datei aus dem Package oder Project Exporer ermittelt werden?<br \/>\nDas Selection Service wird ja sch\u00f6n <a href=\"https:\/\/www.eclipse.org\/articles\/Article-WorkbenchSelections\/article.html#example\" title=\"selektion\" target=\"_blank\" rel=\"noopener\">hier<\/a> beschrieben.<br \/>\nBefindet man sich nicht in einer View, sondern in einer Action, kann folgende Methode verwendet werden:<\/p>\n<pre class=\"lang:java decode:true \" >\r\n        \/**\r\n\t * Liefert den selektierten absoluten Dateipfad aus der Package oder Project\r\n\t * Explorer View.\r\n\t * \r\n\t * @param explorer\r\n\t *            Klassennamen des Package oder Projekt Exporers\r\n\t * @return der absolute Dateipfad oder null wenn nichts gew\u00e4hlt oder wenn\r\n\t *         ein Projekt gew\u00e4hlt wird.\r\n\t *\/\r\n\tprivate String getAbsolutenDateiPfad(final String explorer) {\r\n\t\tIWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();\r\n\t\tIStructuredSelection structured = (IStructuredSelection) window.getSelectionService().getSelection(explorer);\r\n\t\tif (structured == null) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tObject erstesElement = structured.getFirstElement();\r\n\t\tif (erstesElement instanceof IFile) {\r\n\t\t\tIFile file = (IFile) structured.getFirstElement();\r\n\t\t\tIPath path = file.getLocation();\r\n\t\t\treturn path.toPortableString();\r\n\t\t} else {\r\n\t\t\t\/\/ Keine Projekte: org.eclipse.core.internal.resources.Project\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}<\/pre>\n<p>Der Test liefert jeweils den Pfad inkl. Dateiname:<\/p>\n<pre class=\"lang:java decode:true \" >\r\nSystem.out.println(\"Im Package Explorer selektierte Datei: \" + getAbsolutenDateiPfad(\"org.eclipse.jdt.ui.PackageExplorer\"));\r\n\r\nSystem.out.println(\"Im Project Explorer selektierte Datei: \" + getAbsolutenDateiPfad(\"org.eclipse.ui.navigator.ProjectExplorer\"));<\/pre>\n<p>Braucht man das Plattform Arbeisverzeichnis kann man dies \u00fcber die folgende static Methode erhalten:<\/p>\n<pre class=\"lang:java decode:true \" >\r\nSystem.out.println(\"Plattform Arbeitsverzeichnis: \" + Platform.getLocation());\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Wie kann in Eclipse Luna 4.4.1 aus einem Plugin der absolute Dateipfad einer selektierten Datei aus dem Package oder Project Exporer ermittelt werden? Das Selection Service wird ja sch\u00f6n hier beschrieben. Befindet man sich nicht in einer View, sondern in einer Action, kann folgende Methode verwendet werden: \/** * Liefert den selektierten absoluten Dateipfad aus &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=5240\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eEclipse Plugin: Wie kann der absolute Dateipfad einer selektierten Datei aus der View des Package oder Project Explorer ermittelt werden?\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[4,1975],"tags":[1978,1979,2177,310,1386,1977,293,1976],"class_list":["post-5240","post","type-post","status-publish","format-standard","hentry","category-eclipse","category-plugin","tag-absuluter-dateipfad","tag-action","tag-eclipse","tag-eclipse-plugin","tag-luna","tag-package-exporere","tag-plugin","tag-view"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/5240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5240"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/5240\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5240"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}