在 IntelliJ IDEA 中保存操作

Eclipse 中唯一存在的东西,我在 IntelliJ IDEA 中没有看到的是“保存操作”——在保存文件时执行一些操作(通常是格式化)的可能性。

IDEA 是否有一些插件或配置来支持这些功能?

54259 次浏览

It doesn't exist as in Eclipse, but you can format your code on commit, and the shortcut ctrl+alt+L will allow you to format easily your code.
After a time formatting the code will be a reflex and you won't even think about it.


On the same topic :

There is something similar - possibility to do some actions, when a file is committed. In a file commit window there is a "Before commit" section which contains checkboxes like "optimize imports", "Reformat code", etc.

I think it might break the philosophy that JetBrains have. Nothing should be done unless the user/developer requests it (and no Wizards). So you are stuck with Ctrl-Alt-L or just indent Ctrl-Alt-I. I personally only use the latter since the code usually formats itself as you type.

Also Idea saves files as soon as you leave window or (I think) wait for a certain time, this might really mess up things.

See here: Intellij reformat on file save.

The answer I linked to explains in a few easy steps how to record a macro for optimize imports and reformat and then run that macro when you save your files (bind it to Ctrl+S).

You may use a Macro to simulate save actions:

Edit --> Macros --> Start Macro Recording

==> now execute all actions you need (e.g. reformat, rearrange, optimize imports)

Edit --> Macros --> Stop Macro Recording

Give your new Macro a name. You can also assign a shortcut to your macro. Just enter it's name in the settings search and you will find it under Macro.

Have fun!

You will need to Install Save Actions plugin for Intellij IDEA

  1. Click: ctrl+shift+a
  2. Type: Plugins
  3. Click: enter Plugins
  4. Click: Browse repositories
  5. Type: Save Actions to search field
  6. Click "install plugin" after you found it
  7. Restart intellij idea

Save actions now work. You can configure them in File -> Settings -> Other settings

Had the same problem, but Save Actions were not flexible enough. I went for File Watchers plugin which allows for running custom programs each time a file of a given type changes.

UPDATE: Since IntelliJ Version 2021.2 Jetbrains added support for Actions on Save. They can be found under Preferences/Settings | Tools | Actions on Save.

Source: https://blog.jetbrains.com/idea/2021/07/intellij-idea-2021-2/#key_updates