首页 > 其他分享 >记一次vscode 打开go项目的处理方式

记一次vscode 打开go项目的处理方式

时间:2023-12-01 18:33:19浏览次数:32  
标签:src Users vscode 20705 GOROOT go 打开 HeroOkWebGo

问题:需要用vscode打开 没有用 go.mod 管理的项目 打包项目为linux执行的二进制文件

vscode 全局 settings.json配置

{
    "go.formatTool": "gofmt",
    "go.gopath": "D:\\GoPath;",
    "go.goroot": "D:\\GO",
    "go.lintTool": "golint",
    "debug.console.fontSize": 16,
    "debug.console.lineHeight": 30,
    "gopls": {
        "ui.semanticTokens": true
    },
    "go.toolsEnvVars": {
        "GO111MODULE": "auto",
    },
}

打包命令:

set CGO_ENABLED=0
set GOARCH=amd64
set GOOS=linux
#如果set命令报错把上述set 换成 go env -w 
go build -o name

运行结果:

go build -o name
main.go:4:2: cannot find package "HeroOkWebGo/src/RpcServer" in any of:
        D:\GO\src\HeroOkWebGo\src\RpcServer (from $GOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\RpcServer (from $GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\RpcServer(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\RpcServer (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\RpcServer(fromGOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\RpcServer(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\RpcServer (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\RpcServer(fromGOPATH)
main.go:5:2: cannot find package "HeroOkWebGo/src/action" in any of:
        D:\GO\src\HeroOkWebGo\src\action (from $GOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\action (from $GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\action(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\action (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\action(fromGOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\action(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\action (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\action(fromGOPATH)
main.go:6:2: cannot find package "HeroOkWebGo/src/actionweb" in any of:
        D:\GO\src\HeroOkWebGo\src\actionweb (from $GOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\actionweb (from $GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\actionweb(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\actionweb (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\actionweb(fromGOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\actionweb(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\actionweb (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\actionweb(fromGOPATH)
main.go:7:2: cannot find package "HeroOkWebGo/src/service" in any of:
        D:\GO\src\HeroOkWebGo\src\service (from $GOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\service (from $GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\service(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\service (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\service(fromGOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\service(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\service (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\service(fromGOPATH)
main.go:8:2: cannot find package "HeroOkWebGo/src/util" in any of:
        D:\GO\src\HeroOkWebGo\src\util (from $GOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\util (from $GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\util(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\util (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\util(fromGOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\util(fromGOROOT)
        C:\Users\20705\go\src\HeroOkWebGo\src\util (from 
GOROOT)C:\Users\20705\go\src\HeroOkWebGo\src\util(fromGOPATH)
main.go:17:2: cannot find package "github.com/gorilla/context" in any of:
        D:\GO\src\github.com\gorilla\context (from $GOROOT)
        C:\Users\20705\go\src\github.com\gorilla\context (from $GOROOT)C:\Users\20705\go\src\github.com\gorilla\context(fromGOROOT)
        C:\Users\20705\go\src\github.com\gorilla\context (from 
GOROOT)C:\Users\20705\go\src\github.com\gorilla\context(fromGOROOT)C:\Users\20705\go\src\github.com\gorilla\context(fromGOROOT)
        C:\Users\20705\go\src\github.com\gorilla\context (from 
GOROOT)C:\Users\20705\go\src\github.com\gorilla\context(fromGOPATH)
main.go:18:2: cannot find package "github.com/keep94/weblogs" in any of:
        D:\GO\src\github.com\keep94\weblogs (from $GOROOT)
        C:\Users\20705\go\src\github.com\keep94\weblogs (from $GOROOT)C:\Users\20705\go\src\github.com\keep94\weblogs(fromGOROOT)
        C:\Users\20705\go\src\github.com\keep94\weblogs (from 
GOROOT)C:\Users\20705\go\src\github.com\keep94\weblogs(fromGOROOT)C:\Users\20705\go\src\github.com\keep94\weblogs(fromGOROOT)
        C:\Users\20705\go\src\github.com\keep94\weblogs (from 
GOROOT)C:\Users\20705\go\src\github.com\keep94\weblogs(fromGOPATH)

处理方式

 $env:GOPATH="D:\GoPath;C:\Users\XXXX\go"
 # C:\Users\XXXX\go 为默认gopath
 #上述方法只适用于 当前命令行,每次打开项目都需运行

最优解:

在项目目录下的 .vscode 目录下的 settings.json 文件中添加一下内容,重新打开项目即可

{
    "terminal.integrated.env.windows": {
        //旧model项目默认设置
        "GOPATH": "D:\GoPath;C:\Users\XXXX\go"
    }
}

标签:src,Users,vscode,20705,GOROOT,go,打开,HeroOkWebGo
From: https://www.cnblogs.com/newcxp/p/17870692.html

相关文章

  • jwt在go中的应用
    官网JWT什么是JWT在现代的Web应用开发中,目前已经有大半部分的应用都是使用的jwt的方式来做登录鉴权功能,那么什么是jwt呢?JSONWebToken(JWT)是一个开放标准RFC519,它定义了一种紧凑且自包含的方式,用于作为JSON对象在各方面之间安全地传输信息;JWT是一个数......
  • VScode 安装 R
    md想install一个包,发现装下来不支持4.3.2了,又找不到之前的版本,被迫重装。参考:https://zhuanlan.zhihu.com/p/454702406?utm_id=0流程:安装Rhttps://mirrors.tuna.tsinghua.edu.cn/CRAN/安装radian直接cmd打开终端,pipinstallradian(会自动绑到刚才的R上)......
  • Django补4
    过滤器写一个过滤器---》一堆内容---》经过过滤器后---》把关键词屏蔽#自定义过滤器{{变量|过滤器名字}}编写步骤1注册app2在某个app下:创建templatetags模块(模块名只能是templatetags)3在包下写一个py文件,随便命名4在py文件中:写入fromdjangoimporttemplateregister=t......
  • GORM学习
    Day1:GORM入门1.环境的安装在项目文件的terminal中输入下面两条命令进行gorm安装gogetgorm.io/driver/mysqlgogetgorm.io/gorm2.安装好之后使用以下代码进行检测,其中的地址拼接是重点"%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local&timeout=%s",us......
  • Google Play 结算系统
    技术GooglePlay。供用户下载应用及其他数字商品的在线商店。GooglePlay管理中心。提供界面,供您将应用发布到GooglePlay的平台。GooglePlay管理中心还会显示您的应用详情,包括您通过GooglePlay销售的任何商品或内容。GoogleCloud控制台。用于管理后端API(例如Google......
  • Go--命名规则
    在Go语言中,项目名和文件名的命名规则有一些建议和惯例。以下是一些常见的规则和最佳实践:项目名:项目名应该简短、有意义,并能够清晰地表达项目的目的或功能。项目名通常使用小写字母,使用连字符或下划线分隔单词。项目名不应包含特殊字符或空格。项目名应尽量避免与现有的库......
  • vscode插件 runcode 无法运行ts
    declarefunctionpick<TextendsRecord<string,unknown>>(traget:Record<string,unknown>,...keys:(keyofT)[]):unknown;//pick({asdfasfsa:'123'},'a','1').asdfasfsaconstsource={name:'John',......
  • Google Play 允许区块链游戏和 NFT 应用进入平台
    为GameFi用户在地域分布与手机机型分布方面与GooglePlay 有众多契合之处:地域分布:东南亚地区用户占比最大,2022年上半年东南亚用户占比达到41%其次是北美和西欧地区用户,2022年上半年占比分别为16%和15%发展中国家用户占比也在快速增长,如菲律宾、越南、印度等机......
  • 手机上的记事本怎么打开?安卓手机通用的记事本APP
    有不少上班族发现,自己想要在电脑上随手记录一些工作文字内容,直接使用电脑上的记事本工具来编辑文字是比较便捷的。但是如果想要在手机上记录文字内容,就找不到手机上的记事本了。那么手机上的记事本怎么打开?安卓手机通用的记事本APP选择哪个?其实手机系统自带的记事本工具一般叫做......
  • MongoTemplate操作MongoDB
    集成简介spring-data-mongodb提供了MongoTemplate与MongoRepository两种方式访问mongodb,MongoRepository操作简单,MongoTemplate操作灵活,我们在项目中可以灵活适用这两种方式操作mongodb,MongoRepository的缺点是不够灵活,MongoTemplate正好可以弥补不足。搭建开发环境1、创建springbo......