Giter Club home page Giter Club logo

file-expander-plugin's People

Contributors

camork avatar roncruz avatar they4kman avatar ultimate-deej avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

file-expander-plugin's Issues

Plugin version 2.1 prevents IntelliJ 2022.3 from starting

I have IntelliJ 22.3 Ultimate 223.7571.182 GA on Linux. Once I updated the plugin from version 2.0 to 2.1 the IDE would not even start. The Toolbox restart would automatically rollback the plugin to previous version and everything is back to normal.

Environment & Stack Trace

  • Plugin version: 2.1
  • IDE version: 2022.3 Ultimate 223.7571.182
  • Operating System and version: Linux
  • Stack Trace: N/A

[Feature] Сustom icon on non-library archives or vice versa

Is your feature request related to a problem? Please describe.
I would like to have some kind of visual opportunity to determine whether jar or zip is included as a library.

Describe the solution you'd like
One of the solutions could be a custom icon on unconnected files as a library.

Additional context

Без названия 32

Warning in exception manager in IntelliJ 2024.1

In IntelliJ 2024, this started appearing:

com.intellij.diagnostic.PluginException: ActionUpdateThread.OLD_EDT is deprecated and going to be removed soon. 'com.github.camork.action.DecompileJarAction' must override getActionUpdateThread and chose EDT or BGT. See ActionUpdateThread javadoc. [Plugin: com.github.camork.fileExpander]
at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:90)
at com.intellij.diagnostic.PluginException.reportDeprecatedUsage(PluginException.java:125)
at com.intellij.openapi.actionSystem.ActionUpdateThreadAware.getActionUpdateThread(ActionUpdateThreadAware.java:21)
at com.intellij.openapi.actionSystem.AnAction.getActionUpdateThread(AnAction.java:199)

Folder hidden from view

Hi! Following a webinar on gradle kotlin dsl I noticed that they were able to browse zip files in Intellij IDEA, which I couldn't. I quickly found your plugin but noticed something odd. When browsing the zip file, there is a folder not showing up (webinar-app/bin/ in my case), which shows up using zipinfo on the terminal.

Screenshot 2020-08-04 at 10 18 42

If I go into my build script and specify a different name like bin2, I see it:

Screenshot 2020-08-04 at 10 23 14

Am I missing something obvious here, or is this a bug?

Using Intellij IDEA 2020.2 Ultimate and File Expander 4.51.

Support for tgz extension

Great support. Works nicely with tar & tar.gz. Would you be willing to also support tgz extension? It would need to do exactly the same as tar.gz does.

[Feature] Add support for VCS status colors

Is your feature request related to a problem? Please describe.
I have trouble trying to figure out the status of a jar file in the VCS, if is modified, added or not yet added to the VCS.

Describe the solution you'd like
It would help if the color of the filename in Project Explorer reflects the status in VCS as like it shows without using the plugin

Additional context
This is with the plugin disabled:
image

This is with the plugin activated:
image

IDEA version 2023.2 doesn't work

Describe the bug
A clear and concise description of what the bug is.
Apparently plugin doesn't work for latest version of IDEA.
Enable/Disable doesn't help as well as Caches invalidation

Environment & Stack Trace

  • Plugin version: 2.1
  • IDE version: IDEA 2023.2
  • Operating System and version: OSX Ventura 13.4.1

[Feature] support .ear (enterprise java archive)

Is your feature request related to a problem? Please describe.
.ear files (at least some file using zip or jar compression) are not expandables

Describe the solution you'd like
Provide the same behaviour as .jar or .zip files

Additional context
Add any other context or screenshots about the feature request here.

Broken in IntelliJ IDEA 2022.3 (Community Edition)

Describe the bug
I don't have the option anymore for expanding .tgz files after upgrading my IntelliJ to 2022.3. I already tried reinstalling the plugin without success.

IntelliJ IDEA 2022.3 (Community Edition)
Build #IC-223.7571.182, built on November 29, 2022
Runtime version: 17.0.5+1-b653.14 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

Environment & Stack Trace

  • Plugin version: 2.0
  • IDE version: IDEA 2022.3
  • Operating System and version: MacOS Ventura 13.0.1
  • Stack Trace: /

The archive file handle is still open after I am done looking at it

This issue causes a big headache on Windows (Linux environment is fine).

As we all know, on Windows, unlike Linux, you cannot delete file or change it in any way if it is still open somewhere else.

