Перейти к основному содержимому

GoLand — IDE для разработки на Go

Разработчику Архитектору

Что такое GoLand

GoLand — интегрированная среда разработки (IDE) от JetBrains, созданная специально для Go. Официальная документация: Getting started with GoLand.

GoLand — не просто редактор с подсветкой синтаксиса. Это среда, где редактор, компилятор go, отладчик Delve, менеджер модулей, тесты, Git, терминал и статический анализ работают в одном окне. IDE берёт на себя рутину — автодополнение, рефакторинг, навигацию по пакетам, подсветку ошибок до go build — и оставляет вам сосредоточиться на логике программы.

КомпонентНазначение
EditorПодсветка, completion, инспекции, рефакторинги, live templates
Project tool windowДерево файлов, модули go.mod, зависимости
Run / DebugЗапуск main, тестов, пакетов; конфигурации Run/Debug
Debugger (Delve)Breakpoints, Variables, горутины, каналы, Evaluate Expression
Go toolsgo fmt, go vet, gofmt, build tags, Go Playground
VCSGit: commit, push, ветки, diff
TerminalShell внутри IDE с тем же GOROOT и PATH
ServicesНесколько go build, Docker, удалённая разработка
GoLand и IntelliJ IDEA

GoLand построен на платформе JetBrains — том же ядре, что и IntelliJ IDEA. Поддержка Go в GoLand встроена в ядро IDE, а не добавлена тонким плагином. Для Java/Kotlin обзор среды — в статье IntelliJ IDEA — IDE для разработки на Java; в IDEA Go доступен через отдельный плагин, но GoLand заточен под Go "из коробки".

Первая версия GoLand вышла в 2017 году (как отдельный продукт после плагина Go в IDEA). Сегодня это де-факто стандарт для профессиональной разработки на Go в командах, где нужны глубокий рефакторинг, отладка конкурентного кода и единый UX JetBrains.


Версии и лицензия

GoLand — коммерческий продукт JetBrains (Installation guide):

РежимЧто входит
Trial30 дней полного функционала при первой установке
Платная подпискаПерсональная или для организации; обновления в период подписки
Бесплатные программыСтудентам, преподавателям, участникам open source — через JetBrains licenses

Для учебного Go + go mod trial или образовательная лицензия обычно достаточны. Альтернатива без подписки — VS Code с расширением Go (см. первую программу); GoLand выбирают, когда нужна "тяжёлая" IDE с отладкой горутин и рефакторингами уровня JetBrains.

Также доступны EAP-сборки (Early Access Program) — бета-версии с новыми функциями до стабильного релиза; устанавливаются через Toolbox App.


Установка

Скачивание

Официальная страница загрузки для Windows:

Download GoLand — Windows

Для macOS и Linux на той же странице выберите вкладку своей ОС. Рекомендуемый способ — JetBrains Toolbox App: одно приложение для установки, обновления и отката версий GoLand и других продуктов JetBrains.

Системные требования (ориентир)

ПараметрМинимумКомфортно
CPU4 ядра, x86_64 или arm648+ ядер
RAM8 ГБ (3 ГБ для IDE)16 ГБ и больше
Диск10 ГБSSD, 20+ ГБ
ОСWindows 10/11, macOS 15+, Ubuntu 22.04+Актуальные LTS

Go toolchain ставится отдельно — в GoLand встроен JetBrains Runtime (JBR) для запуска самой IDE, но компиляция ваших .go требует установленного Go (golang.org/dl, шаги в первой программе). Java для GoLand не нужна.

Установка на Windows (standalone)

  1. Скачайте goland-*.exe с страницы загрузки.
  2. Запустите установщик → следуйте мастеру.
  3. На шаге Installation Options полезно включить:
    • ярлык на рабочем столе;
    • добавление bin в PATH (запуск goland64.exe из cmd);
    • Open Folder as Project в контекстном меню проводника.
  4. Запустите GoLand из меню Пуск.

Для ARM64 Windows есть отдельный установщик.

Первый запуск

При первом старте GoLand предложит (Run for the first time):

ШагДействие
Import SettingsИмпорт настроек из другой JetBrains IDE или VS Code — можно пропустить
CustomizeТема (Darcula / Light), keymap, шрифт, accessibility
PluginsДополнительные языки и инструменты с JetBrains Marketplace
LearnИнтерактивный тур по горячим клавишам
New ProjectСоздание Go-проекта с модулями

На Welcome screen доступны: новый проект, открытие папки, клонирование из Git, Remote Development, документация.


Интерфейс IDE

Типичное окно GoLand делится на зоны. Ниже — обзор по Guided tour.

GoLand — отладка Go-кода, department.go, breakpoint, инспекция struct Employee, панели Frames и Threads & Variables

Скриншот — в центре редактор department.go с горутинами и каналом employeeDetails; красная точка в gutter — breakpoint; всплывающая подсказка показывает поля company.Employee (Name, Age, Salary, Email); внизу — Frames (стек вызовов, в том числе company.(*Department).GetDetails) и Threads & Variables (переменные d, employee, канал employeeDetails).

