Как включить автоформатирование кода для Intellij IDEA?

Возможно ли это в Intellij IDEA после ввода ';' или при нажатии 'Enter' произошло форматирование этой строки?

Например, чтобы:

a+b=10;

после:

a + b = 10;

Или единственно возможный вариант: Код> Переформатировать код ...?

Спасибо!


person 0x131313    schedule 26.07.2013    source источник
comment
если вы хотите, чтобы эта функция была включена в сам IntelliJ (а не в какой-либо плагин), проголосуйте здесь: youtrack.jetbrains.net/issue/IDEABKL-5806   -  person Line    schedule 06.02.2019


Ответы (15)


Ярлыки форматирования в Intellij IDEA:

  • Для Windows: Ctrl + Alt + L
  • Для Ubuntu: Ctrl + Alt + Windows + L
  • Для Mac: ⌥ (опция) + ⌘ (команда) + L
person axelrod    schedule 26.07.2013
comment
Да, но я бы хотел, чтобы это происходило автоматически, без нажатия горячих клавиш. - person 0x131313; 26.07.2013
comment
Макро? ctrl + alt + l становится ctrl + alt + l + enter - person Jeff; 14.05.2014
comment
В вопросе четко указывается автоформат после написания каждой строки. - person bokan; 28.09.2014
comment
Чтобы упростить переформатирование с помощью Ctrl + Alt + L, вы можете открыть «Настройки» - «Редактор» - «Общие» и снять флажок «Показать код переформатирования» в разделе «Форматирование». - person LoBo; 16.12.2014
comment
@axelrod есть ли способ сделать это автоматически при сохранении или компиляции кода - person Kasun Siyambalapitiya; 15.03.2017
comment
Это не ответ на вопрос. Ответ Нафиура Рахмана Хадема имеет значение. - person Dakatine; 07.11.2018
comment
Этот ответ ссылается на плагин, который позволяет такую ​​функцию stackoverflow.com / questions / 946993 / - person npretto; 29.05.2019
comment
проголосовал против: попросил автоматический формат, а не ярлыки для кода ручного форматирования - person C.L.S; 07.07.2021

Я нашел два способа сделать это:

  1. Перейдите к Settings> Keymap.В правой части перейдите к Editor Actions> complete current statement.Щелкните по нему и выберите добавить сочетание клавиш. Нажмите ; и выберите ОК.

  2. Используйте макрос. Перейти к

Edit> Macros> Start Macro Recording.

Теперь нажмите точку с запятой и сочетание клавиш, чтобы переформатировать код (сочетание клавиш можно найти в других ответах или в настройках> раскладка клавиатуры).

После переформатирования перейдите в

Edit> Macros> Stop Macro Recording

Сохраните макрос с именем (автоформат или что-то еще). Затем перейдите в

Settings> Keymap> Macros> auto format (имя макроса).

Щелкните здесь и выберите «Добавить сочетание клавиш», затем нажмите точку с запятой и нажмите «ОК». Теперь всякий раз, когда вы нажимаете точку с запятой, она будет писать точку с запятой и выполнять автоматическое форматирование.