In my build I generate a tarball, which I want to examine with this plugin. It comes very handy. However, after that I cannot rebuild, or remove the file. I cannot even remove it using IntelliJ itself. Closing only the current project window does not help. The only workaround is to close the whole IntelliJ app. Very annoying.

I understand that keeping the file open might be intentional, to optimize access to it, but maybe it is possible to provide some enhancements.
Here is a couple of ideas:

  • Automatically release the handle when I collapse the archive view and close all views of its files.
  • Provide option in the pop-up menu to close it; it should also collapse the view and close all related files views.

Support for `.epc` / OOXML files

Hi,
Would it be possible to support Microsoft OOXML files in general, and .epc files in particular?

These files are regular .zip files, with various content, and domain specific XML.

Copying files fails on Windows

Describe the bug
If I have the plugin enabled, select a file and press CTRL+C and press CTRL+V in a folder to copy it to the desired location nothing appears, the clipboard is empty. The same happens if you use CTRL+X to cut and CTRL+V to paste.
The same behavior can be obtained if you right click a .jar and select "Copy" and "Paste" in a different folder.
Disabling the plugin makes everything work again.

Environment & Stack Trace

  • Plugin version: 1.7
  • IDE version: 2021.1.3
  • Operating System and version: Windows 10 Version 21H1 (Build 19043.1083)
  • Stack Trace: None

The viewed jar is occupied and cannot be deleted

Describe the bug
When the jar package under the build folder is viewed through the File expander, the gradle clean command will fail because the jar package is in the occupied state.

Environment & Stack Trace

  • Plugin version: 2.1
  • IDE version: 2022.3.2
  • Operating System and version: Windows 10
  • Stack Trace:

Not opening .aar files

Will not let me expand .aar files must rename them to .zip or .jar

Environment & Stack Trace

  • Plugin version: 1.7
  • IDE version: 2021.2.1
  • Operating System and version: OSX
  • Stack Trace: N/A

Allow configuring supported file extensions

