intellij-idea 在IntelliJ?中对Java类的方法进行重新排序的简单方法

kjthegm6  于 2022-11-01  发布在  Java
关注(0)|答案(6)|浏览(845)

在IntelliJ中,有没有比手动剪切和粘贴代码更简单的方法来重新排序类源文件中的方法?现在,我在重构遗留代码时经常需要这样做,例如,在源代码中将相关的方法彼此靠近。
在Eclipse AFAIK中有一个类似于IntelliJ的Structure视图的视图,我可以在其中拖放方法。但是,这在IntelliJ中不起作用,我也无法从它的帮助中找到任何提示。
具体来说,我使用的是IntelliJ 9.0.2。

wvmv3b1j

wvmv3b1j1#

您可以选择一个方法名称并单击:按Ctrl+Shift+Up或Ctrl+Shift+Down可将其上下移动。
在OS X上:Cmd+Shift+向上或Cmd+Shift+向下
除此之外,Rearranger Plugin还允许您快速移动方法,甚至可以根据编码约定定义一个标准排序。

shyt4zoc

shyt4zoc2#

IntelliJ有一个内置的系统,允许你指定如何排序你的方法。你需要去设置(Ctrl + Alt +S)-〉编辑器-〉代码样式-〉Java -〉排列(选项卡)并向下滚动,直到找到带有methods的图标。您可以在其中操纵选项,按可见性或字母顺序对其进行排序,或者将相关的方法组合在一起。这是我的设置的屏幕截图,它将自动按照可见性(public,protected,private)和字母顺序(a-z)对方法进行排序。蓝色突出显示的是当前选择的规则。

i86rm4rw

i86rm4rw3#

由于IntelliJ中的一个错误,还不是一个完美的答案
虽然IntelliJ隐含地提供了这个特性,但是它需要被启用和修复。OP建议的方法是在技术上以深度优先的顺序排列方法。然而,如果你使用宽度优先的顺序(它工作正常),它应该通过将所有的调用者和被调用者方法排列在一起,大大减少了移动函数的手动工作。
问题链接:https://youtrack.jetbrains.com/issue/IDEA-149524。请为它的决议投票。

这是一个合适的动作重新排列代码。它没有被分配键,但是你可以使用首选项-〉键Map来定义你自己的键。

3df52oht

3df52oht4#

将光标放在方法定义行上(您不必按ctrl+shift+up或ctrl+shift+down,即可分别向上或向下移动。
你也可以按ctrl+shift+数字键-快速折叠所有内容,这样你就可以专注于四处移动(plain -在我的笔记本电脑上也可以,不知道为什么),按ctrl+shift+数字键+可以返回查看所有内容(ctrl-shift-equals在我的笔记本电脑上也可以)。

b09cbbtk

b09cbbtk5#

选择一个文本块(按Ctrl-W几次),然后使用Ctrl-Shift-Up和Ctrl-Shift-Down移动它。

wz8daaqr

wz8daaqr6#

有一种自动化的方式,您可以稍后调整
代码-〉显示重新格式化文件对话框
并勾选“重新排列代码”框

相关问题