登录
首页 >  Golang >  Go问答

在 VScode 中设置 Golang 的 Bazel 构建环境

来源:stackoverflow

时间:2024-03-01 19:09:22 160浏览 收藏

哈喽!今天心血来潮给大家带来了《在 VScode 中设置 Golang 的 Bazel 构建环境》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

如何安装 bazel 以在 VScode 中构建 golang 应用程序?


正确答案


根据 golang/go issue 37205,尚无对 bazel 的直接支持(“x/tools/gopls:支持基于 bazel 的项目”)

bazelbuild/rules_go wiki/Editor-and-tool-integration 有一个用于构建编辑器和工具集成的设计文档:一个新的 gopackagesdriver 二进制文件,它将 bazel+rules_go 与 golang.org/x/tools/go/packages 集成。
但尚未完全实施(2022 年第一季度)。

同时,您可以关注Bazel IDE setup,其中涉及:

  • 创建一个启动器脚本,例如tools/gopackagesdriver.sh:
#!/usr/bin/env bash
exec bazel run -- @io_bazel_rules_go//go/tools/gopackagesdriver "${@}"
  • 添加工作区的 .vscode/settings.json
{
  "go.goroot": "${workspaceFolder}/bazel-${workspaceFolderBasename}/external/go_sdk",
  "go.toolsEnvVars": {
    "GOPACKAGESDRIVER": "${workspaceFolder}/tools/gopackagesdriver.sh"
  },
  "go.enableCodeLens": {
    "references": false,
    "runtest": false
  },
  "gopls": {
    "build.directoryFilters": [
      "-bazel-bin",
      "-bazel-out",
      "-bazel-testlogs",
      "-bazel-mypkg",
    ],
    "formatting.gofumpt": true,
    "formatting.local": "github.com/my/mypkg",
    "ui.completion.usePlaceholders": true,
    "ui.semanticTokens": true,
    "ui.codelenses": {
      "gc_details": false,
      "regenerate_cgo": false,
      "generate": false,
      "test": false,
      "tidy": false,
      "upgrade_dependency": false,
      "vendor": false
    },
  },
  "go.useLanguageServer": true,
  "go.lintOnSave": "off",
  "go.vetOnSave": "off",
}

本篇关于《在 VScode 中设置 Golang 的 Bazel 构建环境》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>