Coding assistance

Smart completion

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.

Refactorings

The available refactorings include Rename and Extract, allowing you quickly and safely change your code.

Quick navigation

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.

Quick popups

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.

Code generation

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.

Expression type

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.

Finding usages

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.

Formatter

The built-in formatter provides the functionality equal to go fmt.

Code editor

Semantic highlighting

This option extends the standard syntax highlighting with unique colors for each parameter and local variable.

Parameter hints

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

Debugger

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.

Coverage

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.

Test runner

The IDE provides a dedicated interface for running and debugging tests, benchmarks and checks.

Go tools

The CodeGo Tools menu allows you to run Go tools on your project without switching to the command line.

Plan9

The Editor provides syntax highlighting for Plan9 files.

Version control

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.

Terminal

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.

Docker

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

JavaScript, HTML and CSS

The IDE inherits from WebStorm its first-class support for front-end languages and frameworks. The IDE offers top-notch coding assistance for JavaScript, TypeScript, Dart, React and many others. The support for Angular and Node.js is available via plugins.

Database tools

Take advantage of intelligent coding assistance when editing SQL; connect to live databases; run queries; browse and expert data; and even manage your schemes in a visual interface–right from the IDE.

Plugin ecosystem

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.