如何使用IntelliJ使格式化程序包装代码?


135

我无法在IntelliJ中格式化我的代码。

我可以看到边距线(默认为120列),但似乎从菜单激活了:

代码->重新格式化代码

只是忽略了这个余量。

Answers:


91

您是说格式化程序不会中断长行吗?检查设置/项目设置/代码样式/包装。

更新:在更高版本的IntelliJ中,该选项位于“设置” /“编辑器” /“代码样式”下。然后选择Wrap when typing reaches right margin


1
这个选项是不存在了,使用的版本13.0.2,但问题仍然存在..
ipolevoy

34
@ipolevoy,选项名称为“确保不超出右边距”
madhead 2014年

13
“确保不超出右边距”选项位于文件/设置/编辑器/代码样式/ Java /重新包装时的大括号和括号
Aaron

这些家伙一直在不断重命名设置键
ACV

这是正确的,但是在新版本中,添加了附加选项以提供对可包装内容的更好控制。有关正确的当前答案,请参见stackoverflow.com/a/52157389/1104581
ipetrik '19

160

IntelliJ IDEA 14,15,2016和2017

格式化现有代码

  1. 确保不超出右边距

    文件>设置>编辑器>代码样式> Java>包装和括号>确保不超出右边距

    档案设定 确保正确的边距

  2. 重新格式化代码

    代码>重新格式化代码...

    重新格式化代码

    或按Ctrl+ Alt+L

    警告 如果您有这样的事情:

    thisLineIsVeryLongAndWillBeChanged();   // comment
    

    它将被转换为

    thisLineIsVeryLongAndWillBeChanged();   
    // comment  
    

    代替

    // comment  
    thisLineIsVeryLongAndWillBeChanged();   
    

    这就是为什么我在重新格式化之前选择一些代码的原因,如果代码看起来像上一个示例中的那样。

键入达到右边界时自动换行

  • IntelliJ IDEA 14:文件>设置>编辑器>代码样式>键入时自动换行

    键入时自动换行

  • IntelliJ IDEA 15,2016和2017:文件>设置>编辑器>代码样式>键入时自动换行

    包装打字


5
是! 这是实际答案,非常感谢!关键是,Wrap when typing reaches right margin一旦在已包装的生产线上更改了某些内容,就会带来极大的麻烦。您的答案仅在调用时清除。结合“保存并格式化”宏,这就是纯金!
Patrick

1
我想在这里添加一个关键字,这可能就是我们想要的:这就是所谓的硬包装(与软包装相反- 请在此处查看区别)。
il in

1
有没有一种方法可以使它具有正确的行数,而不仅仅是确保它不超过最大值?例如:我输入一些长行,将其分成两行,然后删除第一行中的内容,然后将两行合并回一行。
user2259659 '17

1
另外:没有针对2018.1的指南
18bitjunkie '18

1
2017“打字换行”不起作用。文本仍然
越界

16

在Intellij IDEA 2018.2中,启用“确保不超出右边距”对我不起作用。我已经找到了解决方法,我们需要将下面的每个元素从“不要包装”更改为“长时间包装”。

在此处输入图片说明 在此处输入图片说明

之后,我们可以通过查看右侧面板来预览将更改哪种包装类型。如果我们满意,请单击“确定”或“应用”以应用更改。最后,我们需要在Windows中使用+ + 在MacOS中使用CTRL+ ALT+ 的手动格式 。LCommandShiftL


这也是我的问题。如果已设置该复选框,但其余复选框保留为默认值,则IntelliJ会尝试换行,但不能,因为所有内容均设置为“不换行”。
强盗


3

您可以为Ctrl + Shift + S创建一个宏,例如执行以下所有操作:

编辑>宏>开始宏录制(录制将开始)。单击您需要的位置。

例如:

Code > Reformat Code
Code > Auto-Indent Lines
Code > Optimize Imports
Code > Rearrange Code
File > Save All
... (all that you want)

然后,单击IDE右下角的红色按钮停止宏录制。

设置宏名称。

转到文件>设置>宏> 您的宏名称

右键单击>添加键盘快捷键,然后输入Ctrl + Shift +S。


这是基本的IDE功能。宏是OTT,对于如此简单的东西来说太复杂了。
8bitjunkie

2

为了在IntelliJ IDEA 2020.1社区的代码编辑器中包装文本,请按照下列步骤操作:

Ctrl + Shift + "A" OR Help -> Find Action
Enter: "wrap" into the text box
Toggle: View | Active Editor Soft-Wrap "ON"

在此处输入图片说明


0

在最新的Intellij ver 2020中,我们有一个选项称为软包装这些文件。设置->编辑器->常规->软包装这些文件。选中此选项并添加您需要包装的文件类型。

软包装IntelliJ选项

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.