ЗонаЧто делает
Project (слева, Alt+1)Файлы, пакеты, go.mod, External Libraries
Editor (центр, Esc — фокус)Исходный код, вкладки, split view
Gutter (слева от кода)Номера строк, breakpoints, Run/Debug, folding, инспекции
Toolbar (сверху)Проект, ветка Git, Run/Debug widget
Tool window bar (края окна)Commit, Services, Terminal, Structure
Run / Debug (снизу)Вывод программы, тесты, консоль, стек, переменные
Status bar (снизу)Строка:столбец, кодировка UTF-8, отступы, Git, ветка
Navigation barХлебные крошки — пакет → файл → символ

Виджеты в заголовке окна

С новым UI JetBrains перенёс часть элементов в header:

  • Project widget — имя проекта, переключение между недавними проектами.
  • VCS widget — текущая ветка, Update, Commit, Push (`Alt+`` — VCS Operations popup).
  • Run widget — выбор конфигурации запуска, ▶ Run / 🐞 Debug.

Контекстные и popup-меню

ДействиеКак открыть
Quick fixes / intentionsAlt+Enter на подсвеченном коде
Generate (тест, конструктор…)Alt+Insert
Refactor ThisCtrl+Alt+Shift+T
New Go FileAlt+Insert в Project tool window
VCS Operations`Alt+``

Правый клик в редакторе или в дереве проекта показывает те же действия, что и главное меню, с подсказкой горячих клавиш.


Проекты и GOROOT

В GoLand всё делается в контексте проекта (Creating and managing projects, Quick start):

СпособКогда
New Project → Go modulesНовый каталог с go.mod
OpenСуществующая папка с go.mod или исходниками
Get from VCSКлонирование репозитория

При создании проекта в поле GOROOT указывают установку Go. GoLand обычно находит её автоматически; при необходимости — Add SDK → Local (существующий) или Download (скачать с go.dev).

Создание Go-файла: New → Go File → тип Empty file или Simple application (шаблон с func main()).

Подробный маршрут "Hello World" в энциклопедии — в статье Первая программа на Go; официальный туториал JetBrains — Create a new Go project.


Навигация и поиск

GoLand заточен под быстрый переход по пакетам и символам (Opening files):

ДействиеWindows / Linux
Search EverywhereDouble Shift
Go to FileCtrl+Shift+N
Go to SymbolCtrl+Alt+Shift+N
Go to DeclarationCtrl+B
Recent FilesCtrl+E
Recent LocationsCtrl+Shift+E
File Structure (функции файла)Ctrl+F12
Find ActionCtrl+Shift+A

Search Everywhere — главная "универсальная" команда; ищет файлы, символы, действия IDE и настройки по одной строке.


Помощь при написании кода

Автодополнение

GoLand предлагает несколько уровней completion (Quick start — Code completion):

  • Basic — имена типов, функций, ключевых слов в видимой области (Ctrl+Space).
  • Smart — варианты с учётом ожидаемого типа.
  • Parameter info — документация к функции при вводе аргументов (настраивается в Settings → Go).

Рефакторинг

Рефакторинги переименовывают символ во всём модуле без ручного поиска-замены:

ДействиеГорячая клавиша
Refactor ThisCtrl+Alt+Shift+T
RenameShift+F6
Extract VariableCtrl+Alt+V
Extract FunctionCtrl+Alt+M
MoveF6
Change SignatureCtrl+F6

GoLand умеет связывать переименование пакета и каталога, файла и *_test.go — поведение настраивается в Settings → Go (Go configuration).

Live templates и Generate

  • Live templatesfor, iferr, main и др.: введите сокращение + Tab.
  • Generate (Alt+Insert) — тесты, геттеры, конструкторы, реализация интерфейса.

Инспекции и быстрые исправления

Встроенный анализ находит недостижимый код, неиспользуемые переменные, опечатки, проблемы стиля. Жёлтая лампочка в gutter → Alt+Enter → quick-fix. Настройки: Settings → Editor → Inspections (Ctrl+Alt+S).

При вставке JSON GoLand может предложить конвертацию в Go struct — удобно для API-моделей.

Работа с исходниками

Полезные приёмы из Working with source code:

ПриёмГорячая клавиша
Duplicate lineCtrl+D
Move line up/downAlt+Shift+↑ / Alt+Shift+↓
Comment lineCtrl+/
Extend/shrink selectionCtrl+W / Ctrl+Shift+W
Reformat CodeCtrl+Alt+L (запускает gofmt)

Инструменты разработчика

Отладчик и горутины

Встроенный отладчик на базе Delve (Debugging):

  • breakpoints (в том числе условные);
  • Step Over F8, Step Into F7, Resume F9;
  • панели Variables, Watches, Frames;
  • переключение между горутинами — критично для конкурентного Go-кода;
  • Evaluate Expression Alt+F8;
  • inline watch — значения прямо в редакторе (как на скриншоте выше).

На скриншоте видно типичный сценарий: метод GetDetails запускает горутины для каждого сотрудника, а отладчик показывает состояние employee и канала employeeDetails в момент останова.

Запуск приложений

Запуск описан в Running applications:

СпособКак
БыстрыйЗелёная стрелка в gutter у func mainRun
DebugТа же иконка → Debug или Shift+F9
КонфигурацияGutter → Modify Run Configuration — аргументы, env, working directory
Из терминала IDEgo run, go test с тем же GOROOT

Типы Run kind: File, Package, Directory — для одиночного файла, пакета с import path или каталога с тестами.

Тесты

Зелёные стрелки в gutter у func TestXxx — запуск одного теста или всего файла. Результаты — во вкладке Run; покрытие можно смотреть в gutter после запуска с coverage.

Модули и Go tools

GoLand автоматически распознаёт go.mod:

  • подтягивает зависимости (go mod download);
  • подсвечивает версии в go.sum;
  • предлагает go get для импортов;
  • запускает go fmt при сохранении (опционально).

Терминал Alt+F12go build, go vet, golangci-lint без переключения окон.

Git и Local History

Интеграция с Git: Commit Ctrl+K, Push Ctrl+Shift+K, diff, blame. Даже без Git включена Local History — автоматические снимки файла.

Docker и Remote Development

В Services отображаются конфигурации go build, Docker Compose и удалённые среды (Remote Development) — полезно для разработки на Linux-сервере с Windows-клиентом.


Первая программа в GoLand

Пошаговый маршрут "Hello World" в энциклопедии — в статье Первая программа на Go. Краткая схема в GoLand (совпадает с универсальным сценарием раздела).

  1. Go toolchain установлен; в терминале go version.
  2. File → New → Project → Go modules — имя hello-go, module path example.com/hello.
  3. New → Go File → Simple application или вручную package main + func main().
  4. fmt.Println("Hello, Go!") — зелёная стрелка в gutter или Shift+F10.
  5. Вывод — во вкладке Run.

Дополнительно из документации JetBrains:

ТемаЧто попробовать
Code completionНачните fmt.Prin → выберите Println
Live templatemain + Tab — заготовка func main
go.modEnable Go modules integration в настройках проекта
Run configurationRun → Edit Configurations — аргументы CLI, env, build tags
Scratch fileFile → New → Scratch File → Go — эксперимент без проекта

После Hello World: синтаксис и конкурентностьGinрекомендации по стилю.


Настройки Go и IDE

Глобальные и проектные настройки: File → Settings (Ctrl+Alt+S) на Windows/Linux, GoLand → Settings на macOS (Configuring project and IDE settings).

РазделЧто настроить
Go → GOROOTSDK для компиляции
Go → Go ModulesProxy, vendoring, автоимпорт
Go → Build TagsТеги сборки (//go:build)
Editor → Code Style → GoОтступы (табы), переносы
Editor → InspectionsУровни предупреждений
PluginsDocker, Kubernetes, Protocol Buffers

Специфичные опции Go — в Settings → Go (Go configuration): подсказки имён параметров (err для error), переименование пакета вместе с каталогом, вставка JSON как struct.

Сброс к умолчаниюFile → Manage IDE Settings → Restore Default Settings сбрасывает настройки IDE, не трогая исходники проекта.


Сравнение с другими средами

IDE / редакторСильные стороныКогда выбрать
GoLandGo "из коробки", Delve, горутины, рефакторингЕжедневная разработка на Go, большие кодовые базы
VS Code + GoЛёгкий, бесплатно, goplsСтарт, несколько языков, минимальный RAM
Vim/Neovim + vim-goТерминал, SSHСерверы, минимализм
IntelliJ IDEA + Go pluginJava + Go в одной IDEСмешанные JVM/Go проекты

Обзор редакторов для power user — VS Code, Vim, Notepad++. В первой программе подробно описан сценарий с VS Code; GoLand — альтернатива, когда нужна полноценная IDE.


Частые проблемы

СимптомРешение
GOROOT not definedSettings → Go → GOROOT → Add SDK (Local или Download)
Cannot resolve importgo mod tidy в терминале; проверьте GOPROXY
Отладчик не стартуетУбедитесь, что Delve совместим с версией Go; перезапустите Debug
go fmt не срабатываетSettings → Tools → File Watchers или включите format on save
Медленная индексацияПервый проект индексируется долго; исключите vendor/ при необходимости
Сломались настройки UIRestore Default Settings

Что изучать дальше

ТемаСтатья / ссылка
Hello World + go modПервая программа на Go
Синтаксис, горутины14.md
Стиль и идиомы101.md
HTTP APIGin
Отладка Delve (теория)111.md
IntelliJ для сравнения103.md

Официальная документация JetBrains


В подборках

Статья входит в маршрут раздела Go — о разделе. Рекомендуемый порядок: основыGoLand (эта статья)первая программасинтаксис.