Describe the bug
(This is not a bug, it's a feature request, I just could not find a way to submit that)
I'm using PyCharm where I'm building .whl (wheel) packages. At the moment .whl is not supported by your plugin even though it's just a .zip file:

$ file my_pkg-0.0.7-py3-none-any.whl
my_pkg-0.0.7-py3-none-any.whl: Zip archive data, at least v2.0 to extract

It would be great if this plugin supports detecting ZIP files by using of a library similar to libmagic or at least allowed editing a list with custom extensions, like in this case it would be [".whl"]

Thank you!

Environment & Stack Trace

  • Plugin version: 1.6
  • IDE version:
  • Operating System and version:
  • Stack Trace:

Duplicate toolbar

Describe the bug
This plugin now creates a duplicate toolbar in PyCharm. It seems to be the culprit because the duplicate toolbar disappears if I disable all downloaded plugins and reappears if I re-enable just this one.

image

Environment & Stack Trace

  • Plugin version: 2.5
  • IDE version: PyCharm 2024.1
  • Operating System and version: Windows 10

[Feature] Add support for NAR archives (and potentially JAR-related files regardless of their actual extension)

Is your feature request related to a problem? Please describe.
There are other Java archives which are similar with JARs but have a different extension, such as NiFi Archive (NAR) files, but also others. It would be nice if the plugin would provide the expansion symbol on those too, and would allow the user to click and attempt to expand, like it does for JAR archives. This would improve compatibility with many more file formats which are JAR-related.

Describe the solution you'd like
It would be nice to be able to work with NAR files as if they were JAR files too.

Additional context
Nothing to add.

Selecting file in explorer does nothing

Describe the bug
Selecting .7z and .gz file types in solution explorer does nothing.

Environment & Stack Trace

  • Plugin version: 2.0
  • IDE version: JetBrains Rider 2022.2.3
  • Operating System and version: macOS Ventura Version 13.0

skip password

org.apache.commons.compress.PasswordRequiredException: Cannot read encrypted content from D:\github.com\LinWanCen\show-comment\build\distributions\show-comment-2.11.0.2023.11.17_00.26.7z without a password.
at org.apache.commons.compress.archivers.sevenz.AES256SHA256Decoder$1.init(AES256SHA256Decoder.java:130)
at org.apache.commons.compress.archivers.sevenz.AES256SHA256Decoder$1.read(AES256SHA256Decoder.java:159)
at java.base/java.io.DataInputStream.readUnsignedByte(DataInputStream.java:288)
at org.tukaani.xz.LZMA2InputStream.decodeChunkHeader(Unknown Source)
at org.tukaani.xz.LZMA2InputStream.read(Unknown Source)
at org.apache.commons.compress.utils.BoundedInputStream.read(BoundedInputStream.java:78)
at org.apache.commons.compress.utils.ChecksumVerifyingInputStream.read(ChecksumVerifyingInputStream.java:108)
at org.apache.commons.compress.archivers.sevenz.SevenZFile.read(SevenZFile.java:992)
at org.apache.commons.compress.archivers.sevenz.SevenZFile.read(SevenZFile.java:975)
at org.apache.commons.compress.archivers.sevenz.SevenZFile$read$1.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
at com.github.camork.util.ArchiveUtils.getEntryBytes(ArchiveUtils.groovy:48)
at com.github.camork.util.ArchiveUtils$getEntryBytes$0.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:148)
at com.github.camork.filesystem.sevenzip.SevenZipFile$_getEntryBytes_closure1.doCall(SevenZipFile.groovy:33)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:428)
at org.codehaus.groovy.runtime.IOGroovyMethods.withCloseable(IOGroovyMethods.java:1607)
at org.codehaus.groovy.runtime.dgm$966.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
at com.github.camork.filesystem.sevenzip.SevenZipFile.getEntryBytes(SevenZipFile.groovy:32)
at com.github.camork.filesystem.IArchiveFile$getEntryBytes.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
at com.github.camork.filesystem.ArchiveHandlerBase.contentsToByteArray(ArchiveHandlerBase.groovy:52)
at com.intellij.openapi.vfs.impl.ArchiveHandler.getInputStream(ArchiveHandler.java:287)
at com.intellij.openapi.vfs.newvfs.ArchiveFileSystem.getInputStream(ArchiveFileSystem.java:216)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.getInputStream(PersistentFSImpl.java:720)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileImpl.getInputStream(VirtualFileImpl.java:108)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileImpl$getInputStream$0.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:130)
at com.github.camork.extensions.ArchiveTreeProvider$_modify_closure1.doCall(ArchiveTreeProvider.groovy:57)
at jdk.internal.reflect.GeneratedMethodAccessor2542.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:274)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1035)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:428)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3603)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3588)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.collect(DefaultGroovyMethods.java:3688)
at org.codehaus.groovy.runtime.dgm$101.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:247)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
at com.github.camork.extensions.ArchiveTreeProvider.modify(ArchiveTreeProvider.groovy:38)
at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getChildElements(AbstractTreeStructureBase.java:49)
at com.intellij.ui.tree.StructureTreeModel.getValidChildren(StructureTreeModel.java:411)
at com.intellij.ui.tree.StructureTreeModel.validateChildren(StructureTreeModel.java:329)
at com.intellij.ui.tree.StructureTreeModel$Node.isModelLeaf(StructureTreeModel.java:584)
at com.intellij.ui.tree.StructureTreeModel.isLeaf(StructureTreeModel.java:365)
at com.intellij.ui.tree.LeafState.get(LeafState.java:62)
at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.load(AsyncTreeModel.java:597)
at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.getNode(AsyncTreeModel.java:570)
at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:464)
at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:430)
at com.intellij.util.concurrency.Invoker$Task.run(Invoker.java:306)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:76)
at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:133)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:114)
at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:71)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:71)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:111)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:76)
at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:188)
at com.intellij.util.concurrency.Invoker.lambda$offerSafely$0(Invoker.java:165)
at com.intellij.util.concurrency.Invoker$Background.lambda$offer$0(Invoker.java:433)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:249)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:227)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:215)
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:840)

Can't read Gzip file without filename in metadata

If the gzip file doesn't include the filename in the header (e.g. FNAME metadata flag), then the contents of the gzip file can't be read with this plugin. As an example, you can run the following:

echo "Test compressed data" > test.txt
gzip -c test.txt > test_with_fname.txt.gz
gzip -cn test.txt > test_without_fname.txt.gz

The plugin successfully allows you to view test_with_fname.txt.gz but not test_without_fname.txt.gz. This was observed on the version 2.3 using 2023.2.2 for the IDEs on Linux.

Not detecting .war files

Describe the bug
.war files are not being expanded. If renamed to .jar, the file is expanded in the ide.

Environment & Stack Trace

  • Plugin version: 2.3
  • IDE version: IntelliJ IDEA 2023.2.5 (Ultimate Edition)
  • Operating System and version: 14.1.2 (23B92)
  • Stack Trace: n/a

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.