Refactoring code

Is refactoring going to implemented soon that works - such as rename package. Move class.

I had to move a primitive type class from one package to another, this involved a changes to 120 files.

I mainly had to fix this by hand and/or global replace for the imports. In old java this would have been one key shortcut.

It's getting quite painful.

Thanks
Graham

评论操作 固定链接

I hope mostly painful was http://youtrack.jetbrains.com/issue/SCL-4613, which will be fixed in next plugin version (which I'll upload in 3-4 hours to plugin manager).

I'll go though all "move" issues in tracker, then we will be able to talk about is it usable or not (I hope it will be).

Best regards,
Alexander Podkhalyuzin.

0
评论操作 固定链接

That would be a great help to our project !

Will try a move after updating the plugin and get back to you.

Thanks
Graham

0
评论操作 固定链接

Current issues.

1) Single import statement of moved item was not corrected. Was in the original package

I had

package x.y with classes A,B,C & x.y.z. with E,G and moved A, the file not corrected was E

2) Import with ._ for all items did not have a new import created for moved item

3) If I move A and had import of x.y.{A,B,C} the import is left as x.y.{B,C} and a new import for A is not created.
Occasionally saw the import left unchanged as x.y.{A,B,C}

A lot of the files were correctly changed, thanks.
Graham

0
评论操作 固定链接

I wasn't able to reproduce your problems, I probably need more complete examples.
Work for "Move" is still in progress, I think you can create new issues for it to our tracker after I consider "Move" more or less usable.

Best regards,
Alexander Podkhalyuzin.

0
评论操作 固定链接

I'll try and create some samples and put them in github.

0
评论操作 固定链接

It's better to use our main issue repository: http://youtrack.jetbrains.com/issues/SCL

Best regards,
Alexander Podkhalyuzin.

0
评论操作 固定链接

You can check in complete projects to show the error ?

0
评论操作 固定链接

Yes I can, however possible problems was some general exception on objects and traits moving (in case of moving whole file with few classes), which wasn't fixed in 0.6.287. I'd suggest you to wait for 0.6.291, which will be available soon, and to try again, it seems it should help in your described three issues.

Best regards,
Alexander Podkhalyuzin.

0
评论操作 固定链接

Still giving numerous issues after a move.

Will produce some testcase projects and get back to you.

Thanks

0
评论操作 固定链接

Sorry for the delay, struggling to reproduce it myself.

Happens on my large work project.
But trying to narrow down.

0
评论操作 固定链接

Though attempting a rename on a mac with plugin         0.6.320     gives

Error during dispatching of java.awt.event.KeyEvent[KEY_PRESSED,keyCode=117,keyText=F6,keyChar=Undefined keyChar,modifiers=⇧,extModifiers=⇧,keyLocation=KEY_LOCATION_STANDARD,rawCode=0,primaryLevelUnicode=0,scancode=0] on frame1: Expected: class com.intellij.refactoring.rename.RenamePsiElementProcessor; Actual: class org.jetbrains.plugins.clojure.refactoring.rename.RenameClojureFileProcessor
java.lang.AssertionError: Expected: class com.intellij.refactoring.rename.RenamePsiElementProcessor; Actual: class org.jetbrains.plugins.clojure.refactoring.rename.RenameClojureFileProcessor
 at com.intellij.openapi.extensions.impl.ExtensionPointImpl.assertClass(ExtensionPointImpl.java:393)
 at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapters(ExtensionPointImpl.java:231)
 at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensions(ExtensionPointImpl.java:174)
 at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:105)
 at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:92)
 at com.intellij.refactoring.rename.RenamePsiElementProcessor.forElement(RenamePsiElementProcessor.java:110)
 at com.intellij.refactoring.rename.PsiElementRenameHandler.renameabilityStatus(PsiElementRenameHandler.java:112)
 at com.intellij.refactoring.rename.PsiElementRenameHandler.canRename(PsiElementRenameHandler.java:99)
 at com.intellij.refactoring.rename.PsiElementRenameHandler.invoke(PsiElementRenameHandler.java:80)
 at com.intellij.refactoring.rename.PsiElementRenameHandler.invoke(PsiElementRenameHandler.java:61)
 at com.intellij.refactoring.actions.BaseRefactoringAction.actionPerformed(BaseRefactoringAction.java:89)
 at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$3.performAction(IdeKeyEventDispatcher.java:561)
 at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:609)
 at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.d(IdeKeyEventDispatcher.java:464)
 at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:208)
 at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:479)
 at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:333)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

0
评论操作 固定链接

Rename was a conflict with the La clojure, not sure why it was being invoked.

0
评论操作 固定链接

Clojure rename will be fixed before IDEA 12 release. Before it you should disable "La Clojure" plugin to have rename working.

Best regards,
Alexander Podkhlayuzin.

0
评论操作 固定链接

Hi, as you have probably seen I've managed to isolate testcase for the issues we have. I believe this would cover all our problems.

They are

SCL-4975Rename refactor
SCL-4972Move refactor issue
SCL-4973Move refactor issue - import with {}

If these were fixed it would save our teams hours per week.

Thanks
Graham

0
评论操作 固定链接

Should I change these severity of these to Major - for us they are an enourmous issue.

For others I can imagine they wouldn't be.

0
评论操作 固定链接

I marked them to fix before IDEA 12 release (5 December). You shouldn't change severity for the issue (and I hope you can't do it).

Best regards,
Alexander Podkhalyuzin.

0
评论操作 固定链接

Hi, I see the bugs are fixed, thanks !

Will the be available in the next nightly post 0.6.340 ?

Thanks
Graham

0
评论操作 固定链接

We have some problems with build, so it will be available in next nightly build after we resolve these problems.

Best regards,
Alexander Podkhalyuzin.

0
评论操作 固定链接

Yeah they have fixed our refactoring issues. Will be a great help !

Thanks
Graham

0
评论操作 固定链接

Thank you for information and bugreports.

Best regards,
Alexander Podkhalyuzin.

0

请先登录再写评论。