如何在重构时阻止IDEA重新格式化我的代码?

时间:2015-05-15 12:38:30

标签: java intellij-idea intellij-14

重构代码时(例如:重构 - > 重命名), IntelliJ IDEA 14.x 也会将我的代码重新编码(重新格式化)符合80列限制。

示例:这是重构之前的代码: enter image description here

正在进行重构: enter image description here

...按Enter后代码重新打包: enter image description here

最令人烦恼的是,即使编辑器中当前未打开的Java类(但受重构影响)也会被重新格式化,从而增加了格式化更改未被注意地传播到我的VCS的可能性。

我想要实现的目标是:

  • 将原始打印边距保持在80列,但仍然
  • 让IDEA在重命名变量/类/方法时保留原始格式。

我如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

如果您正在进行实际"重构 - >重命名" ,例如使用 SHIFT + F6 正在编辑每个引用该变量名称的文件,无论它们当前是否已打开如果您更改了所有受影响的文件,并且任何VCS会将其视为已更改,则编辑器无关紧要。

在重构中重新格式化整个文件的行为已经在Idea中很长时间了,并且针对该行为提交的所有错误都已永远设置在未分配的状态。 Here is one example

我怀疑这种行为是否会改变,我希望它不会改变。

如果您想要可笑的长变量名称,那么您需要关闭右边距或使其长得可笑。或者更改导致格式不同的任何配置。

就个人而言,我把所有相关的东西都设置为ALWAYS,所以我没有一种方式格式化,而某些方式格式化不同。在大型代码库中,一致性比其他任何内容都重要。

Idea中的VCS工具非常强大,在任何其他IDE中都无法比拟。您可以轻松查看已更改的内容,并将其从任何提交中排除,或者按照您的需要进行修改。

对于它支持的所有各种版本控制系统,

Idea在提交复选框上都有格式。

答案 1 :(得分:0)

由于我没有使用任何自动格式化并且主要手动包裹我的长行,我想出了另一种解决方案。

"文件 - >下设置 - >编辑 - >代码风格 - > Java - >包装和支撑" ,我已完全禁用自动包装(即将所有内容设置为"不要在适当的地方包装" ,除了类,方法和字段注释,设置为"默认包装"

这种方法的缺点是现在IDEA有时会在重构期间展开长行,但这些更容易被发现。