ChatGPT解决这个技术问题 Extra ChatGPT

How to have the formatter wrap code with IntelliJ?

I'm not able to format my code in IntelliJ.

I can see the margin line (by default at 120 columns) but it seems that the activation from the menu:

Code -> Reformat Code

is just ignoring this margin.


R
ROMANIA_engineer

IntelliJ IDEA 14, 15, 2016 & 2017

Format existing code

Ensure right margin is not exceeded File > Settings > Editor > Code Style > Java > Wrapping and Braces > Ensure right margin is not exceeded Reformat code Code > Reformat code... or press Ctrl + Alt + L If you have something like this: thisLineIsVeryLongAndWillBeChanged(); // comment it will be converted to thisLineIsVeryLongAndWillBeChanged(); // comment instead of // comment thisLineIsVeryLongAndWillBeChanged(); This is why I select pieces of code before reformatting if the code looks like in the previous example.

Wrap when typing reaches right margin

IntelliJ IDEA 14: File > Settings > Editor > Code Style > Wrap when typing reaches right margin

IntelliJ IDEA 15, 2016 & 2017: File > Settings > Editor > Code Style > Wrap on typing


Yes! This is the actual answer, thank you so much! The point is that the Wrap when typing reaches right margin will get in tremendous trouble once you change something on a line that has already been wrapped. Your answer just cleans upon invocation. Combined with a "save and format" macro this is pure gold!
I would like to add one keyword here, which is what one may be looking for: this is what it is called a hard wrap (as opposed to soft wrap -- see the difference here).
Also: No guidance for 2018.1
format code did it for me. This step should be automatic
h
hc_dev

Do you mean that the formatter does not break long lines? Then please check:

Settings / Project Settings / Code Style / Wrapping

Update: In later versions of IntelliJ, the option can be found under:

Settings / Editor / Code Style

There select Wrap when typing reaches right margin.


this option is not there anymore, using version 13.0.2, and the problem remains..
@ipolevoy the option name is "Ensure right margin is not exceeded"
The "Ensure right margin is not exceeded" option is in File / Settings / Editor / Code Style / Java / Wrapping and Braces / Keep when reformatting
these guys keep on renaming setting keys all the time
This is correct, but in new versions, additional options were added to provide finer control about what can be wrapped. See stackoverflow.com/a/52157389/1104581 for the correct current answer.
g
guo

Enabling "Ensure right margin is not exceeded" doesn't work for me in Intellij IDEA 2018.2. I have found the workaround, we need to change every elements below from "Do not wrap" to "Wrap if long".

https://i.stack.imgur.com/PxkLw.png

After that, we can preview what kind of wrap type will be changed by looking into right panel. If we are satisfied, Click "OK" or "Apply" to apply the changes. Finally we need a mannual format by using CTRL+ ALT+ L in Windows and Command+ Shift+ L in MacOS.


This was also the problem for me. If that checkbox is set but the rest is left to default IntelliJ tries to wrap lines, but can't because everything is set to "Do not wrap".
E
Eslam Hamouda

Or you can use the shortcut:

Ctrl + Alt + L


Could you post this action's name (Settings -> Keymap)? On most Linuxes the CTRL+ALT+L combination is used to block the computer. I can't even use the "Find action by shortcut".
@tomrozb this shortcut is for Code -> Reformat Code.
That locks my screen.
Only this worked for me on Mac (Cmd + Option + L). None if the checking on boxes in Code Style did.
S
Sandeep Kumar

In order to wrap text in the code editor in IntelliJ IDEA 2020.1 community follow these steps:

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

https://i.stack.imgur.com/rbKuX.png


h
hc_dev

In the latest IntelliJ, version 2020, we have an option called soft-wrap these files:

Settings > Editor > General > soft-wrap these files.

Check this option and add the type of files you would like to apply the wrapping to.

https://i.stack.imgur.com/JSXGB.png

Related question on JetBrains' IDEs Support Forum: Wrap code to indent


Isn't this the same what Noah G. already proposed via shortcut Find Action (CRTL + SHIFT + A) View | Active Editor Soft-Wrap "ON" ?
Seems they existed already in earlier versions: 2019.1.3 and before.
u
user3006181

You can create a macro for Ctrl +Shift + S (for example) that do all this things:

Edit > Macros > Start Macro Recording (the recording will start). Click where you need.

For example:

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

Then, click on red button in bottom-right of the IDE to stop the Macro recording.

Set a macro name.

Go to File > Settings > Macros > YOUR MACRO NAME.

Right Click > Add Keyboard Shortcut, and type Ctrl + Shift + S.


This is a basic IDE feature. Macros are OTT and too complicated for something so simple.