Configuring Keyboard Shortcuts
GoLand is a keyboard-centric IDE. Most of its actions (navigation, refactoring, debugging, etc.) can be carried out without using a mouse, which lets dramatically increase coding speed.
If you have used another IDE for a while and memorized your favorite keyboard shortcuts, you can choose one of the GoLand's predefined keymaps that matches key bindings of that IDE.
You can choose the keymap either on the first start of GoLand or anytime later on thepage of GoLand settings (Ctrl+Alt+S).
If you are starting from scratch, without experience in other IDEs, we recommend using the default keymap.
Configuring keyboard shortcuts and mouse shortcuts
Predefined keymaps are not editable. When you add or modify any shortcut, a copy of the currently selected predefined keymap is created automatically.
To configure keyboard shortcuts and mouse shortcuts
Open the Settings / Preferences Dialog by pressing Ctrl+Alt+S or by choosing for Windows and Linux or for macOS, and click Keymap.
Select one of the pre-configured Keymaps, which you want to use as the base for the new one, and click Copy. Accept the default name, or change it as required.
In the content pane of actions, select the desired action.
To find an action by name, type the name in the search field . As you type, the content pane shows actions with the matching names.
To find an action by shortcut, click , then, when the Find Shortcut dialog opens, start pressing keys. The content pane will show only the actions with the matching shortcuts. Click your mouse somewhere outside the Find Shortcut dialog to close it.
- Configure keyboard shortcuts. To do that, follow these steps:
Right-click the selected action, and choose Add Keyboard Shortcut.
In the dialog that opens, press the keys to be used as shortcuts. The keystrokes are immediately reflected in the First Stroke field. Optionally, select the checkbox next to Second Stroke and press keys to be used as alternative keyboard shortcuts.
As you press the keys, the Preview field displays the suggested combination of keystrokes, and the Conflicts field displays warnings, if some of the keystrokes are already assigned to the other actions.
Click OK with the mouse pointer to create a shortcut and bind it with an action.
It is important to use the mouse pointer, because when you press any keystroke while this dialog is open, the keystroke is interpreted as the shortcut.
- Configure mouse shortcuts. To do that, follow these steps:
Right-click the selected action, and choose Add Mouse Shortcut on the context menu. Enter Mouse Shortcut dialog box opens.
In the Click Count section, click a radio button to choose a Single Click or Double Click.
Hover your mouse pointer over the section Click Pad and click the desired mouse button. Use Alt, Ctrl, and Shift modifiers for diversity. As you click, the Shortcut Preview field displays the suggested shortcut, and the Conflicts field displays warnings, if some of the shortcuts are already assigned to the other actions.
Click OK or Press Enter to create a shortcut and bind it with an action.
If a conflict is reported, a warning message appears. You can choose one of the following options:
Remove to remove all other bindings and preserve the new one.
Leave to preserve all bindings including the new one.
Cancel to return to the keymap definition.
Although you can ignore conflict and bind a shortcut with several actions, it is strictly recommended to avoid binding two actions with the same shortcut, because the order of performing such actions is not defined.
Avoiding conflicts with global OS shortcuts
Predefined keymaps do not cover every possible platform, version, and configuration. Try out the key combinations that you use and make necessary adjustments. Also, make sure that function keys are enabled on your system and check the following:
Show Spotlight search
Basic code completion
Select the previous input source
Switch between Workspaces
Undo/redo navigation operations
Location of user-defined keymaps
All user-defined keymaps are stored in separate configuration files under the
config/keymaps subdirectory in the GoLand profile directory:
Windows and *NIX systems:
Each keymap file contains only differences between the current and the parent keymaps.