person Nafiur Rahman Khadem    schedule 04.11.2017
comment
Отлично. Я также добавил Shift+[, используя первый метод для форматирования строки при написании if операторов, методов и т. Д. Однако по какой-то причине Enter, похоже, не работал. - person Matt; 30.11.2018
comment
Это было очень полезно, странно, что в Intellij вообще нет опции автоматического переформатирования - person Meme Composer; 24.02.2020

Вы можете сделать это с помощью подключаемого модуля Save Actions. См. Эта статья о том, как настроить плагин.

Плагин Save Actions поддерживает настраиваемые, такие как Eclipse, действия по сохранению, в том числе «оптимизировать импорт», «переформатировать код», «переупорядочить код», «скомпилировать файл» и некоторые быстрые исправления для Java, такие как «добавить / удалить квалификатор 'this'» и т. Д. Плагин выполняет настроенные действия при синхронизации (или сохранении) файла на диске.

  1. Установите плагин
  2. Выберите Настройки> Другие настройки> Сохранить действия.
  3. Установите флажок Активировать сохранение при сохранении.
  4. Установите флажок Переформатировать файл.
  5. Применить> ОК

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

Я предпочитаю горячие клавиши. Для Mac

Чтобы отформатировать код: Ctrl + Alt (Option) + L

И дополнительно я делаю: Ctrl + Alt (Option) + O. Это удалит неиспользуемый импорт и формат список импорта.

person prime    schedule 12.06.2020

В Eclipse есть опция автоматического форматирования при сохранении файла. В IntelliJ нет возможности для этого, хотя вы можете настроить макрос для клавиш Ctrl + S (Cmd + S на Mac), чтобы отформатировать код и сохранить его.

переформатирование Intellij при сохранении файла

person Mouscellaneous    schedule 16.06.2015

Файл-> Настройки-> Раскладка-> Полное текущее заявление

Я добавил туда ; ключ. При вводе ';' в конце строки это автоформатирование.

ОБНОВЛЕНИЕ

Я понял, что в некоторых ситуациях это вызовет некоторые проблемы. Вместо этого используйте _2 _ + _ 3 _ + _ 4_. Эту клавишу можно использовать в любой позиции курсора в строке. Он добавит ; в конце строки. Также у этого ярлыка есть и другие полезные функции.

нравиться:

public void someMethod()

после ярлыка:

public void someMethod() {
    // The cursor is here
}

поэтому форматирование при вставке ; не требуется.

person user12043    schedule 09.02.2017
comment
Умно, но не для Котлина - person jobbert; 09.08.2018

Этого также можно добиться с помощью Ctrl + WindowsBtn + Alt + L. Для некоторых это будет важно, потому что на некоторых виртуальных машинах Ctrl + Alt + L может выйти из системы.

person shock    schedule 28.01.2016

По умолчанию это Ctrl + Alt + L. Существует диалоговое окно сопоставления клавиш, в котором вы можете настроить / переопределить все сочетания клавиш.

Перейдите в File-> Settings-> KeyMap.

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

person vels4j    schedule 19.12.2016

Комбинация Ctrl + Shift + Enter (Complete Statement) также выполняет свою работу и делает еще несколько удобных вещей с функциями , циклы и т. д.

Документы JetBrains: https://www.jetbrains.com/help/idea/2016.3/completing-statements.html

person Pavel Shvetsov    schedule 05.03.2017

Ни одно из решений в Intellij не является таким элегантным (или полезным), как в Eclipse. Нам нужен запрос функции к intellij, чтобы мы могли добавить ловушку (какие действия выполнять) при автосохранении IDE.

В Eclipse мы можем добавлять действия «после сохранения», такие как организация импорта и форматирование класса. Да, вы должны сделать "save" или ctrl-s, но ловушка очень удобна.

person ccstep1    schedule 28.09.2018
comment
есть ли контакты с intellij по поводу htis? Если да, то разместите ссылку здесь :) - person Ruthi Ruth; 29.11.2018
comment
@RuthiRuth нашел его;) youtrack.jetbrains.net/issue/IDEABKL-5806 - person Line; 06.02.2019

при желании можно использовать подключаемый модуль saveActions. Вы можете переформатировать файл, оптимизировать импорт и многое другое, это действительно настраивается и легко настраивается.

person Daniel Alejandro    schedule 07.11.2019

Ну, это невозможно, но в intellij 13, как насчет добавления жеста мыши, чего-то вроде одного щелчка левой кнопкой мыши, чтобы переформатировать код? Или, если вы мало используете мышь, добавьте очень простую горячую клавишу клавиатуры, которую вы используете все время (возможно, «ввод»? Не уверен, что intellij будет доволен этим, если честно)

person sakis kaliakoudas    schedule 26.02.2014
comment
Почему голос против? Я говорю, что то, что вы хотите, невозможно, и пытаюсь предоставить самое близкое из возможных .. - person sakis kaliakoudas; 31.03.2014
comment
Понижение легко объяснить: щелчком мыши. Одно из больших преимуществ IntelliJ - это ярлыки и то, что вам не нужно часто пользоваться мышью. Если вы много программируете, вы не хотите много использовать мышь, потому что вы быстрее работаете с клавиатурой. Уже есть ярлык для форматирования. - person Phil; 16.02.2015

В Mac это Alt + Command + L (при условии, что вы не изменили ни одну из своих клавиши-модификаторы или сочетания клавиш Intellij из состояния по умолчанию)

person mithunpaul    schedule 27.08.2017

Согласно комментарию Ларсона, теперь это возможно с помощью плагин save-actions.

person Derek Hill    schedule 02.05.2019

Я знаю, что этот вопрос довольно старый, но на самом деле существует плагин Сохранить действия для IntelliJ, который можно настроить для автоматического форматирования кода.

person algiogia    schedule 29.05.2019

То, как я реализовал автоматическое переформатирование, как в Microsoft Visual Studio (работает не идеально):

1. Edit > Macros > Start Macro Recording
2. Press continuously: Enter + Ctrl+Alt+I
3. Edit > Macros > Stop Macro Recording (Name it for example ReformatingByEnter)

Теперь нам нужно выполнить те же действия, но для Ctrl + Alt + L +;

4. Edit > Macros > Start Macro Recording
5. Press continuously: ; + Ctrl+Alt+I
6. Edit > Macros > Stop Macro Recording (Name it for example ReformatingBy;)

Теперь нам нужно назначить горячие клавиши этим макросам:

7. File > Settings > Keymap > press on a gear button > Duplicate...
8. Unfold a macro button (beneath) and by right clicking on two 
ours macros assign HotKeys for them: "Enter" and ";" correspondingly.
person Rostislav Teryaev    schedule 28.01.2018
comment
Возможно, это ограничение моей клавиатуры, но я могу записывать только 3 клавиши за раз. - person Matt; 30.11.2018