在 IntelliJ 中对文件保存执行 goft

我使用 IntelliJ 和 Golang 插件。是否可以将 IDE 配置为在文件保存时执行 gofmt?

45910 次浏览

Of course you can.

  1. install File Watchers plugin
  2. open "Preferences->Tools->File Watchers" & Add a new watcher
  3. set File Type: Go, Program: the abosolute path of gofmt, Arguments: -w $FilePath$
  4. click OK

enter image description here

If you are using Gogland, you have an option On Save under Preferences

enter image description here

Gogland EAP 16 deprecated the On Save actions and replaced them with the File Watchers plugin.

If you have previously configured On Save actions, the IDE will prompt you to install the plugin and configure everything automatically. If you want to set it up from scratch yourself, check if you have File Watchers plugin and if not install it.

Enable gofmt:

  1. Go to Settings | Tools | File Watchers.
  2. Click the + button and select go fmt.
  3. The default values are good.
  4. In Advance Options select:
    • Auto-save edited files to trigger the watcher
    • Trigger the watcher on external changes
  5. Click ok!

Config

You can do the same for goimports and gometalinter.

Updated:

For new versions of the Goland:

  1. open File->Settings->Tools->File Watchers
  2. click on + button and choose go fmt
  3. press Ok

Done :)

September 2021 Update.

If you are using GoLand with the 2021.2 version and higher (July 2021), there are a few options to enable gofmt on save besides File Watchers.

  • Enable Run gofmt on code reformat under Preferences/Settings | Editor | Code Style | Go | Other.Run gofmt on code reformat option location
  • Enable Reformat code under Preferences/Settings | Tools | Actions on Save.enter image description here
  • Press Command + S on macOS or Ctrl + S on Windows/Linux to save your changes.