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 tools | go fmt, go vet, gofmt, build tags, Go Playground |
| VCS | Git: commit, push, ветки, diff |
| Terminal | Shell внутри IDE с тем же GOROOT и PATH |
| Services | Несколько go build, Docker, удалённая разработка |
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):
| Режим | Что входит |
|---|---|
| Trial | 30 дней полного функционала при первой установке |
| Платная подписка | Персональная или для организации; обновления в период подписки |
| Бесплатные программы | Студентам, преподавателям, участникам open source — через JetBrains licenses |
Для учебного Go + go mod trial или образовательная лицензия обычно достаточны. Альтернатива без подписки — VS Code с расширением Go (см. первую программу); GoLand выбирают, когда нужна "тяжёлая" IDE с отладкой горутин и рефакторингами уровня JetBrains.
Также доступны EAP-сборки (Early Access Program) — бета-версии с новыми функциями до стабильного релиза; устанавливаются через Toolbox App.
Установка
Скачивание
Официальная страница загрузки для Windows:
Для macOS и Linux на той же странице выберите вкладку своей ОС. Рекомендуемый способ — JetBrains Toolbox App: одно приложение для установки, обновления и отката версий GoLand и других продуктов JetBrains.
Системные требования (ориентир)
| Параметр | Минимум | Комфортно |
|---|---|---|
| CPU | 4 ядра, x86_64 или arm64 | 8+ ядер |
| RAM | 8 ГБ (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)
- Скачайте
goland-*.exeс страницы загрузки. - Запустите установщик → следуйте мастеру.
- На шаге Installation Options полезно включить:
- ярлык на рабочем столе;
- добавление
binв PATH (запускgoland64.exeиз cmd); - Open Folder as Project в контекстном меню проводника.
- Запустите 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.

