Як мати код обгортання форматера з IntelliJ?


135

Я не в змозі відформатувати свій код в IntelliJ.

Я бачу рядок поля (за замовчуванням у 120 стовпців), але здається, що активація з меню:

Код -> Код переформатування

це просто ігнорування цієї межі.

Відповіді:


91

Ви маєте на увазі, що форматор не ламає довгих рядків? Перевірте Налаштування / Налаштування проекту / Стиль коду / Упаковка.

Оновлення: у пізніших версіях IntelliJ параметр знаходиться у розділі Налаштування / Редактор / Стиль коду. І виберіть Wrap when typing reaches right margin.


1
цього варіанту більше немає, використовуючи версію 13.0.2, і проблема залишається ..
ipolevoy

34
@ipolevoy назва опції "Переконайтеся, що права межа не перевищена"
madhead

13
Параметр "Переконайтеся, що правий запас не перевищений" знаходиться у меню Файл / Налаштування / Редактор / Стиль коду / Ява / Обгортання та Фігурні дужки / Зберігайте під час переформатування
Аарон

ці хлопці постійно перейменують клавіші налаштування
ACV

Це правильно, але в нових версіях були додані додаткові параметри для забезпечення більш точного контролю над тим, що можна обернути. Правильну поточну відповідь див. У розділі stackoverflow.com/a/52157389/1104581 .
ipetrik

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воля потрапить у величезну неприємність, коли ти щось зміниш на лінії, яка вже була завернута. Ваша відповідь просто очищається після виклику. У поєднанні з макросом "збереження та форматування" це чисте золото!
Патрік

1
Я хотів би додати сюди одне ключове слово, яке саме можна шукати: це те, що його називають жорстким обгортанням (на відміну від м'якого обгортання - див. Різницю тут ).
квітня

1
Чи існує спосіб, щоб вона мала правильну кількість рядків, а не просто переконалася, що вона не перевищує максимум? Наприклад: я набираю якийсь довгий рядок, він розбиває його на два рядки, потім я видаляю щось у першому рядку, і він об'єднує два рядки назад в один рядок.
user2259659

1
Також: Жодних вказівок на 2018.1
8bitjunkie

1
2017 рік "Обгортання набору тексту" не працює. Текст все ще переходить рядок, і нічого не відбувається при переформатуванні
tylik

16

Увімкнення "Переконайтеся, що права межа не перевищена" для мене не працює в Intellij IDEA 2018.2. Я знайшов рішення, нам потрібно змінити всі елементи нижче з "Не загортати" на "Загорнути, якщо довго".

введіть тут опис зображення введіть тут опис зображення

Після цього ми можемо переглянути, який тип обтікання буде змінено, переглянувши праву панель. Якщо ми задоволені, натисніть «ОК» або «Застосувати», щоб застосувати зміни. Нарешті, нам потрібен щорічний формат, використовуючи CTRL+ ALT+ Lу Windows та Command+ Shift+ Lу MacOS.


Це також було проблемою для мене. Якщо цей прапорець встановлено, але решту залишається за замовчуванням, IntelliJ намагається обернути лінії, але не може, тому що для всіх встановлено значення "Не обертати".
Розбійник

12

Або ви можете скористатися ярликом:

Ctrl + Alt + L


4
Чи можете ви опублікувати ім’я цієї дії (Налаштування -> Клавіатура)? У більшості Linuxes комбінація CTRL + ALT + L використовується для блокування комп'ютера. Я навіть не можу використовувати ярлик "Знайти дію".
tomrozb

2
@tomrozb ця ярлик призначена для Код -> Код переформатування.
AtomHeartFather

1
Це блокує мій екран.
8bitjunkie

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 у нас є варіант, який називається soft-wrap цих файлів. Налаштування -> Редактор -> Загальне -> програмне забезпечення цих файлів. Позначте цю опцію та додайте тип файлів, які вам потрібні.

опція м'якого обгортання

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.