与手动剪切和粘贴代码相比,在IntelliJ中有没有更简单的方法来对类源文件中的方法进行重新排序?如今,在重构遗留代码时,我经常需要这样做,例如,使相关方法在源代码中彼此靠近。
在Eclipse AFAIK中,有一个类似于IntelliJ的“结构”视图的视图,我可以在其中拖放方法。但是,这在IntelliJ中不起作用,我也从其帮助中找不到任何提示。
我使用的是IntelliJ 9.0.2。
与手动剪切和粘贴代码相比,在IntelliJ中有没有更简单的方法来对类源文件中的方法进行重新排序?如今,在重构遗留代码时,我经常需要这样做,例如,使相关方法在源代码中彼此靠近。
在Eclipse AFAIK中,有一个类似于IntelliJ的“结构”视图的视图,我可以在其中拖放方法。但是,这在IntelliJ中不起作用,我也从其帮助中找不到任何提示。
我使用的是IntelliJ 9.0.2。
Answers:
您可以选择一个方法名称,然后单击:Ctrl+ Shift+Up或Ctrl+ Shift+Down将其上下移动。
在OS X上:Cmd+ Shift+Up或Cmd+ Shift+Down
除此之外,重新排列插件可让您快速移动方法,甚至根据您的编码约定定义标准顺序。
Code > Move Statement Up/Down
没有一个完美的答案还没有,因为在的IntelliJ的错误。
尽管IntelliJ隐式提供了此功能,但它既需要启用又要固定。OP建议的方法是在技术上按深度优先顺序排列方法。但是,如果使用“广度优先”顺序(工作正常),则应通过将所有调用方和被调用方方法安排在一起来减少移动函数的手动工作。
问题链接:https : //youtrack.jetbrains.com/issue/IDEA-149524。请为它的解决方案投票。
对此的适当操作是重新排列代码。它没有分配键,但是您可以使用“首选项”->“键映射”定义自己的键。
选择一个文本块(按Ctrl-W几次),然后使用Ctrl-Shift-Up和Ctrl-Shift-Down来移动文本。