Як увімкнути код автоматичного форматування для Intellij IDEA?


129

Чи можливо це в Intellij IDEA після введення ';' або натисніть "Enter", що відбулося форматування цього рядка?

Наприклад, для:

a+b=10;

після:

a + b = 10;

Або лише можливий варіант: Код> Код переформатування ... ?

Дякую!


1
Alt+ c+r
Gayan Weerakutti

якщо ви хочете, щоб ця функція була включена до самого IntelliJ (не у будь-який плагін), будь ласка, проголосуйте тут: youtrack.jetbrains.net/issue/IDEABKL-5806
рядок

Відповіді:


181

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

  • Для Windows: Ctrl+ Alt+L
  • Для Ubuntu: Ctrl+ Alt+ Windows+ L
  • Для Mac: ⌥ (Option)+ ⌘ (Command)+L

89
Так, але я хотів би, щоб це відбувалося автоматично, не натискаючи швидку клавішу.
0x131313

Макрос? ctrl + alt + l стає ctrl + alt + l + enter
Джефф

17
Питання чітко вказує "автоматичний формат" після написання кожного рядка.
bokan

2
@axelrod є спосіб зробити це автоматично, зберігаючи або компілюючи код
Kasun Siyambalapitiya

3
Це не відповідає на запитання. Відповідь Нафіура Рахмана Хадема.
Дакатін

22

Я знайшов два способи зробити це:

  1. Перейдіть Settings> Keymap.у праву частину, перейдіть до Editor Actions> complete current statement.клацання на ньому та виберіть додавання комбінації клавіш. Натисніть; і виберіть нормально.

  2. Використовуйте макрос. Йти до

Edit> Macros> Start Macro Recording.

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

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

Edit> Macros> Stop Macro Recording

Збережіть макрос з іменем (автоматичний формат чи щось інше). Потім переходьте до

Settings> Keymap> Macros> auto format (назва макросу).

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


Приємно. Я також додав, Shift+[використовуючи перший метод для форматування рядка під час написання ifвисловлювань та методів тощо. Чомусь, Enterсхоже , це не працювало.
Метт

1
Це було дуже корисно, дивно, що Intellij взагалі не має можливості автоматичного переформатування
Teedeez

12

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

Переформатування Intellij на збереження файлів


7

За замовчуванням - Ctrl+ Alt+ L Існує діалогове вікно зі відображенням клавіш, де можна налаштувати / замінити всі комбінації клавіш.

Перейдіть до файлу-> налаштування-> клавіші клавіш

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


7

Файл-> Налаштування -> Клавіатура-> Повна поточна заява

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

ОНОВЛЕННЯ

Я зрозумів, що це спричинить певні проблеми в деяких ситуаціях. Використовуйте замість Ctrl+ Shift+ Enter. Цей ключ можна використовувати в будь-якому положенні курсору в рядку. Він додасться ;в кінці рядка. Також цей ярлик має деякі інші корисні функції.

подібно до:

public void someMethod()

після ярлика:

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

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


Розумний, але не для
Котліна

6

Цього можна досягти також за допомогою Ctrl + WindowsBtn + Alt + L. Для деяких людей це буде важливо, оскільки у деяких Віртуальних машинах Ctrl + Alt + L може вийти з системи.



3

Жодне з рішень в Intellij не є таким елегантним (або корисним), як у Eclipse. Нам потрібно запит на особливості до Intellij, щоб ми могли додати гачок (які дії виконувати), коли IDE автоматично зберігається.

У Eclipse ми можемо додати дії "після збереження", такі як організація імпорту та форматування класу. Так, ви повинні зробити "save" або ctrl-s, але гак дуже зручний.


1
Чи є контакт з Intellij про htis поки що? Якщо так, будь ласка, опублікуйте посилання тут :)
Руті Рут

@RuthiRuth знайшов це;) youtrack.jetbrains.net/issue/IDEABKL-5806
рядок

3

якщо ви хочете, ви можете використовувати плагін saveActions . Ви можете переформатувати файл, оптимізувати імпорт та багато іншого, це дійсно налаштовується та легко налаштовується.




1

Що ж, це неможливо, але в Intellij 13, як щодо додавання жесту миші, щось на зразок одного клацання лівою кнопкою миші, щоб переформатувати код? Або якщо ви не користуєтесь мишею багато, тоді додайте дуже просту гарячу клавішу клавіатури, якою ви користуєтеся весь час (можливо, "введіть"?


2
Чому потік? Я кажу, що те, що ви хочете, неможливо, і намагаюся забезпечити якомога
ближчу

Спросту пояснити: Клацання мишкою. Однією з великих переваг IntelliJ є ярлики і те, що миша вам не потрібна часто. Якщо ви кодуєте багато, ви не хочете користуватися мишею, оскільки ви швидше використовуєте клавіатуру. Вже є ярлик для форматування.
Філ

1

Те, як я здійснив автоматичне переформатування, як у 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;)

Тепер нам потрібно призначити HotKeys цим макросам:

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.

Можливо, це обмеження моєї клавіатури, але я можу, здається, записувати лише 3 клавіші одночасно.
Метт

1

Я знаю, що це питання досить давнє, але насправді є плагін Save Actions для IntelliJ, який можна налаштувати для автоматичного форматування коду.


1

Це можна зробити за допомогою плагіну Save Actions ( див. Цю статтю) Про те, як налаштувати плагін.

Плагін збереження дій Підтримує налаштовується, подібний до Eclipse, зберігає дії, включаючи "оптимізувати імпорт", "код переформатування", "код перестановки", "компілювати файл" та деякі швидкі виправлення для Java, наприклад "додавання / видалення" цього "класифікатора" тощо Плагін виконує налаштовані дії, коли файл синхронізується (або зберігається) на диску.

  1. Встановіть плагін
  2. Перейдіть у Налаштування > Інші настройки > Зберегти дії
  3. Поставте галочку Активувати дії збереження для збереження
  4. Поставте галочку Переформатувати файл
  5. Застосувати> ОК

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

Я вважаю за краще гарячі клавіші. Для Mac,

Для форматування коду: Ctrl+ Alt(Option)+L

І крім того, я роблю: Ctrl+ Alt(Option)+ O , це видалить невикористаний імпорт та також відформатує список імпорту.

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