Всем хорошего дня. В данной статье я пошагово расскажу и покажу установку IDE Visual Studio Code, компилятора и других утилит языка Go (Golang), клиента Git.
А затем расскажу как запустить вашу программу в отладчике.
Начнем.
Установка Go
Обратите внимание на устанавливаемую версию языка - если скачаете из источников отличных от оффсайта, то скорее всего получите устаревшую версию.
Поэтому советую сразу заходить на оффсайт
Ссылка скрыта от гостей
и скачивать оттуда версию по вашей операционной системе. Я использую Windows:
Скачав файл, двойной клик и так далее. Если устанавливаете в директорию на диске C:, по умолчанию, то потребуются права администратора.
Проверяем успешность установки в командной строке (cmd в Windows/terminal Linux/macOS):
go version
Установка VS Code
Теперь установим сам Visual Studio Code со страницы
Ссылка скрыта от гостей
Опять же, выбираем по своей операционной системе. Я выбираю Windows.
По умолчанию (и рекомендации) загружается User Installer версия - эту версию можно установить и обычному пользователю и админу.
Установка будет в локальную директорию пользователя. System installer требует права админа и устанавливает для всех пользователей в системе.
Размер файла на скачивание примерно 90 Мб.
После скачивания как обычно - двойной клик и поехали.
Для моего пользователя установка будет в C:\Users\Polyglot\AppData\Local\Programs\Microsoft VS Code , требуемое место 333 Мб.
По окончание установки Visual Code (далее VS Code) будет запущен и увидим такое окно:
Первым делом установим Go Extension - расширение VS Code собственно и дающее способность узнавать и подсвечивать синтаксис Go, показывать подсказки о дополнении функций,
свертывать/развертывать код и многое другое. Для этого жмем на кнопку Extensions слева на тулбаре, вводим в поле поиска Go, выбираем расширение от Google и жмем на Install -
шаги 1, 2, 3, и 4 в скрине:
Следующий шаг это установить дополнительные утилиты - линтер для проверки кода на рекомендуемые практики, форматировщик кода, и главное - отладчик (дебаггер) Delve.
Сделаем это с помощью командного “центра” VS Code - Command Palette. Это отправная точка поиска/установки/компилирования/изменения параметров самого VS Code,
поэтому сразу запоминаем шорткат - Ctrl + Shift + P на Windows/Cmd + Shift + P на Маке.
В поле поиска пишем такую фразу:
Go: install/update
и нажимаем на появившийся результат.
Выбираем все утилиты:
И жмем OK.
В правом нижнем углу VS Code, в окне Output, появится окно результатов установки, все должно быть Succeeded:
Для надежности перезапускаем VS Code.
Проверим что все готово к написанию кода.
Откроем Проводник ( Ctrl + Shift + E), нажмем на Open Folder, зайдем в папку где можем создавать файлы и создадим новую папку
hello_world
На Windows может появится предупреждение “Доверяете ли вы себе?”, ответ очевиден:
После создания и добавления в VS Code папки hello_world, создадим в ней новый файл по имени
hello.go
Справа откроется окно редактора кода:
Кликнув внутри, введем следующий код:
package main
Если установка расширения Go в VS Code была действительно успешной, то при вводе слова package появится подсказка:
Вся программа будет выглядеть так:
Код:
package main
func main() {
fmt.Println("Привет, Мир! Привет, Кодбай!")
}
Как вы наверное заметили, красная извилистая линия под fmt говорит об ошибке. Если навести курсор на нее
то VS Code покажет в чем проблема с возможным решением.
Увидеть расширенное сообщение о проблеме можно нажав мышкой на View Problem … или Alt + F8:
Проблема в том что мы используем функцию Println() из стандартной библиотеки fmt не импортируя ее.
Так же, мы можем посмотреть возможное решение (Ctrl + J):
Кликнув на это сообщение, мы получим:
VS Codе добавил строку импорта.
Кстати об импортах библиотек в VS Code - редактор сделает это за нас при первом сохранении файла! То есть,
VS Code увидит что мы пользуем Println() из библиотеки fmt, и сам добавит import fmt.
Это касаемо синтакса, но для настоящего теста надо запустить нашу программу.
В Go это делается командой go run терминала/cmd/Powershell. Но если запустим сейчас то получим ошибку об отсутствии в папке hello_world файла go.mod -
файла зависимостей нашего кода. Открыть терминал/командную строку в VS Code это Ctrl + ` (обратная кавычка, обычно клавиша под Esc):
Исправить положение легко, командой внутри той же папки hello_world: go mod init hello:
Код:
PS C:\Users\Polyglot\Documents\hello_world> go mod init hello
go: creating new go.mod: module hello
go: to add module requirements and sums:
go mod tidy
И наконец-то, запустим нашу супер прогу: go run .
Ура, бежим добавлять “опыт разработки на Go” в LinkedIn, ну почти.
Чтоб почувствовать себя настоящими программистами, научимся отлаживать код в VS Code.
Отладка программы в дебаггере Delve
В списке утилит которые мы установили в начале, был и отладчик Delve. Он самый популярный в Go, наверное потому что единственный.
Для мазохистов есть поддержка Go в GDB, конечно.
Немного изменим нашу супер-программу, добавив срез строк names как локальную переменную:
Код:
package main
import "fmt"
func main() {
fmt.Println("Привет, Мир! Привет, Кодбай!")
names := []string{"я", "балдею", "от", "Го"} // срез строк
for _, i := range names { //проходим в цикле печатая каждое слово
fmt.Println(i)
}
}
Проверим что все еще работает: go run .
Поставим останов (breakpoint) на строке 6, кликнув мышкой напротив нее слева.
И вызовем меню дебага кликом слева на тулбаре или Ctrl + Shift + D:
Затем смело жмем Run and Debug и программа запущена и остановлена на 6-ой строке как мы и хотели.
Дополнительные окна и возможности:
1 - панель контроля отладки, можно продолжить исполнения кода пошагово, до конца, перескочить блок кода, остановить отладку совсем.
2 - Locals здесь появятся все локальные переменные и их значения с обновлением по ходу исполнения кода.
3 - Watch тут мы можем установить точки наблюдения с показом их состояния на каждом шаге отладки.
4 - стек вызова функций в нашей программе.
5 - Debug Console тут выводятся сообщения программой и/или отладчиком.
6 - командная строка отладчика (Delve) где мы можем отдавать команды напрямую отладчику.
7 - список точек останова, позволяет временно отключать их, удалять, добавлять новые.
Вот так будет выглядеть отладчик после нескольких шагов:
Еще одна возможность VS Code, а точнее форматировщика/линтера, это форматирование кода согласно принятым сообществом Gopher-ов при каждом сохранении файла.
Например возьмем наш код и сделаем его страшным на лицо, и хотя работает он также, согласитесь читать такой код бррр:
Но как только мы сохраним файл Ctrl + S, встроенный форматировщик кода причешет его так:
Установка Git
Опционально но рекомендую - установить клиент Git для работы с репозиториями.
Для написания программ на Go это не требуется, формально, но практически невозможно создавать код не используя нестандартные библиотеки вообще - и 99%
таких сторонних библиотек расположены на github.com. И это значит нам понадобится клонировать их оттуда на локальную машину разработки, что без Git клиента невозможно.
Самый простой способ - скачать и в пару кликов установить Git для Windows отсюда -
Ссылка скрыта от гостей
. Альтернатива (я так пользую) - загрузить среду эмуляции Linux/Unix для Windows Cygwin или MSYS2, и уже внутри их установить Git. На Мак-е Homebrew - brew install git.
Заключение
Это все что я хотел рассказать и показать сегодня - мы установили VS Code, go (golang) утилиты и компилятор, привязали все вместе в VS Code, написали обязательный Hello, World!,
опционально установили Git, и запустили нашу прогу в отладчике. Если вам интересна тема Go и все что вокруг, пишите в комментариях о чем хотели бы почитать.
Прим: По поводу холиваров которые вы увидите в поиске по VS Code, сам основанный на GUI фреймворк Electron (JavaScript) - о том что жрет память гигабайтами, тормозит систему не по-детски,
и вообще квинтэссенция зла. Не скажу что другие видели или думают, но мой опыт говорит о другом - и память не жрет, и летает все как надо. Так или иначе, VS Code сегодня (2023) самый
популярный IDE среди профессионалов и любителей, как видно ниже из опроса StackOverflow:
Источник:
Ссылка скрыта от гостей
На моей системе (Windows 10, 8 Гб памяти) VS Code выглядит так:
Дополнительные материалы
-
Ссылка скрыта от гостейDebugging Go Code with GDB - проблема с ним в том что отладчик не понимает специфики/контекста языка Go.
-
Ссылка скрыта от гостейVS Code в браузере, если хотите познакомиться с редактором без установки на компе. Не поддерживает установку расширений и как следствие компиляцию Go кода.
Мои статьи на Codeby: polyglot
Последнее редактирование: