b3er / idea-archive-browser Goto Github PK
View Code? Open in Web Editor NEWIntelliJ IDEA plugin that allows you to browse archives like folders is IDEA.
License: Apache License 2.0
IntelliJ IDEA plugin that allows you to browse archives like folders is IDEA.
License: Apache License 2.0
Is it possible to add support for modifying files directly inside archives just like vim allows one to? I would find that very useful for ZIP archives.
Thanks for a great plugin 👍 , I was able to browse both .zip and .gz archives, but here is one problem
In my application I have logging via logback, it is configured with such appender:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/client.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/client.%d{yyyy-MM-dd-HH-mm}.%i.log.gz</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<Pattern>
%n%date{HH:mm:ss.SSS} %-5level %t %msg%n%throwable{full}
</Pattern>
</encoder>
</appender>
It produces files like this: client.2017-09-15-14-27.0.log.gz
I was not able to browse it in the project view, the "expand" button simply is not showing.
But I am able to open this file with 7zip or WinRAR
What could be wrong?
Sample stack traces look like
C [lib7-Zip-JBinding.dylib+0x357ec] MultiByteToUnicodeString(CStringBase<char> const&, unsigned int)+0xbc
C [lib7-Zip-JBinding.dylib+0x9ec34] NArchive::NTar::TarStringToUnicode(CStringBase<char> const&)+0x10
C [lib7-Zip-JBinding.dylib+0x9e9ac] NArchive::NTar::CHandler::GetProperty(unsigned int, unsigned int, tagPROPVARIANT*)+0x70
C [lib7-Zip-JBinding.dylib+0x16dcc] Java_net_sf_sevenzipjbinding_impl_InArchiveImpl_nativeGetStringProperty+0xb8
j net.sf.sevenzipjbinding.impl.InArchiveImpl.nativeGetStringProperty(II)Ljava/lang/String;+0
j net.sf.sevenzipjbinding.impl.InArchiveImpl.getStringProperty(ILnet/sf/sevenzipjbinding/PropID;)Ljava/lang/String;+61
j net.sf.sevenzipjbinding.simple.impl.SimpleInArchiveItemImpl.getPath()Ljava/lang/String;+14
j com.github.b3er.idea.plugins.arc.browser.formats.sevenzip.SevenZipArchiveHandler.getIdeaPath(Lnet/sf/sevenzipjbinding/simple/ISimpleInArchiveItem;)Ljava/lang/String;+4
j com.github.b3er.idea.plugins.arc.browser.formats.sevenzip.SevenZipArchiveHandler.getItemForPath(Lcom/github/b3er/idea/plugins/arc/browser/formats/sevenzip/SevenZipArchiveHolder;Ljava/lang/String;)Lnet/sf/sevenzipjbinding/simple/ISimpleInArchiveItem;+72
j com.github.b3er.idea.plugins.arc.browser.formats.sevenzip.SevenZipArchiveHandler.contentsToByteArray(Ljava/lang/String;)[B+38
J 194160 c2 com.intellij.openapi.vfs.newvfs.ArchiveFileSystem$$Lambda$923+0x00000070009c8e10.apply(Ljava/lang/Object;)Ljava/lang/Object; (12 bytes) @ 0x0000000148e90e60 [0x0000000148e90c00+0x0000000000000260]
J 173289 c2 com.intellij.openapi.vfs.DiskQueryRelay$$Lambda$1305+0x0000007000df5898.call()Ljava/lang/Object; (12 bytes) @ 0x00000001441012a0 [0x0000000144101240+0x0000000000000060]
or
C [lib7-Zip-JBinding.dylib+0xe648] CObjectVector<CArcInfoEx>::operator[](int) const+0xc
C [lib7-Zip-JBinding.dylib+0x91768] NArchive::NIso::CHandler::GetProperty(unsigned int, unsigned int, tagPROPVARIANT*)+0xcc
C [lib7-Zip-JBinding.dylib+0x16dcc] Java_net_sf_sevenzipjbinding_impl_InArchiveImpl_nativeGetStringProperty+0xb8
J 19588 net.sf.sevenzipjbinding.impl.InArchiveImpl.nativeGetStringProperty(II)Ljava/lang/String; (0 bytes) @ 0x0000000138705b64 [0x0000000138705ac0+0x00000000000000a4]
J 194557 c1 net.sf.sevenzipjbinding.impl.InArchiveImpl.getStringProperty(ILnet/sf/sevenzipjbinding/PropID;)Ljava/lang/String; (65 bytes) @ 0x0000000128690f70 [0x0000000128690d40+0x0000000000000230]
J 198055 c1 com.github.b3er.idea.plugins.arc.browser.formats.sevenzip.SevenZipArchiveHandler.getItemForPath(Lcom/github/b3er/idea/plugins/arc/browser/formats/sevenzip/SevenZipArchiveHolder;Ljava/lang/String;)Lnet/sf/sevenzipjbinding/simple/ISimpleInArchiveItem; (113 bytes) @ 0x00000001285a4928 [0x00000001285a4540+0x00000000000003e8]
j com.github.b3er.idea.plugins.arc.browser.formats.sevenzip.SevenZipArchiveHandler.getInputStream(Ljava/lang/String;)Ljava/io/InputStream;+40
J 189660 c2 com.intellij.openapi.vfs.newvfs.ArchiveFileSystem.getInputStream(Lcom/intellij/openapi/vfs/VirtualFile;)Ljava/io/InputStream; (32 bytes) @ 0x00000001384b7d30 [0x00000001384b7c00+0x0000000000000130]
J 193296 c2 com.intellij.openapi.fileTypes.impl.FileTypeDetectionService$$Lambda+0x000000080068ce20.apply(Ljava/lang/Object;)Ljava/lang/Object; (12 bytes) @ 0x000000013a77ed54 [0x000000013a77ec80+0x00000000000000d4]
The issue is also present in YouTrack here:
JBR-7274 Crash in Java_net_sf_sevenzipjbinding_impl_InArchiveImpl_nativeGetStringProperty
Hi
I got the issue, that the content of files, zipped with java.util.zip are not displayed in IDEA:
When I zip the files with 7-zip, it's working fine:
Any idea, why?
Zip algorithm looks like this:
int read;
FileInputStream in = null;
ZipOutputStream out = null;
byte[] data = new byte[1024];
File zipFile = new File(dir.getParentFile().getAbsolutePath() + File.separator + dir.getName() + ".zip");
try {
// Zip-Archiv mit Stream verbinden
out = new ZipOutputStream(new FileOutputStream(zipFile));
// Archivierungs-Modus setzen
out.setMethod(ZipOutputStream.DEFLATED);
// Hinzufügen der einzelnen Einträge
for (File file : files) {
String fileNameInZip = file.getPath().replace(dir.getParentFile().getPath() + File.separator, "");
LOGGER.info("Adding File to Zip: " + fileNameInZip);
// Eintrag für neue Datei anlegen
ZipEntry entry = new ZipEntry(fileNameInZip);
in = new FileInputStream(file.getPath());
// Neuer Eintrag dem Archiv hinzufügen
out.putNextEntry(entry);
// Hinzufügen der Daten zum neuen Eintrag
while ((read = in.read(data, 0, 1024)) != -1) {
out.write(data, 0, read);
}
// Neuen Eintrag abschließen
out.closeEntry();
}
return zipFile;
Regards
Stefan
Since the 2019.3 update I get a lot of Failed to clean project: Failed to delete ...
errors when running mvn clean install
. Before that I had no issues.
It seems that the plugin keeps the file handles open. In my case it were always .deb
files, but that might just be the result of file order.
Hi!
Great plugin! Very useful!
I am browsing JAR files nicely, and I can browse a .tar.gz
file, but only if I rename it to .tar
In my case it is a .gem
file from RubyGems, but the content is .tar.gz
.
Renaming to
.tgz
does not work.tar.gz
does not work.gem
does not work.tar
worksI am including the file in question. All help is appreciated. I'll do a PR if you wish.
Awesome Plugin für zip files.
Would it be possible to add tar and tar.gz as well, to browse it in IDEA?
When an archive contains a file which type is associated with an external application and can/should not be opened in Intellij directly (f.e. .mp4) nothing happens, when you double click this file.
We test our application front end with Cypress which records videos for each test case inside a docker container. After the test an archive (tar.gz) with all videos / screenshots is extracted from container and stored in "target" directory of the project. The ArchiveBrowser extension works fine to open the archive an show the included files. But you can't open this files directly.
Additionally you can't drag & drop the file out of the archive. This show the "Move-Dialog" but nothing happens when you click "Refactor".
Currently I have to open the corresponding directory in Finder, extract the archive and open the video. Is there a short cut for this?
Hello, I'm a python writer.
Thanks for your nice plugin.
Numpy is a famous python lib, and it provides a compressed storage format "npz", which is in zip format. Could you please add the format, or could you provide a configuration to add such a mapping, please?
If you use gradle war plugin to build your web-application. The plugin causes that gradle can not access the war causing the exception like
/home/sth/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.11/3acb4705652e16236558f0f4f2192cc33c3bd189/commons-codec-1.11.jar (Operation not permitted)
Does not work on Windows10 with 2019.1.3
Displays top/1st level folders in a JAR file but then clicking on the arrow next to the directory shows no further decomposition of the archive and then the arrow next to the folder dissapears
Sample stack trace of these crashes:
C [lib7-Zip-JBinding.dylib+0x957c] std::__1::__tree<std::__1::__value_type<unsigned long, ThreadContext>, std::__1::__map_value_compare<unsigned long, std::__1::__value_type<unsigned long, ThreadContext>, std::__1::less<unsigned long>, true>, std::__1::allocator<std::__1::__value_type<unsigned long, ThreadContext>>>::__insert_node_at(std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>*, std::__1::__tree_node_base<void*>*&, std::__1::__tree_node_base<void*>*)+0x44
C [lib7-Zip-JBinding.dylib+0x92f8] std::__1::map<unsigned long, ThreadContext, std::__1::less<unsigned long>, std::__1::allocator<std::__1::pair<unsigned long const, ThreadContext>>>::operator[](unsigned long const&)+0x68
C [lib7-Zip-JBinding.dylib+0xa09c] JBindingSession::endCallback()+0x38
C [lib7-Zip-JBinding.dylib+0xa054] JNIEnvInstance::~JNIEnvInstance()+0x20
C [lib7-Zip-JBinding.dylib+0x9124] JNIEnvInstance::~JNIEnvInstance()+0xc
C [lib7-Zip-JBinding.dylib+0x2cdec] CPPToJavaSequentialOutStream::Write(void const*, unsigned int, unsigned int*)+0x100
C [lib7-Zip-JBinding.dylib+0x56504] COutStreamWithCRC::Write(void const*, unsigned int, unsigned int*)+0x54
C [lib7-Zip-JBinding.dylib+0x42324] COutBuffer::FlushPart()+0x94
C [lib7-Zip-JBinding.dylib+0x423ac] COutBuffer::Flush()+0x28
C [lib7-Zip-JBinding.dylib+0x423e0] COutBuffer::FlushWithCheck()+0x10
C [lib7-Zip-JBinding.dylib+0x72194] CLzOutWindow::CopyBlock(unsigned int, unsigned int)+0xd4
C [lib7-Zip-JBinding.dylib+0xb86d8] NCompress::NDeflate::NDecoder::CCoder::CodeSpec(unsigned int)+0x27c
C [lib7-Zip-JBinding.dylib+0xb8a58] NCompress::NDeflate::NDecoder::CCoder::CodeReal(ISequentialOutStream*, unsigned long long const*, ICompressProgressInfo*)+0xbc
C [lib7-Zip-JBinding.dylib+0xb8eac] NCompress::NDeflate::NDecoder::CCoder::CodeResume(ISequentialOutStream*, unsigned long long const*, ICompressProgressInfo*)+0x48
C [lib7-Zip-JBinding.dylib+0x48d38] NArchive::NGz::CHandler::Extract(unsigned int const*, unsigned int, int, IArchiveExtractCallback*)+0x2b4
C [lib7-Zip-JBinding.dylib+0x159e8] Java_net_sf_sevenzipjbinding_impl_InArchiveImpl_nativeExtract+0x1cc
j net.sf.sevenzipjbinding.impl.InArchiveImpl.nativeExtract([IZLnet/sf/sevenzipjbinding/IArchiveExtractCallback;)V+0
j net.sf.sevenzipjbinding.impl.InArchiveImpl.extractSlow(ILnet/sf/sevenzipjbinding/ISequentialOutStream;)Lnet/sf/sevenzipjbinding/ExtractOperationResult;+23
j net.sf.sevenzipjbinding.simple.impl.SimpleInArchiveItemImpl.extractSlow(Lnet/sf/sevenzipjbinding/ISequentialOutStream;)Lnet/sf/sevenzipjbinding/ExtractOperationResult;+12
j com.github.b3er.idea.plugins.arc.browser.base.sevenzip.AsyncCircularByteBuffer$fill$1$1$1.invoke(Lnet/sf/sevenzipjbinding/IInStream;)V+23
j com.github.b3er.idea.plugins.arc.browser.base.sevenzip.AsyncCircularByteBuffer$fill$1$1$1.invoke(Ljava/lang/Object;)Ljava/lang/Object;+5
j com.github.b3er.idea.plugins.arc.browser.formats.sevenzip.SevenZipArchiveHolder.useStream(Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;+29
j com.github.b3er.idea.plugins.arc.browser.base.sevenzip.AsyncCircularByteBuffer.fill$lambda-1(Lcom/github/b3er/idea/plugins/arc/browser/base/sevenzip/AsyncCircularByteBuffer;Lcom/github/b3er/idea/plugins/arc/browser/formats/sevenzip/SevenZipArchiveHolder;Lnet/sf/sevenzipjbinding/simple/ISimpleInArchiveItem;)V+54
j com.github.b3er.idea.plugins.arc.browser.base.sevenzip.AsyncCircularByteBuffer$$Lambda$8396+0x000000080308bf70.run()V+12
J 61398 c2 java.util.concurrent.FutureTask.run()V [email protected] (123 bytes) @ 0x000000011cb02520 [0x000000011cb02440+0x00000000000000e0]
J 63007 c2 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V [email protected] (187 bytes) @ 0x000000011ccd0230 [0x000000011cccff00+0x0000000000000330]
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 [email protected]
j java.lang.Thread.run()V+11 [email protected]
The issue is also present in YouTrack here:
JBR-7275 Crash in Java_net_sf_sevenzipjbinding_impl_InArchiveImpl_nativeExtract
Hello b3er,
At the moment all salesforce developer (that are using IntelliJ) are unable to open directly some file that are generated by the platform.
Those file have this extension ".resource" and currently it doesn't seems to be supported by your plugin.
As specified in the title , those file are just normal ".zip" but with a different extension.
If there is something that u can do make this association it would be awesome.
Thanks,
NC.
Super useful plugin! Seems to have an error though. See below:
update failed for AnAction with ID=MainToolBar: com.github.b3er.idea.plugins.arc.browser.ZipArchiveStructureProvider.getData(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/Object;
update failed for AnAction with ID=MainToolBar: com.github.b3er.idea.plugins.arc.browser.ZipArchiveStructureProvider.getData(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/Object;
java.lang.AbstractMethodError: com.github.b3er.idea.plugins.arc.browser.ZipArchiveStructureProvider.getData(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/Object;
at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getDataFromProviders(AbstractTreeStructureBase.java:102)
at com.intellij.ide.projectView.impl.AbstractProjectViewPane.getData(AbstractProjectViewPane.java:291)
at com.intellij.ide.projectView.impl.ProjectViewImpl$MyPanel.getData(ProjectViewImpl.java:1041)
at com.intellij.ide.impl.DataManagerImpl.a(DataManagerImpl.java:81)
at com.intellij.ide.impl.DataManagerImpl.a(DataManagerImpl.java:69)
at com.intellij.ide.impl.DataManagerImpl.access$300(DataManagerImpl.java:55)
at com.intellij.ide.impl.DataManagerImpl$MyDataContext.a(DataManagerImpl.java:391)
at com.intellij.ide.impl.DataManagerImpl$MyDataContext.getData(DataManagerImpl.java:362)
at com.intellij.openapi.actionSystem.DataContext.getData(DataContext.java:59)
at com.intellij.openapi.actionSystem.AnActionEvent.getData(AnActionEvent.java:165)
at com.intellij.openapi.actionSystem.AnActionEvent.getProject(AnActionEvent.java:120)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:104)
at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:188)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:120)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:96)
at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.a(ActionToolbarImpl.java:942)
at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.access$000(ActionToolbarImpl.java:65)
at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl$1.updateActionsImpl(ActionToolbarImpl.java:174)
at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyUpdateRunnable.run(ToolbarUpdater.java:186)
at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:649)
at com.intellij.openapi.wm.impl.FocusManagerImpl.f(FocusManagerImpl.java:630)
at com.intellij.openapi.wm.impl.FocusManagerImpl.p(FocusManagerImpl.java:600)
at com.intellij.openapi.wm.impl.FocusManagerImpl.b(FocusManagerImpl.java:482)
at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2493)
at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:462)
at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.a(ToolbarUpdater.java:108)
at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.access$400(ToolbarUpdater.java:40)
at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyTimerListener.run(ToolbarUpdater.java:158)
at com.intellij.openapi.actionSystem.impl.WeakTimerListener.run(WeakTimerListener.java:54)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.a(ActionManagerImpl.java:1414)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.a(ActionManagerImpl.java:1404)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.actionPerformed(ActionManagerImpl.java:1388)
at javax.swing.Timer.fireActionPerformed(Timer.java:313)
at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:679)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
java.lang.AbstractMethodError: com.github.b3er.idea.plugins.arc.browser.ZipArchiveStructureProvider.getData(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/Object;
at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getDataFromProviders(AbstractTreeStructureBase.java:102)
at com.intellij.ide.projectView.impl.AbstractProjectViewPane.getData(AbstractProjectViewPane.java:291)
at com.intellij.ide.projectView.impl.ProjectViewImpl$MyPanel.getData(ProjectViewImpl.java:1041)
at com.intellij.ide.impl.DataManagerImpl.a(DataManagerImpl.java:81)
at com.intellij.ide.impl.DataManagerImpl.a(DataManagerImpl.java:69)
at com.intellij.ide.impl.DataManagerImpl.access$300(DataManagerImpl.java:55)
at com.intellij.ide.impl.DataManagerImpl$MyDataContext.a(DataManagerImpl.java:391)
at com.intellij.ide.impl.DataManagerImpl$MyDataContext.getData(DataManagerImpl.java:362)
at com.intellij.openapi.actionSystem.DataContext.getData(DataContext.java:59)
at com.intellij.openapi.actionSystem.AnActionEvent.getData(AnActionEvent.java:165)
at com.intellij.openapi.actionSystem.AnActionEvent.getProject(AnActionEvent.java:120)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:104)
at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:188)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:120)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:96)
at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.a(ActionToolbarImpl.java:942)
at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.access$000(ActionToolbarImpl.java:65)
at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl$1.updateActionsImpl(ActionToolbarImpl.java:174)
at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyUpdateRunnable.run(ToolbarUpdater.java:186)
at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:649)
at com.intellij.openapi.wm.impl.FocusManagerImpl.f(FocusManagerImpl.java:630)
at com.intellij.openapi.wm.impl.FocusManagerImpl.p(FocusManagerImpl.java:600)
at com.intellij.openapi.wm.impl.FocusManagerImpl.b(FocusManagerImpl.java:482)
at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2493)
at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:462)
at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.a(ToolbarUpdater.java:108)
at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.access$400(ToolbarUpdater.java:40)
at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyTimerListener.run(ToolbarUpdater.java:158)
at com.intellij.openapi.actionSystem.impl.WeakTimerListener.run(WeakTimerListener.java:54)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.a(ActionManagerImpl.java:1414)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.a(ActionManagerImpl.java:1404)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$MyTimer.actionPerformed(ActionManagerImpl.java:1388)
at javax.swing.Timer.fireActionPerformed(Timer.java:313)
at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:679)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
java.lang.AbstractMethodError: com.github.b3er.idea.plugins.arc.browser.ZipArchiveStructureProvider.getData(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/Object;
at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getDataFromProviders(AbstractTreeStructureBase.java:102)
at com.intellij.ide.projectView.impl.AbstractProjectViewPane.getData(AbstractProjectViewPane.java:291)
at com.intellij.ide.projectView.impl.ProjectViewImpl$MyPanel.getData(ProjectViewImpl.java:1041)
at com.intellij.ide.impl.DataManagerImpl.a(DataManagerImpl.java:81)
at com.intellij.ide.impl.DataManagerImpl.a(DataManagerImpl.java:69)
at com.intellij.ide.impl.DataManagerImpl.access$300(DataManagerImpl.java:55)
at com.intellij.ide.impl.DataManagerImpl$MyDataContext.a(DataManagerImpl.java:391)
at com.intellij.ide.impl.DataManagerImpl$MyDataContext.getData(DataManagerImpl.java:368)
at com.intellij.openapi.actionSystem.DataKey.getData(DataKey.java:75)
at com.intellij.openapi.command.impl.FocusBasedCurrentEditorProvider.getCurrentEditor(FocusBasedCurrentEditorProvider.java:32)
at com.intellij.openapi.command.impl.UndoManagerImpl.d(UndoManagerImpl.java:305)
at com.intellij.openapi.command.impl.UndoManagerImpl.a(UndoManagerImpl.java:274)
at com.intellij.openapi.command.impl.UndoManagerImpl.a(UndoManagerImpl.java:231)
at com.intellij.openapi.command.impl.UndoManagerImpl.access$000(UndoManagerImpl.java:60)
at com.intellij.openapi.command.impl.UndoManagerImpl$1.commandStarted(UndoManagerImpl.java:177)
at com.intellij.openapi.command.impl.CoreCommandProcessor.a(CoreCommandProcessor.java:361)
at com.intellij.openapi.command.impl.CoreCommandProcessor.a(CoreCommandProcessor.java:148)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.c(EditorImpl.java:5858)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.mousePressed(EditorImpl.java:5788)
at java.awt.Component.processMouseEvent(Component.java:6530)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:675)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
java.lang.AbstractMethodError: com.github.b3er.idea.plugins.arc.browser.ZipArchiveStructureProvider.getData(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/Object;
at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getDataFromProviders(AbstractTreeStructureBase.java:102)
at com.intellij.ide.projectView.impl.AbstractProjectViewPane.getData(AbstractProjectViewPane.java:291)
at com.intellij.ide.projectView.impl.ProjectViewImpl$MyPanel.getData(ProjectViewImpl.java:1041)
at com.intellij.ide.impl.DataManagerImpl.a(DataManagerImpl.java:81)
at com.intellij.ide.impl.DataManagerImpl.a(DataManagerImpl.java:69)
at com.intellij.ide.impl.DataManagerImpl.access$300(DataManagerImpl.java:55)
at com.intellij.ide.impl.DataManagerImpl$MyDataContext.a(DataManagerImpl.java:391)
at com.intellij.ide.impl.DataManagerImpl$MyDataContext.getData(DataManagerImpl.java:362)
at com.intellij.openapi.actionSystem.DataKey.getData(DataKey.java:75)
at com.intellij.ui.SpeedSearchBase.a(SpeedSearchBase.java:548)
at com.intellij.ui.SpeedSearchBase.access$100(SpeedSearchBase.java:55)
at com.intellij.ui.SpeedSearchBase$2.focusLost(SpeedSearchBase.java:91)
at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:230)
at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229)
at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:229)
at java.awt.Component.processFocusEvent(Component.java:6425)
at java.awt.Component.processEvent(Component.java:6289)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:995)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661)
at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:27)
at java.awt.Component.dispatchEventImpl(Component.java:4760)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:679)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
This would be great for the python world.
Can you please add WinRAR (.rar) files support?
plugin does nothing in Rider 2022.3
tested against .zip, .7z, .jar files
After upgrading IntelliJ IDEA from 2018.2.6 to 2018.3, plugin start to throw exception as following:
java.lang.NegativeArraySizeException
at com.intellij.openapi.util.io.FileUtilRt.loadBytes(FileUtilRt.java:648)
at com.intellij.openapi.util.io.FileUtil.loadBytes(FileUtil.java:1627)
at com.github.b3er.idea.plugins.arc.browser.formats.GZipHandler.contentsToByteArray(gzip.kt:173)
at com.intellij.openapi.vfs.impl.ArchiveHandler.getInputStream(ArchiveHandler.java:247)
at com.intellij.openapi.vfs.newvfs.ArchiveFileSystem.getInputStream(ArchiveFileSystem.java:217)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.detectFromContentAndCache(FileTypeManagerImpl.java:776)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.getOrDetectFromContent(FileTypeManagerImpl.java:625)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.getFileTypeByFile(FileTypeManagerImpl.java:543)
at com.intellij.openapi.vfs.VirtualFile.getFileType(VirtualFile.java:331)
at com.intellij.psi.impl.file.impl.FileManagerImpl.createFileViewProvider(FileManagerImpl.java:260)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findViewProvider(FileManagerImpl.java:207)
at com.intellij.psi.impl.file.impl.FileManagerImpl.findFile(FileManagerImpl.java:367)
at com.intellij.psi.impl.PsiManagerImpl.findFile(PsiManagerImpl.java:156)
at com.intellij.psi.impl.file.PsiDirectoryImpl.processChildren(PsiDirectoryImpl.java:187)
at com.intellij.psi.impl.file.PsiDirectoryImpl.getChildren(PsiDirectoryImpl.java:203)
at com.github.b3er.idea.plugins.arc.browser.formats.PsiGZipFileNode.getChildrenImpl(gzip.kt:253)
at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.doGetChildren(AbstractPsiBasedNode.java:84)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.getChildren(AbstractPsiBasedNode.java:68)
at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getChildElements(AbstractTreeStructureBase.java:37)
at com.intellij.ui.tree.StructureTreeModel.getValidChildren(StructureTreeModel.java:383)
at com.intellij.ui.tree.StructureTreeModel.validateChildren(StructureTreeModel.java:297)
at com.intellij.ui.tree.StructureTreeModel$Node.isLeaf(StructureTreeModel.java:545)
at com.intellij.ui.tree.StructureTreeModel$Node.access$400(StructureTreeModel.java:410)
at com.intellij.ui.tree.StructureTreeModel.isLeaf(StructureTreeModel.java:333)
at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.load(AsyncTreeModel.java:587)
at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.getNode(AsyncTreeModel.java:561)
at com.intellij.ui.tree.AsyncTreeModel$ObsolescentCommand.get(AsyncTreeModel.java:453)
at com.intellij.ui.tree.AsyncTreeModel$ObsolescentCommand.get(AsyncTreeModel.java:419)
at com.intellij.util.concurrency.Command$Processor.lambda$process$1(Command.java:48)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1168)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:70)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:123)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:582)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:112)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:70)
at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:152)
at com.intellij.util.concurrency.Invoker.lambda$invokeLater$0(Invoker.java:90)
at com.intellij.util.concurrency.Invoker$BackgroundThread.lambda$offer$0(Invoker.java:318)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:227)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$100(BoundedTaskExecutor.java:26)
at com.intellij.util.concurrency.BoundedTaskExecutor$2$1.run(BoundedTaskExecutor.java:200)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:229)
at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:194)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Hi,
I suspect the plugin has an issue (and so refuses to open, despite the file being marked as an archive appropriately) with ZIP files that have header errors, but otherwise open and extract just fine in 7-Zip (though it does of course display a warning).
In this case, the warning is (as shown by 7-Zip):
There are some data after the end of the payload data
The full file properties as shown in 7-Zip are:
Size | 69 851 264 |
Packed | Size: 69 851 264 |
Folders | 206 |
Files | 2 466 |
CRC | FBBF8843 |
--------------- | |
Path | C:\Program Files (x86)\Ricochet Infinity\data.dat |
Type | zip |
Errors | Headers Error |
Warnings | There are some data after the end of the payload data |
Physical Size | 70 315 592 |
Tail Size | 18 |
Characteristics | Local |
If there's some way to still open archives with non-critical warnings, that would be awesome.
(I've confirmed that the plugin is working in general, as I have another file marked as an archive that is being opened correctly.)
Hi, thanks for making this awesome plugin. I would like to request to upgrade the plugin to use Kotlin v1.6 so that other plugins using this plugin won't get deprecation warnings that this plugin is using an older version of Kotlin. (I am testing on PyCharm 2021.2 which is importing the latest Kotlin v1.5.21 jar)
Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
C:/Users/habib/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.21/6b3de2a43405a65502728047db37a98a0c7e72f0/kotlin-stdlib-jdk8-1.5.21.jar (version 1.5)
C:/Users/habib/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.pycharm/pycharmPC/2021.2/7c8fe1875ad1b9629b00ce255fcc468019846708/pycharmPC-2021.2/lib/kotlin-reflect-1.5.10-release-896.jar (version 1.5)
C:/Users/habib/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/unzipped.com.jetbrains.plugins/com.github.b3er.idea.plugins.arc.browser-0.23/idea-archive-browser/lib/kotlin-stdlib-1.4.0.jar (version 1.4)
C:/Users/habib/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/unzipped.com.jetbrains.plugins/com.github.b3er.idea.plugins.arc.browser-0.23/idea-archive-browser/lib/kotlin-stdlib-common-1.4.0.jar (version 1.4)
C:/Users/habib/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/unzipped.com.jetbrains.plugins/com.github.b3er.idea.plugins.arc.browser-0.23/idea-archive-browser/lib/kotlin-stdlib-jdk7-1.4.0.jar (version 1.4)
C:/Users/habib/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/unzipped.com.jetbrains.plugins/com.github.b3er.idea.plugins.arc.browser-0.23/idea-archive-browser/lib/kotlin-stdlib-jdk8-1.4.0.jar (version 1.4)
C:/Users/habib/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.5.21/f059658740a4b3a3461aba9681457615332bae1c/kotlin-stdlib-jdk7-1.5.21.jar (version 1.5)
C:/Users/habib/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.5.21/2f537cad7e9eeb9da73738c8812e1e4cf9b62e4e/kotlin-stdlib-1.5.21.jar (version 1.5)
C:/Users/habib/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.5.21/cc8bf3586fd2ebcf234058b9440bb406e62dfacb/kotlin-stdlib-common-1.5.21.jar (version 1.5)
I think we should be able to change this one line in the build.gradle
file to use version '1.6.+'
and then release a newer plugin patch version to fix the issue:
id 'org.jetbrains.kotlin.jvm' version '1.4.0'
We use some custom extensions for archives that are actually just zip files. It would be useful to be able to add custom extension mappings.
For example we have a custom extension .wsar
which is actually a .zip
file. If the plugin allowed some configuration that permitted a mapping of .wsar
-> .zip
then our files would be treated as zip. This is similar to the request in #25 but is more generic while permitting usage for custom extensions which may not be globally recognised as using a particular compression format.
Sounds like a really useful plugin but there's no information about how to use it. My use case is that I want to inspect a snapshot jar file downloaded from a repository to debug an issue I am seeing, but I have no idea how to do this. I am probably missing something very obvious but at least a brief description on how to use the plugin would have helped.
I really like your plugin and it would be nice if it was possible to add other extensions to the plugin.
For example xlsx is also a zip but there is no way to add the detection of it for the plugin.
Sometimes a bunch of files might be available on disk (e.g. gzipped/non-gzipped HTTP responses) without a consistent consistent extension type - In my situation, a response from scrapy.
It'd be nice if we could integrate with the "File type auto-detected by file content" file type by presumably checking the header bytes of the file content:
Even manually assigning it to the Archiver content type doesn't allow it to be detected without explicitly renaming the file.
The built-in html preview, which is a new feature in 2021.1 (https://www.jetbrains.com/help/idea/editing-html-files.html#ws_html_preview_output) doesn't work with, say, a chm file containing html documents. It will just open an empty panel that can't be closed.
Hi,
I really love this Plugin. It's very useful. But unfortunately when I've opened a TAR-archive, it is no more deletable or can be overwritten by any code. This is just possible when exiting IDEA.
The error is an IOException. It feels like the archive doesn't get closed after showing the content in the tree.
Kind regards, Thomas
Is it possible to implement this plugin to support other JetBrains products such as PyCharm?
Once open a zip file, then it can't be deleted anymore unless closing IDE.
I can open .apk files with 7-zip and also this plugin support opening them when I rename them to .zip
Could you add .apk to the "known file endings" list? I Already tried the IntelliJ settings Editor -> File Types -> Archive -> Add -> "*.apk" - but IntelliJ gave me an error that this is reserved
Hi there, big fan of this plugin.
I'd love support for .tar.zst
files using zstandard compression.
The upstream issue (probably blocking this issue) looks like: https://sourceforge.net/p/sevenzip/feature-requests/1580/
Since upgrading to Intellij 2020.3, every time the IDE restarts I get this message:
File pattern '*.gz' (from 'Archive Browser' plugin) was reassigned to file type 'Gzip' by 'Archive Browser' plugin
You can reassign pattern '*.gz' to file type '7ZIP' from 'Archive Browser' plugin
Confirm reassign this pattern to file type 'Gzip'
Revert this pattern to file type '7ZIP'
Edit file type '7ZIP'
Edit file type 'Gzip'
It doesn't seem to matter what option I choose, back it comes on next restart.
Nested archives cannot be browsed, eg a war or jar in an ear or zip.
PS: Thanks for a nice plugin!
Does not work on Apple Silicon. Plugin cannot load native extension for 7zip.
java.lang.ExceptionInInitializerError at com.github.b3er.idea.plugins.arc.browser.base.sevenzip.SevenZipPsiFileNode.getChildrenImpl(SevenZipPsiFileNode.kt:15) at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.doGetChildren(AbstractPsiBasedNode.java:87) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:127) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:116) at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.getChildren(AbstractPsiBasedNode.java:71) at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getChildElements(AbstractTreeStructureBase.java:34) at com.intellij.ui.tree.StructureTreeModel.getValidChildren(StructureTreeModel.java:382) at com.intellij.ui.tree.StructureTreeModel.validateChildren(StructureTreeModel.java:298) at com.intellij.ui.tree.StructureTreeModel$Node.isLeaf(StructureTreeModel.java:558) at com.intellij.ui.tree.StructureTreeModel.isLeaf(StructureTreeModel.java:334) at com.intellij.ui.tree.LeafState.get(LeafState.java:64) at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.load(AsyncTreeModel.java:590) at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.getNode(AsyncTreeModel.java:563) at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:456) at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:422) at com.intellij.util.concurrency.Invoker$Task.run(Invoker.java:316) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1137) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:76) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:152) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:113) at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:59) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165) at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:59) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:110) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:76) at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:205) at com.intellij.util.concurrency.Invoker.lambda$offerSafely$0(Invoker.java:183) at com.intellij.util.concurrency.Invoker$Background.lambda$offer$0(Invoker.java:541) at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216) at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27) at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195) at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:208) at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: net.sf.sevenzipjbinding.SevenZipNativeInitializationException: Error loading SevenZipJBinding native library into JVM: Can't find suited platform for os.arch=aarch64, os.name=Mac... Available list of platforms: Linux-amd64, Linux-i386, Mac-x86_64, Windows-amd64, Windows-x86 [You may also try different SevenZipJBinding initialization methods 'net.sf.sevenzipjbinding.SevenZip.init*()' in order to solve this problem] at net.sf.sevenzipjbinding.SevenZip.throwInitException(SevenZip.java:825) at net.sf.sevenzipjbinding.SevenZip.throwInitException(SevenZip.java:820) at net.sf.sevenzipjbinding.SevenZip.getPlatformBestMatch(SevenZip.java:895) at net.sf.sevenzipjbinding.SevenZip.determineAndSetUsedPlatform(SevenZip.java:466) at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJARIntern(SevenZip.java:451) at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJAR(SevenZip.java:366) at com.github.b3er.idea.plugins.arc.browser.base.sevenzip.SevenZipArchiveFileSystem.<clinit>(SevenZipArchiveFileSystem.kt:25) ... 44 more
IntelliJ IDEA 2022.2 RC (Ultimate Edition)
Build #IU-222.3345.90, built on July 20, 2022
Subscription is active until November 21, 2022.
Runtime version: 17.0.3+7-b469.32 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 16
Non-Bundled Plugins:
org.jetbrains.plugins.go-template (222.3345.90)
com.github.b3er.idea.plugins.arc.browser (0.32)
com.majera.intellij.codereview.bitbucket (2022.3.1.221)
git-extended-update-index (0.1.0)
com.intellij.plugin.adernov.powershell (2.0.10)
zielu.gittoolbox (212.9.7)
com.microsoft.tooling.msservices.intellij.azure (3.66.1-2022.2)
MavenRunHelper (4.20.213.3714.1)
Kotlin: 222-1.7.10-release-334-IJ3345.90
java.lang.ClassCastException: class com.intellij.kubernetes.helm.tgz.TgzHandler cannot be cast to class com.github.b3er.idea.plugins.arc.browser.base.BaseArchiveHandler (com.intellij.kubernetes.helm.tgz.TgzHandler is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @5c4dad47; com.github.b3er.idea.plugins.arc.browser.base.BaseArchiveHandler is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @37e6648c)
at com.github.b3er.idea.plugins.arc.browser.base.BaseArchiveFileSystem.getHandler(BaseArchiveFileSystem.kt:21)
at com.github.b3er.idea.plugins.arc.browser.base.BaseArchiveFileSystem.getHandler(BaseArchiveFileSystem.kt:13)
at com.intellij.openapi.vfs.newvfs.ArchiveFileSystem.getArchiveRootAttributes(ArchiveFileSystem.java:138)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.findRoot(PersistentFSImpl.java:1354)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.findRoot(PersistentFSImpl.java:58)
at com.intellij.openapi.vfs.newvfs.VfsImplUtil.extractRootFromPath(VfsImplUtil.java:158)
at com.intellij.openapi.vfs.newvfs.VfsImplUtil.prepare(VfsImplUtil.java:135)
at com.intellij.openapi.vfs.newvfs.VfsImplUtil.findFileByPath(VfsImplUtil.java:47)
at com.github.b3er.idea.plugins.arc.browser.base.BaseArchiveFileSystem.findFileByPath(BaseArchiveFileSystem.kt:70)
at com.intellij.openapi.vfs.newvfs.ArchiveFileSystem.getRootByLocal(ArchiveFileSystem.java:36)
at com.github.b3er.idea.plugins.arc.browser.base.BaseArchiveFileSystem.getArchiveRootForLocalFile(BaseArchiveFileSystem.kt:35)
at com.github.b3er.idea.plugins.arc.browser.formats.sevenzip.SevenZipPsiFileNode.getChildrenImpl(SevenZipPsiFileNode.kt:14)
at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.doGetChildren(AbstractPsiBasedNode.java:92)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:130)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:119)
at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.getChildren(AbstractPsiBasedNode.java:76)
at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getChildElements(AbstractTreeStructureBase.java:37)
at com.intellij.ui.tree.StructureTreeModel.getValidChildren(StructureTreeModel.java:383)
at com.intellij.ui.tree.StructureTreeModel.validateChildren(StructureTreeModel.java:299)
at com.intellij.ui.tree.StructureTreeModel$Node.isModelLeaf(StructureTreeModel.java:557)
at com.intellij.ui.tree.StructureTreeModel.isLeaf(StructureTreeModel.java:335)
at com.intellij.ui.tree.LeafState.get(LeafState.java:64)
at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.load(AsyncTreeModel.java:574)
at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.getNode(AsyncTreeModel.java:547)
at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:440)
at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:406)
at com.intellij.util.concurrency.Invoker$Task.run(Invoker.java:314)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1154)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:75)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:158)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:115)
at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:66)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:66)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:112)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:75)
at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:203)
at com.intellij.util.concurrency.Invoker.lambda$offerSafely$0(Invoker.java:181)
at com.intellij.util.concurrency.Invoker$Background.lambda$offer$0(Invoker.java:481)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:241)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:214)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:203)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)
Can you add support for aar files?
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.