#go #visual-studio-code
#Вперед #visual-studio-code
Вопрос:
У меня есть проект Go, который состоит из инструмента командной строки и некоторых плагинов Go. У меня есть скрипт сборки, который создает CLI, а затем переходит в каталог плагинов и компилирует каждый плагин с -buildmode=plugin
опцией. Я хотел бы выяснить launch.json
, можно ли настроить выборочную передачу buildmode
флага.
Если я предварительно создаю плагины, а затем запускаю отладчик только с помощью инструмента CLI, плагины не будут загружаться, потому что они были «созданы с другой версией пакета X».
Я создал задачу tasks.json
для вызова моего сценария сборки и добавил эту задачу в качестве preLaunchTask
для моего сеанса отладки, но это не помогает.
#!/bin/bash
set -x
go build ./cmd/...
cd plugins
for DIR in `find . ! -path . -type d`
do
go build -buildmode=plugin $DIR/*.go
done
Ответ №1:
Если вы хотите добавить состояние отладки в файл .so
go build -gcflags "all=-N -l" -x -v -buildmode=plugin -o plugin/plugin.so plugin/plugin.go
Но если вы хотите выполнить сборку в рабочей среде, пожалуйста, игнорируйте эти параметры.
go build -buildmode=plugin -o plugin/plugin.so plugin/plugin.go
Подробнее здесь