Intention actions
As you work in the editor, GoLand analyzes your code, searches for ways to optimize it, and detects potential and actual problems. Intention actions cover a wide range of situations from errors and warnings to optimization suggestions.
In GoLand, you can use the following types of intention actions:
Intention actions : an action that generates a piece of code or suggests an alternative variant for your code. Usually, an intention action is applied to a valid piece of code. By clicking the yellow bulb icon, you can view intention actions available in the current context. For example, you can create a constructor that generates values of a struct type. Or, replace the if-else statement with the equivalent one but with a negated condition and swapped if-else branches.
Quick-fixes : an action that suggests a solution for a problem in your code. Usually, the intention action is applied to a code that has an error. For example, when you missed brackets at the end of the expression. Or, when you forgot to convert a value to a specific type.
Apply intention actions
Click the bulb icon or press Alt+Enter to open the list of suggestions and select an action from the list.
Press Ctrl+Q or select
from the main menu to open an intention preview.If an intention is complex, and the preview cannot be generated, you will see the intention description. Hover the mouse pointer over available intentions on the suggestion list to preview them.
Once activated, the preview will appear every time you open the list of available intention actions. To close the preview, press Ctrl+Q again while the list of intentions is open.
Press Enter or click an intention on the list to apply it.
View all intention actions
You can view the full list of available intention actions, and disable actions that you don't need at the moment. To open the list of intention actions:
Press Ctrl+Alt+S to open the IDE settings and select Editor | Intentions.
Disable intention actions on the fly
Click the light bulb icon (or press Alt+Enter) to open the list of suggestions.
Select the action you want to disable, click the right arrow next to it, and then click Disable <intention action name>.
Examples of intention actions
Add a format string argument
The Add format string argument intention action generates a placeholder for the expression. The intention action inserts the placeholder into a format string and passes the expression as an argument for the placeholder.
Intention actions for declarations
You can perform the following actions with Go declarations by using intention actions:
Add parentheses to declaration
Remove parentheses from declaration
Merge declaration up
Merge declaration up via comma
Merge all declarations
Split declarations into two groups
Split declaration by comma
Split all declarations
Fill struct fields
When you create a new struct, you can automatically generate field names for it.
Place a caret between braces of a struct.
Press Alt+Enter.
Select Fill all fields.
Enter field values.
Examples of quick fixes
Convert to the expected type
The Convert to the expected type quick-fix Alt+Enter converts a value to the expected type.
Finish a call expression
The Finish call expression quick-fix adds missing brackets and completes the expression.