Скриншот — в центре редактор 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 / intentions | Alt+Enter на подсвеченном коде |
| Generate (тест, конструктор…) | Alt+Insert |
| Refactor This | Ctrl+Alt+Shift+T |
| New Go File | Alt+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 Everywhere | Double Shift |
| Go to File | Ctrl+Shift+N |
| Go to Symbol | Ctrl+Alt+Shift+N |
| Go to Declaration | Ctrl+B |
| Recent Files | Ctrl+E |
| Recent Locations | Ctrl+Shift+E |
| File Structure (функции файла) | Ctrl+F12 |
| Find Action | Ctrl+Shift+A |
Search Everywhere — главная "универсальная" команда; ищет файлы, символы, действия IDE и настройки по одной строке.
Помощь при написании кода
Автодополнение
GoLand предлагает несколько уровней completion (Quick start — Code completion):
- Basic — имена типов, функций, ключевых слов в видимой области (
Ctrl+Space). - Smart — варианты с учётом ожидаемого типа.
- Parameter info — документация к функции при вводе аргументов (настраивается в Settings → Go).
Рефакторинг
Рефакторинги переименовывают символ во всём модуле без ручного поиска-замены:
| Действие | Горячая клавиша |
|---|---|
| Refactor This | Ctrl+Alt+Shift+T |
| Rename | Shift+F6 |
| Extract Variable | Ctrl+Alt+V |
| Extract Function | Ctrl+Alt+M |
| Move | F6 |
| Change Signature | Ctrl+F6 |
GoLand умеет связывать переименование пакета и каталога, файла и *_test.go — поведение настраивается в Settings → Go (Go configuration).
Live templates и Generate
- Live templates —
for,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 line | Ctrl+D |
| Move line up/down | Alt+Shift+↑ / Alt+Shift+↓ |
| Comment line | Ctrl+/ |
| Extend/shrink selection | Ctrl+W / Ctrl+Shift+W |
| Reformat Code | Ctrl+Alt+L (запускает gofmt) |
Инструменты разработчика
Отладчик и горутины
Встроенный отладчик на базе Delve (Debugging):
- breakpoints (в том числе условные);
- Step Over
F8, Step IntoF7, ResumeF9; - панели Variables, Watches, Frames;
- переключение между горутинами — критично для конкурентного Go-кода;
- Evaluate Expression
Alt+F8; - inline watch — значения прямо в редакторе (как на скриншоте выше).
На скриншоте видно типичный сценарий: метод GetDetails запускает горутины для каждого сотрудника, а отладчик показывает состояние employee и канала employeeDetails в момент останова.
Запуск приложений
Запуск описан в Running applications:
| Способ | Как |
|---|---|
| Быстрый | Зелёная стрелка в gutter у func main → Run |
| Debug | Та же иконка → Debug или Shift+F9 |
| Конфигурация | Gutter → Modify Run Configuration — аргументы, env, working directory |
| Из терминала IDE | go 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+F12 — go 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 (совпадает с универсальным сценарием раздела).
- Go toolchain установлен; в терминале
go version. - File → New → Project → Go modules — имя
hello-go, module pathexample.com/hello. - New → Go File → Simple application или вручную
package main+func main(). fmt.Println("Hello, Go!")— зелёная стрелка в gutter или Shift+F10.- Вывод — во вкладке Run.
Дополнительно из документации JetBrains:
| Тема | Что попробовать |
|---|---|
| Code completion | Начните fmt.Prin → выберите Println |
| Live template | main + Tab — заготовка func main |
| go.mod | Enable Go modules integration в настройках проекта |
| Run configuration | Run → Edit Configurations — аргументы CLI, env, build tags |
| Scratch file | File → 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 → GOROOT | SDK для компиляции |
| Go → Go Modules | Proxy, vendoring, автоимпорт |
| Go → Build Tags | Теги сборки (//go:build) |
| Editor → Code Style → Go | Отступы (табы), переносы |
| Editor → Inspections | Уровни предупреждений |
| Plugins | Docker, Kubernetes, Protocol Buffers |
Специфичные опции Go — в Settings → Go (Go configuration): подсказки имён параметров (err для error), переименование пакета вместе с каталогом, вставка JSON как struct.
Сброс к умолчанию — File → Manage IDE Settings → Restore Default Settings сбрасывает настройки IDE, не трогая исходники проекта.
Сравнение с другими средами
| IDE / редактор | Сильные стороны | Когда выбрать |
|---|---|---|
| GoLand | Go "из коробки", Delve, горутины, рефакторинг | Ежедневная разработка на Go, большие кодовые базы |
| VS Code + Go | Лёгкий, бесплатно, gopls | Старт, несколько языков, минимальный RAM |
| Vim/Neovim + vim-go | Терминал, SSH | Серверы, минимализм |
| IntelliJ IDEA + Go plugin | Java + Go в одной IDE | Смешанные JVM/Go проекты |
Обзор редакторов для power user — VS Code, Vim, Notepad++. В первой программе подробно описан сценарий с VS Code; GoLand — альтернатива, когда нужна полноценная IDE.
Частые проблемы
| Симптом | Решение |
|---|---|
| GOROOT not defined | Settings → Go → GOROOT → Add SDK (Local или Download) |
| Cannot resolve import | go mod tidy в терминале; проверьте GOPROXY |
| Отладчик не стартует | Убедитесь, что Delve совместим с версией Go; перезапустите Debug |
go fmt не срабатывает | Settings → Tools → File Watchers или включите format on save |
| Медленная индексация | Первый проект индексируется долго; исключите vendor/ при необходимости |
| Сломались настройки UI | Restore Default Settings |
Что изучать дальше
| Тема | Статья / ссылка |
|---|---|
| Hello World + go mod | Первая программа на Go |
| Синтаксис, горутины | 14.md |
| Стиль и идиомы | 101.md |
| HTTP API | Gin |
| Отладка Delve (теория) | 111.md |
| IntelliJ для сравнения | 103.md |
Официальная документация JetBrains
- Getting started
- Quick start guide
- Installation guide
- Run for the first time
- Guided tour around the UI
- Configuring settings
- Go configuration
- Creating and managing projects
- Create a new Go project
- Opening files
- Working with source code
- Running applications
В подборках
Статья входит в маршрут раздела Go — о разделе. Рекомендуемый порядок: основы → GoLand (эта статья) → первая программа → синтаксис.