Могут ли плагины Visual Studio для отладки Go?

#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
  

Подробнее здесь