重构代码时(例如:重构 - > 重命名), IntelliJ IDEA 14.x 也会将我的代码重新编码(重新格式化)符合80列限制。
示例:这是重构之前的代码:
正在进行重构:
...按Enter
后代码重新打包:
最令人烦恼的是,即使编辑器中当前未打开的Java类(但受重构影响)也会被重新格式化,从而增加了格式化更改未被注意地传播到我的VCS的可能性。
我想要实现的目标是:
我如何实现这一目标?
答案 0 :(得分:0)
如果您正在进行实际"重构 - >重命名" ,例如使用 SHIFT + F6 您正在编辑每个引用该变量名称的文件,无论它们当前是否已打开如果您更改了所有受影响的文件,并且任何VCS会将其视为已更改,则编辑器无关紧要。
在重构中重新格式化整个文件的行为已经在Idea中很长时间了,并且针对该行为提交的所有错误都已永远设置在未分配的状态。 Here is one example
我怀疑这种行为是否会改变,我希望它不会改变。
如果您想要可笑的长变量名称,那么您需要关闭右边距或使其长得可笑。或者更改导致格式不同的任何配置。
就个人而言,我把所有相关的东西都设置为ALWAYS
,所以我没有一种方式格式化,而某些方式格式化不同。在大型代码库中,一致性比其他任何内容都重要。
Idea中的VCS工具非常强大,在任何其他IDE中都无法比拟。您可以轻松查看已更改的内容,并将其从任何提交中排除,或者按照您的需要进行修改。
对于它支持的所有各种版本控制系统,Idea在提交复选框上都有格式。
答案 1 :(得分:0)
由于我没有使用任何自动格式化并且主要手动包裹我的长行,我想出了另一种解决方案。
在"文件 - >下设置 - >编辑 - >代码风格 - > Java - >包装和支撑" ,我已完全禁用自动包装(即将所有内容设置为"不要在适当的地方包装" ,除了类,方法和字段注释,设置为"默认包装" 。
这种方法的缺点是现在IDEA有时会在重构期间展开长行,但这些更容易被发现。