简体   繁体   中英

Execute gofmt on file save in IntelliJ

I use IntelliJ with the Golang plugin. Is it possible to configure the IDE to execute gofmt on file save?

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

在此处输入图片说明

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 Settings | Tools | File Watchers 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!

配置

You can do the same for goimports and gometalinter .

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

在此处输入图片说明

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 . 在代码重新格式化选项位置上运行 gofmt
  • Enable Reformat code under Preferences/Settings | Tools | Actions on Save . 在此处输入图片说明
  • Press Command + S on macOS or Ctrl + S on Windows/Linux to save your changes.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM