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

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

Например, в:

a+b=10;

после

a + b = 10;

Или только возможная опция: Код > Код реформата...?

Спасибо!

Ответ 1

Ярлык автоформатирования в IntelliJ

  • Для окон Ctrl + Alt + L.
  • Для Ubuntu Ctrl + Alt + windows + L.
  • Для Mac Command + Option + L.

Ответ 2

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

  • Перейдите к Settings> Keymap. В правой части перейдите к Editor Actions> complete current statement. Нажмите на нее и выберите добавить комбинацию клавиш. Нажмите; и выберите ok.

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

Edit> Macros> Start Macro Recording.

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

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

Edit> Macros> Stop Macro Recording

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

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

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

Ответ 3

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

Intellij reformat при сохранении файла

Ответ 4

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

Перейдите File-> Настройки-> KeyMap

enter image description here

Ответ 5

File-> Настройки → Keymap-> Завершить текущий отчет

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

ОБНОВИТЬ

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

лайк:

public void someMethod()

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

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

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

Ответ 6

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

Ответ 8

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

Ответ 9

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

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

Ответ 10

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

Ответ 11

Способ, которым я реализовал автоматическое переформатирование, как в 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.

Ответ 12

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