rherrmann / com.codeaffine.archive Goto Github PK
View Code? Open in Web Editor NEWEclipse plug-in to work with zip archives
Home Page: http://rherrmann.github.com/com.codeaffine.archive/index.html
Eclipse plug-in to work with zip archives
Home Page: http://rherrmann.github.com/com.codeaffine.archive/index.html
To enable the "Import source from repository..." action, all production code bundles should specify the Eclipse-SourceReferences manifest header
See also: http://wiki.eclipse.org/PDE/UI/SourceReferences
Currently, reading archive structures or sub-structures happens on the UI thread. This may freeze the UI thread when dealing with large archives on slow computers.
If this becomes an issue, reading the structure should be done in a background thread that updates the UI asynchonously when done.
The following message is shown in the editor area and logged in the error log:
Factory com.codeaffine.archive.ui.internal.editor.PersistableEditorInputFactory returned null from createElement for editor id=org.eclipse.ui.DefaultTextEditor name=.eclipseproduct
The PersistableEditorInputFactory
doesn't actually persist the editor input. It is only stored in a map in memory that is of course lost after restart. Hence PersistableEditorInputFactory::createElement
returns null for all reqests made by the IDE in order to restore previously opened editors.
With Eclipse 3.x, calls to createElement() that returned null were silently ignored.
This plugin is perfect for what I am doing. Unfortunately, it does not work. I am able to extract .zip files within Eclipse, but I cannot expand them, which is what I really need.
(Eclipse Neon 4.6.0)
I noticed that no license is mentioned in the project's README file. Maybe it's good to place one there ;)
Cheers Holger
There is function overlap with nice Zip Editor http://marketplace.eclipse.org/content/eclipse-zip-editor
But still these projects are good to go together.
Zip Editor is however so old (using CVS) that I had trouble making full clone on GitHub
https://github.com/Nodeclipse/zipeditor
Please take a closer look and talk with Uwe Voigt (the original auther)
Dragging an element from inside an archive to the editor area in order to open it fails randomly.
See this forum post and this forum post
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:220)
at java.util.zip.ZipFile.<init>(ZipFile.java:150)
at java.util.zip.ZipFile.<init>(ZipFile.java:164)
at com.codeaffine.archive.ui.internal.model.ArchiveReader.openZipFile(ArchiveReader.java:49)
at com.codeaffine.archive.ui.internal.model.ArchiveReader.read(ArchiveReader.java:39)
at com.codeaffine.archive.ui.internal.model.ArchiveReader.read(ArchiveReader.java:21)
at com.codeaffine.archive.ui.internal.viewer.ArchiveContentProvider.getChildren(ArchiveContentProvider.java:72)
at com.codeaffine.archive.ui.internal.viewer.ArchiveContentProvider.getChildren(ArchiveContentProvider.java:34)
at com.codeaffine.archive.ui.internal.viewer.ArchiveContentProviderWrapper.getChildren(ArchiveContentProviderWrapper.java:24)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:96)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:275)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:94)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:152)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:139)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:125)
at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1365)
at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:353)
at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:905)
at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:617)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:813)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:791)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:611)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:762)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1495)
at org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeViewer.java:903)
at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:1507)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:132)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7633)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:5618)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1935)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:5169)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4666)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2443)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1553)
at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:6501)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4646)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:6024)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
eclipse.buildId=4.4.0.I20140606-1215
java.version=1.8.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.standard.product -showLocation
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.standard.product -showLocation
Hello @batarian71 , could you do logo for this project?
http://rherrmann.github.io/com.codeaffine.archive/index.html
Reading the plugins documentation on the homepage, I understand that I have to use the "Project Explorer" to open archive files. On the other hand, that is unlucky, because I have bo other reason to use that view. The "Package", and "Navigator" views are open all the time. Would be nice, if you could enable the archive utility in those views, too.
Just to make you aware of this:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=545780
(If it isn't asking too much: A downloadable installation archive would be nice. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=322335 for that.)
Please update https://marketplace.eclipse.org/content/eclipse-archive-utility
to associate with jar,war,ear
e.g. fileExtension_jar etc
These types are known, as in https://github.com/rherrmann/com.codeaffine.archive/blob/master/com.codeaffine.archive.contenttype/plugin.xml#L14
jmod is new format defined in Java 9
In the project explorer, I open an archive, and go to a directory. Now, if I do a right click on a file, I get the items "Open", and "Extract". I'd expect to see "Copy". Granted, "Extract" allows me to copy the file out of the directory just as well, but I wasn't expecting a folder structure below the target directory. Additionally,
Copy/Paste is such a simple, and universal usage pattern. Would be nice to have it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.