Запуск и отладка с помощью VS Code
VS Code от Microsoft - мой любимый редактор кода. я использовалтонныредакторов за последние 20 лет, и это, безусловно, лучший результат.
ЭтоОткрытый исходный код, быстро, даже на моем не очень последнем MacBook Pro, он никогда не ломался посреди чего-то, его можно взломать, и при этом он отлично работает прямо из коробки.
Все это потрясающе, но как отлаживать программы Go? Вы можете подумать, что для этого вам нужна тяжелая IDE, но это неправда. Это очень просто, сСпускаться, сделанДерек Паркер.
Сначала, конечно, вам нужно установитьофициальное расширение Go VS Code, иубедитесь, что $ GOPATH настроен.
После установки в Linux / Win вам просто нужно выполнить командуGo: Install/Update Tools
. На Mac вам нужно скачать Delve черезВарить, набравbrew install go-delve/delve/delve
в вашей любимой оболочке (которая должна бытьzsh!) - документы говорят о самоподписании, но Brew сделает это за вас.
Как только вы закончите, настройте конфигурацию отладчика.
Щелкните код VSменю отладкии нажмите «Начать отладку» или просто нажмитеF5
.
VS Code помещает отладочную информацию в.vscode/launch.json
файл в корне вашего рабочего пространства. Это будет автоматически сгенерировано и должно работать из коробки для локальной отладки:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${fileDirname}",
"env": {},
"args": [],
"showLog": true
}
]
}
Согласно документации, параметр режима может быть установлен на:
debug
для компиляции и отладки текущей программыtest
для отладки тестов (для отладки одного теста введите -test.run и имя теста в качестве аргументов)exec
для запуска предварительно созданного двоичного файла, указанного в программе, например"program":"${workspaceRoot}/mybin"
.remote
для удаленной отладки (см.официальная документация по удаленной отладке)
Возникли проблемы? Вот некоторыеобщие ловушки.
Как только это будет сделано, Delve будет готов к работе!
Вы можете видеть, что это довольно стандартный отладчик с локальным и глобальнымпроверка переменных, возможностьсмотреть конкретные переменные, товизуализация стека вызововиконтрольные точки.
Что мне особенно нравится в отладке Go и переходе к вызовам библиотеки, так это то, что стандартная библиотека очень чистая, хорошо документирована и читаема, а с помощью отладки вы узнаете много вещей о том, как все работает внутри.
Удачной отладки!
Больше руководств по go:
- Использование обратного прокси NGINX для обслуживания сервисов Go
- Создание копии структуры в Go
- Основы веб-сервера Go
- Сортировка типа карты в Go
- Вкратце об указателях Go
- Объяснение тегов Go
- Форматирование даты и времени Go
- Обработка JSON с помощью Go
- Перейти к переменным функциям
- Шпаргалка по струнам Go
- Объяснение интерфейса Go Empty
- Отладка Go с помощью VS Code и Delve
- Именованный Go возвращает параметры
- Генерация случайных чисел и строк в Go
- Структура файловой системы проекта Go
- Алгоритм двоичного поиска, реализованный в Go
- Использование флагов командной строки в Go
- GOPATH объяснил
- Создайте приложение командной строки с помощью Go: lolcat
- Создание команды интерфейса командной строки с помощью Go: cowsay
- Использование Shell Pipes с Go
- Учебник по интерфейсу командной строки: Fortune Clone
- Перечислить файлы в папке с помощью Go
- Используйте Go, чтобы получить список репозиториев с GitHub
- Пойдите, добавьте фрагмент строк в файл
- Пойдите, преобразуйте строку в срез байтов
- Визуализируйте свой вклад в Git с помощью Go
- Начало работы с Go CPU и профилирование памяти
- Устранение ошибки "не поддерживает индексацию" в программе Go
- Измерение времени выполнения в программе Go
- Создание веб-краулера с Go для обнаружения повторяющихся заголовков
- Go Best Practices: указатель или приемники значений?
- Go Best Practices: следует ли использовать метод или функцию?
- Структуры данных Go: установить
- Шпаргалка по картам Go
- Создание реализаций для универсальных типов в Go
- Структуры данных Go: словарь
- Структуры данных Go: хеш-таблица
- Реализуйте прослушиватели событий в проходных каналах
- Структуры данных Go: стек
- Структуры данных Go: очередь
- Структуры данных Go: двоичное дерево поиска
- Структуры данных Go: график
- Структуры данных Go: связанный список
- Полное руководство по структурам данных Go
- Сравнение значений Go
- Является ли Go объектно-ориентированным?
- Работа с базой данных SQL в Go
- Использование переменных среды в Go
- Учебник: REST API на базе PostgreSQL
- Включение CORS на веб-сервере Go
- Развертывание приложения Go в контейнере Docker
- Почему Go - мощный язык для изучения PHP-разработчика
- Пойдите, удалите символ новой строки io.Reader.ReadString
- Идите, как посмотреть изменения и пересобрать вашу программу
- Иди, посчитай месяцы с даты
- Доступ к параметрам HTTP POST в Go