VSS and Rename refactoring problem
Unfortunately I'm on a project that is using VSS for source control. There's nothing I can do about it so nobody tell me to switch to CVS please. :) Anyway, when I select a class or even a method in a class and choose the rename refactoring, Idea prompts me to approve the changes I hit "ok" and then it does absolutely nothing. The file I am doing this to is checked out, and so are the other two classes that use it. There are no error messages or anything to say what went wrong.
I am making an assumption this is somehow VSS related because it didn't do this until after I activated source control in the editor. Anyway, this is driving me crazy. I rename classes and methods all the damn time and now I have to do it manually and it's a royal pain in the ass. Any ideas? Thanks,
Marc
请先登录再写评论。
Here is the relevant stacktrace from the log when I execute my rename:
2004-11-18 16:23:57,392 ERROR - mand.impl.CommandProcessorImpl - IntelliJ IDEA 4.5.3 Build #2250
2004-11-18 16:23:57,392 ERROR - mand.impl.CommandProcessorImpl - JDK: 1.4.2_04
2004-11-18 16:23:57,392 ERROR - mand.impl.CommandProcessorImpl - VM: Java HotSpot(TM) Client VM
2004-11-18 16:23:57,392 ERROR - mand.impl.CommandProcessorImpl - Vendor: Sun Microsystems Inc.
2004-11-18 16:23:57,392 ERROR - mand.impl.CommandProcessorImpl - OS: Windows XP
2004-11-18 16:23:57,392 ERROR - mand.impl.CommandProcessorImpl - Last Action: RenameElement
2004-11-18 16:23:57,392 ERROR - mand.impl.CommandProcessorImpl - Current Command: Renaming method getAgentId() of class AgentPriority to fred
2004-11-18 16:23:57,392 ERROR - mand.impl.CommandProcessorImpl -
java.lang.NullPointerException
at org.intellij.plugins.junit.ClassPattern.matchTestedClassPath(ClassPattern.java:77)
at org.intellij.plugins.junit.ClassPattern.getTestClassPath(ClassPattern.java:69)
at org.intellij.plugins.junit.ClassLocator.getTestClassPath(ClassLocator.java:45)
at org.intellij.plugins.junit.ClassLocator.findTestClass(ClassLocator.java:26)
at org.intellij.plugins.junit.RefactorerListenerProvider.findTestClass(RefactorerListenerProvider.java:108)
at org.intellij.plugins.junit.RefactorerListenerProvider.findTestMethods(RefactorerListenerProvider.java:112)
at org.intellij.plugins.junit.RefactorerListenerProvider.getListener(RefactorerListenerProvider.java:98)
at com.intellij.refactoring.listeners.impl.a.a.b(a.java:26)
at com.intellij.refactoring.listeners.impl.a.a.access$100(a.java:3)
at com.intellij.refactoring.listeners.impl.a.a$c_.(a$c_.java:1) at com.intellij.refactoring.listeners.impl.a.a$c_.]]>(a$c_.java:8)
at com.intellij.refactoring.listeners.impl.a.a.a(a.java:7)
at com.intellij.refactoring.rename.RenameProcessor.performRefactoring(RenameProcessor.java:243)
at com.intellij.refactoring.BaseRefactoringProcessor$8.run(BaseRefactoringProcessor.java:5)
at com.intellij.openapi.o.b.c.runWriteAction(c.java:379)
at com.intellij.refactoring.BaseRefactoringProcessor.a(BaseRefactoringProcessor.java:114)
at com.intellij.refactoring.BaseRefactoringProcessor.access$400(BaseRefactoringProcessor.java:30)
at com.intellij.refactoring.BaseRefactoringProcessor$5.run(BaseRefactoringProcessor.java:1)
at com.intellij.openapi.o.b.c.runWriteAction(c.java:379)
at com.intellij.refactoring.BaseRefactoringProcessor$4.run(BaseRefactoringProcessor.java:1)
at com.intellij.openapi.command.b.a.executeCommand(a.java:62)
at com.intellij.refactoring.BaseRefactoringProcessor.a(BaseRefactoringProcessor.java:55)
at com.intellij.refactoring.BaseRefactoringProcessor.run(BaseRefactoringProcessor.java:58)
at com.intellij.refactoring.rename.RenameProcessor.run(RenameProcessor.java:158)
at com.intellij.refactoring.rename.RenameProcessor.run(RenameProcessor.java:293)
at com.intellij.refactoring.rename.RenameDialog.doOKAction(RenameDialog.java:190)
at com.intellij.openapi.ui.DialogWrapper$OkAction.actionPerformed(DialogWrapper.java:806)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at com.intellij.ide.t.b(t.java:46)
at com.intellij.ide.t.a(t.java:37)
at com.intellij.ide.t.dispatchEvent(t.java:57)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141)
at java.awt.Dialog$1.run(Dialog.java:540)
at java.awt.Dialog.show(Dialog.java:561)
at com.intellij.openapi.l.a.a$d_.show(a$d_.java:25)
at com.intellij.openapi.l.a.a.show(a.java:58)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:711)
at com.intellij.refactoring.rename.PsiElementRenameHandler.a(PsiElementRenameHandler.java:43)
at com.intellij.refactoring.rename.PsiElementRenameHandler.invoke(PsiElementRenameHandler.java:33)
at com.intellij.refactoring.rename.PsiElementRenameHandler.invoke(PsiElementRenameHandler.java:83)
at com.intellij.refactoring.y.a.actionPerformed(a.java:20)
at com.intellij.openapi.j.a.m$b_.actionPerformed(m$b_.java:10)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at com.intellij.openapi.j.a.m.fireActionPerformed(m.java:58)
at com.intellij.ui.a.a.h.doClick(h.java:223)
at com.intellij.ui.a.a.h.access$300(h.java:123)
at com.intellij.ui.a.a.h$a_.mouseReleased(h$a_.java:4)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at com.intellij.ide.t.b(t.java:46)
at com.intellij.ide.t.a(t.java:37)
at com.intellij.ide.t.dispatchEvent(t.java:57)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Marc Stock wrote:
As can be seen from the stactrace the problem caused by junit plugin
installed.
--
Maxim Shafirov
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"
GAH!!! Thank you for giving me back my rename refactoring feature. :)
I don't know anything about building intellij plugins so I presumed it was an IDEA bug because the package name in the stacktrace is org.intillij.plugins.junit.etc. Plus, I didn't have any plugins named "junit." Anyway, I recommend people avoid the current version of the plugin called "unitTest" if they care about the rename refactoring feature. :)