The IDE helps you write new code by auto-completing statements for you. Ctrl+Shift+Space gives you a list of the most relevant symbols applicable in the current context. When you choose a suggestion, it adds corresponding package import statements on the fly.
Inspections & quick-fixes
The IDE provides built-in inspections that check your code on the fly as you type it. When they find problematic code, they provide you with quick-fixes which you can apply simply by pressing Alt+Enter.
The available refactorings include Rename and Extract, allowing you quickly and safely change your code.
It only takes one click to switch to a super method, implementation, usages, declaration, and more. Jump to any class, file or symbol, or even any IDE action or tool window in one click.
When you need more information about a symbol at the caret, use quick popups: e.g. Quick Documentation, Quick Definition, Show usages, Structure, etc.
Some popups are available even when you use code completion: they provide additional information about selected suggestion.
In some cases the IDE can generate trivial code for you. For example, if you click Ctrl+O, the IDE will help you implement any interface by generating its methods.
Detecting recursive calls
If you have a recursive call inside your function, the IDE will detect it and mark it on the gutter, making your code even easier to read and understand.
The Expression Type action is available via Alt+ and is always at hand when you need to know the type of any expression at the caret.
Exit points highlighting
Every function may have more than one return and panic statements. To quickly find them all, press Ctrl+Shift+F7 when the caret is at a func, return, or panic keyword. This helps you understand more quickly how a function works.
The Find Usages feature may not only find all places in the code where a symbol is used, but also group these usages by type: e.g. reading, writing, etc.
The built-in formatter provides the functionality equal to go fmt.
This option extends the standard syntax highlighting with unique colors for each parameter and local variable.
The editor shows parameter hints for literals and nils used as method arguments. These hints make code much more readable.
Built-in tools and integrations
The IDE comes with a full-featured debugger that supports common debugger features: Watches, Evaluate Expression, Show Inline Values, and others. The debugger works for applications as well as for tests.
If you run your code with a coverage instruction, the IDE collects the data and displays it in both the aggregated view and per statement in the Editor.
The IDE provides a dedicated interface for running and debugging tests, benchmarks and checks.
The Code → Go Tools menu allows you to run Go tools on your project without switching to the command line.
The Editor provides syntax highlighting for Go assembly files.
The built-in Git integration lets you browse the history of changes, manage branches, merge conflicts and much more. For other version control system, similar functionality is available via corresponding plugins: Mercurial, SVN, and others.
The IDE comes with a built-in terminal. Depending on your platform, you can work with command line prompt, Far, powershell, or bash. Invoke the terminal with Alt+F12 and execute any command–without leaving the IDE.
The IDE offers a plugin that lets you connect to locally running Docker machines to manage images, containers and Docker Compose services.
Front-end and back-end development
Take advantage of intelligent coding assistance when editing SQL; connect to live databases; run queries; browse and export data; and even manage your schemes in a visual interface–right from the IDE.
More than 10 years of IntelliJ platform development gives GoLand 50+ IDE plugins of different nature, including support for additional VCS, integrations with different tools and frameworks, and editor enhancements such as Vim emulation.