Golang Лучшая настройка конфигурации VSCode - PullRequest
4 голосов
/ 03 марта 2020

Интересно, кто-нибудь может поделиться своими лучшими настройками для Golang, используя Vscode для Ma c. Поскольку у меня постоянно возникают проблемы, такие как:

  1. , иногда gomft не работает.
  2. Функции, определенные в том же пакете, отображаются с красным подчеркиванием с предупреждением, что оно не определено (но работает при запуске)
  3. с появлением следующего сообщения

Your workspace is misconfigured: command-line-arguments has no metadata. Please see https://github.com/golang/tools/blob/master/gopls/doc/troubleshooting.md for more information or file an issue (https://github.com/golang/go/issues/new) if you believe this is a mistake.

Вот некоторые сведения о моей go настройке:

  • Версия: go1.13.4 darwin / amd64
  • Настройки в настройках. json:

    {
        "window.zoomLevel": 1,
        "workbench.iconTheme": "material-icon-theme",
        "editor.accessibilitySupport": "off",
        "go.useLanguageServer": true,
        "go.formatTool": "gofmt",
        "go.lintTool": "golangci-lint",
        "[go]": {
            "editor.formatOnSave": true,
            "editor.codeActionsOnSave": {
                "source.organizeImports": true
            },
        },
        "explorer.confirmDragAndDrop": false,
        "javascript.updateImportsOnFileMove.enabled": "always",
        "diffEditor.ignoreTrimWhitespace": false
    }

  • GOPATH указывает на папку, в которой Go установлено

Ответы [ 3 ]

1 голос
/ 25 марта 2020

Я вижу ту же проблему, а также использую golangci-lint для ворса. Когда я смотрю на вывод из расширения Go («Просмотр»> «Командный поддон»> «Вывод»: «Сосредоточиться на представлении вывода», а затем в раскрывающемся списке «Вывод» выберите «Go»), я вижу такие ошибки:

Error while running tool: /usr/local/bin/golangci-lint run --print-issued-lines=false
level=warning msg="[runner] Can't run linter goanalysis_metalinter: assign: failed prerequisites: inspect@example.com/pkg/example"

И это

level=error msg="Running error: buildssa: analysis skipped: errors in package: [/Users/tschaub/projects/pkg/example.go:6:15: undeclared name: SomethingIJustStartedTyping

Первая ошибка (assign: failed prerequisites) была отмечена в https://github.com/golangci/golangci-lint/issues/827 и закрыта с комментарием об обновлении до golangci-lint@v1.24.0.

Вторая ошибка (buildssa: analysis skipped) была отмечена в https://github.com/golangci/golangci-lint/issues/896, и я получаю новые комментарии, когда я набираю это.

Обновление до v1.24.0 может не решить проблему, но похоже, что она может дать более описательный вывод.

Даже использование golangci-lint@v1.24.0 не решает проблему для меня. Мне нужно выйти из VSCode и перезапустить его всякий раз, когда я вхожу в это «неправильно настроенное» состояние. Я надеюсь, что после того, как инструменты догонят модули go, все станет немного более стабильным / надежным.

1 голос
/ 24 марта 2020

go .useLanguageServer: false, может помочь вам

0 голосов
/ 26 марта 2020

вы можете попробовать эту настройку.

    "go.inferGopath": false,
    "go.buildOnSave": "workspace",
    "go.lintOnSave": "package",
    "go.vetOnSave": "package",
    "go.buildTags": "",
    "go.buildFlags": [],
    "go.lintFlags": [],
    "go.vetFlags": [],
    "go.coverOnSave": false,
    "go.useCodeSnippetsOnFunctionSuggest": false,
    "go.formatTool": "goreturns",
    "go.gocodeAutoBuild": false,
    "go.useLanguageServer": true,
    "go.alternateTools": {
      "go-langserver": "gopls", 
    },
    "go.languageServerExperimentalFeatures": {
      "format": true,
      "autoComplete": true
    },
    "[go]": {
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        },
    },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...