[ANN] QuickPathManager 1.0

QuickPathManager (http://plugins.intellij.net/plugin/?id=1865) is a simple plug-in that will allow you to add/remove directories from your source paths directly from the project pane. Gone are the days of having to drill to the module settings every time! Generally useful for anyone, but mostly for developers who work on projects where the path list changes regularly due to changes introduced by others.

Also has a scan feature to try to locate Java sources that aren't in the source paths yet and will allow you to tag them as source or test source at your convenience.

Features:
- Mark/unmark directories as Source, Test Source or Excluded
- Mark a directory to be excluded
- Operate on many directories at once
- Operate across multiple modules at once
- Auto-detect of Java sources that are not already part of paths

Future Improvements:
- Make operations compatible with 'Undo'
- Allow excluded folders to be displayed in the project pane (configurable option)
- Narrow list when typing in auto-scan dialog box
- Make it possible to limit source scan to a specific directory
- Recognize resources other than Java source files

Regards,

Sebastien

5 comments

Very nice plugin. I don't know why this functionality wasn't standard.

0

I know it's a pain, and I know it won't matter for very much longer, but could you please compile this with JDK1.5. Some of us are still running IDEA on our Macs with the standard JDK.

Concur on this functionality belonging in core. Great to see that someone has done it as a plugin.

--Dave Griffith

0

Hi Dave,

Sorry for the delay. I'm glad that you think it will be useful to you! I've released new versions to support earlier versions of IDEA and JDKs (http://plugins.intellij.net/plugin/?id=1865). Let me know if one of them works well for you.

Cheers,

Sebastien

0

I am a mac user on leopard (and running idea on 1.5 JDK) and I get the dreaded bad version number. Is that enough information:
Bad version number in .class file
com.intellij.diagnostic.PluginException: Bad version number in .class file
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.a(ComponentManagerImpl.java:5)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.a(ComponentManagerImpl.java:51)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.access$100(ComponentManagerImpl.java:44)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:123)
at com.intellij.openapi.components.impl.ComponentManagerImpl.initComponents(ComponentManagerImpl.java:64)
at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:24)
at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.a(ModuleManagerImpl.java:135)
at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.b(ModuleManagerImpl.java:24)
at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.access$500(ModuleManagerImpl.java:69)
at com.intellij.openapi.module.impl.ModuleManagerImpl$2.run(ModuleManagerImpl.java:21)
at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:5)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:12)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:10)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:87)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:188)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:180)
at java.awt.Dialog$1.run(Dialog.java:535)
at java.awt.Dialog$2.run(Dialog.java:563)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:561)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:81)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:1)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:812)
at com.intellij.openapi.progress.util.ProgressWindow$MyDialog.show(ProgressWindow.java:11)
at com.intellij.openapi.progress.util.ProgressWindow.showDialog(ProgressWindow.java:9)
at com.intellij.openapi.progress.util.ProgressWindow$1$1.run(ProgressWindow.java:2)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:12)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:10)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:87)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:188)
at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:216)
at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:121)
at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:34)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:65)
at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:222)
at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:168)
at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:136)
at com.intellij.idea.IdeaApplication.b(IdeaApplication.java:30)
at com.intellij.idea.IdeaApplication.access$400(IdeaApplication.java:23)
at com.intellij.idea.IdeaApplication$IdeStarter$3.run(IdeaApplication.java:13)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:12)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:10)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:87)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:188)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.lang.ClassLoader.defineClass(ClassLoader.java:520)
at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:132)
at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:128)
at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:104)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.java:75)
at com.intellij.ide.plugins.cl.PluginClassLoader._loadClass(PluginClassLoader.java:42)
at com.intellij.util.lang.UrlClassLoader.loadClass(UrlClassLoader.java:80)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.a(ComponentManagerImpl.java:17)
... 56 more

0

Hi Charles,

Sorry for the slow response. The stack trace is plenty of info. Although you didn't specify it, I assume you're running IDEA 7. I have to download the special 1.5 build and I'll repackage the plugin. I'll post in this thread again once the new version is up.

Cheers!

Sebastien

0

Please sign in to leave a comment.