在IntelliJ中重新排列Java类方法的简单方法?

问题描述:

是否有一种更简单的方法重新排序在IntelliJ类源文件中的方法手动切割和粘贴代码?现在,我经常需要重构遗留代码,例如在源代码中将相关方法彼此靠近。在IntelliJ中重新排列Java类方法的简单方法?

在Eclipse AFAIK中,有一个类似于IntelliJ的Structure视图的视图,我可以在其中拖放方法。但是,这在IntelliJ中不起作用,我也无法从它的帮助中找到任何提示。

我使用IntelliJ 9.0.2是特定的。

+0

我认为最好的解决办法是一个格式化工具,自动订购你的方法。散文:这些方法应该是它们被调用的方式。就像你会在报纸上看到一篇文章一样。 – Chris311 2016-11-28 09:52:41

您可以选择的方法名称,然后按:按Ctrl ++向上按Ctrl ++它上下移动。

在OS X:Cmd的 + + 向上Cmd的 + + 向下

除此之外的Rearranger Plugin能让您在快速移动的方法,甚至定义根据您的编码惯例进行标准排序。

+0

是不是有什么东西只是按字母顺序重新排序? – 2011-06-18 21:30:06

+0

该链接已死亡,这似乎是正确的:http://java.net/projects/rearranger – stian 2012-12-06 11:58:04

+0

@stian - 我已经编辑帖子指向JetBrains网站上的插件页面,因为你的链接发布似乎没有任何可用的下载 – adrian 2013-10-29 17:47:52

选择一段文字(按Ctrl-W几次),然后使用Ctrl-Shift-Up和Ctrl-Shift-向下移动它。

随着光标的方法定义行(你不必并按CTRL + 转变 + CTRL + 转变 + 下来,或者分别上下移动。

您还可以到CTRL ++数字小 -迅速崩溃一切,让您可以专注于中移动(普通-作品在我的笔记本电脑为好,不知道为什么)和CTRL ++数字小+要回看到的一切(CTRL- shift-equals也适用于我的笔记本电脑)。

不完美的答案还有,由于IntelliJ中的错误。

尽管IntelliJ隐式提供了此功能,但它需要启用和固定。 OP的建议方法是在技术上按照深度优先的顺序排列方法。但是,如果使用广度优先排序(可以正常工作),则应将所有调用方和被调用方法排列在一起,从而减少大量移动函数的手动工作。

问题链接:https://youtrack.jetbrains.com/issue/IDEA-149524。请为其决议投票。

IntellijRearrangeMethodsInDFO

这样做的适当行动是重新排列码。这没有分配给它的键,但是你可以使用Preferences-> Keymap定义你自己的键。

RearrangeActionMenuButton

enter image description here

的IntelliJ有一个内置的系统,它允许您指定如何订购你的方法。您需要转到设置(Ctrl + Alt + S) - >编辑器 - >代码样式 - > Java - >排列(选项卡)并向下滚动,直到找到带有methods的图标。您可以在这里操作选项,通过可视性或按字母顺序对它们进行分类,或者将相关的分组在一起。 下面是我的设置屏幕截图,它将通过可见性(公共,受保护,私有)和按字母顺序(a-z)自动排序方法。 蓝色高光显示当前选定的规则。

enter image description here