Save and revert changes
GoLand automatically saves changes that you make in your files. Saving is triggered by various events, such as compiling, running, debugging, performing version control operations, closing a file or a project, or quitting the IDE. Saving files can be also triggered by third-party plugins.
Most of the events that trigger auto-save are predefined and cannot be configured, but you can be sure that changes will not be lost and you can find all of them in local history.
Configure autosave behavior
In the Settings dialog (Control+Alt+S), select .
Under Sync external changes, configure the following options:
Save files when switching to a different application or a built-in terminal: Save all modified files when you switch from GoLand to a different application.
Save files if the IDE is idle for N seconds: Save all modified files at regular time intervals.
Apply the changes and close the dialog.
Mark files with unsaved changes
You can mark unsaved files with an asterisk (*) on the file tab:
In the Settings dialog (Control+Alt+S), select .
Select the Mark modified (*) checkbox.
Apply the changes and close the dialog.
After that, the tab of the file in which you have unsaved changes will be marked with an asterisk.
If you use version control integration, names of all modified files will be also marked with a dedicated color on the file tab and in the Project tool window.
Save changes manually
You can always save your changes manually:
Press Control+S or select
from the main menu.
Trigger actions when saving changes
In GoLand, you can configure the actions that will be triggered every time your modified files are saved.
To configure autosave actions for the current project, in the Settings dialog (Control+Alt+S), open .
To configure the actions for new projects, go to
in the main menu.Select the checkboxes next to the actions that you want to trigger on save:
Reformat code: reformat your code according to your current code style settings.
This action is enabled by default for GoLand. When triggered, the IDE runs the built-in GoLand formatter and gofmt.
Optimize imports: remove unused imports and organize import statements according to your current code style settings.
Rearrange code: reorder code elements according to your current code style settings.
Run code cleanup: batch-apply quick-fixes from code cleanup inspections in the current inspection profile.
Update copyright notice: update information in copyright notices in project files.
Run eslint --fix: fix the detected problems with ESlint.
Enabling this option also enables Run eslint --fix on save.
File Watcher: run your configured file watchers.
Upload to default server: upload modified files to your default deployment server.
Enabling this option also enables Upload changed files automatically to the default server.
For some actions, you can configure the settings more precisely. To do so, hover over an action and click the configuration link.
For example, you can specify files and folders that will be formatted when the file is saved. By default, the Go file type is selected. If you want to add other files types, hover over the action and click Files: Go.
Apply the changes and close the dialog.
Once the necessary actions are enabled, they will be automatically triggered on every save (autosave, explicit save invoked with Control+S or by selecting
) as you work with your project.Revert changes
For most recent changes, including refactorings, press Control+Z or choose from the menu.
For a more detailed view of past changes, use Local History.
For the most robust tracking of all changes, use a version control system.