@s60

Запуск без дебага программы на go в VS Code дает «go: go.mod file not found in current directory». Как исправить?

Для изучения Golang в качестве IDE взял VS Code.
Добавил плагин для Go. Указал $GOPATH$ (папка с проектами), в которой три папки {src, pkg, bin). Создал в папке src новый файл *.go с текстом программы "Hello world!".
текст программы
package main

import "fmt"

func main() {
	fmt.Println("hello world")
}



Запускается из командной строки без капризов, хоть через run, хоть через build. А вот Run без дебага (без дебага - чтоб не вылезли проблемы еще и Delve) из VS Code все время дает какие-то проблемы.
Одна из них -
всплывающее окно "Failed to continue: Check the debug console for details. [Open launch.json] [Cancel]".
ХЗ что надо добавить/править в этом launch. json .
А в DEBUG CONSOLE "go: go.mod file not found in current directory or any parent directory; see 'go help modules'."
Но в программе нет никаких сторонних модулей. Только "import "fmt"" для PrintLn().
Нагуглил, что надо запустить "go mod init" - выполнил в консоли в папке проекта "go mod init test.go" - в папке проекта создался файл go.mod с содержимым
"module test
go 1.16 "

содержимое файла launch. json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch test function",
            "type": "go",
            "request": "launch",
            "mode": "test",
            "program": "${workspaceFolder}",
            "args": [
                "-test.run",
                "MyTestFunction"
            ]
        },
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}"
        },
        {
            "name": "Launch file",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "${file}"
        }
    ]
}



Но при запуске Run без дебага все равно появляется сообщение про "go.mod not found".
Содержимое папки src:
  • go.mod (создан через go mod init test.go)
  • test.exe (создан через go build test.go)
  • test.go (текст программы Hello World)


В книгах про Go работа с кодом идет в командной строке и про подобное не упоминается, поскольку относиться к настройкам конкретной IDE.

Вопрос: какие настройки необходимо сделать с VS Code для "гладкой" работы с Golang и в частности избежать появления этого "проблема с go.mod"? Кто и почему не находит файл go.mod ?
  • Вопрос задан
  • 16248 просмотров
Решения вопроса 1
@s60 Автор вопроса
нагуглил решение
Добавил в переменные среды Windows GO111MODULE=auto, перезагрузил ПК и все заработало в VS Code
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
NeoCode
@NeoCode
C/C++ programmer
Нужно создать файл go.mod, в котором указывается имя проекта (на основе этого имени генерируется имя исполняемого файла). Файл располагается в папке с исходниками. Содержимое файла очень простое:
module go1

go 1.17

здесь go1 - имя проекта (модуля).
Файл можно сгенерировать в командной строке командой go mod init <имя_модуля>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы