吐槽一下用 vscode 写 golang - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yyh325
0.01D
V2EX    程序员

吐槽一下用 vscode 写 golang

  •  
  •   yyh325 2021-01-05 21:25:06 +08:00 7868 次点击
    这是一个创建于 1739 天前的主题,其中的信息可能已经有所发展或是发生改变。

    装了 go 插件,还有各种编译调试代码提示插件. 各种问题,一会儿没代码提示了; 修改环境变量生效要重启电脑;windows 上交叉编译完 linux 版本的程序, 下次再编译就不是 linux 版本的了. 还是 goland 好,一步到位

    35 条回复    2021-03-27 12:04:25 +08:00
    janxin
        1
    janxin  
       2021-01-05 21:37:33 +08:00
    你可能不是很熟悉 Windows,修改环境变量只需要重启程序不需要重启电脑,甚至不需要重启程序...

    记得使用 gopls,不要使用其他工具
    sky96111
        2
    sky96111  
       2021-01-05 21:57:24 +08:00 via Android
    我这边代码提示确实不稳定,总是掉…但是其他的问题很明显是你的问题。修改环境变量只需要重启应用就可以了。交叉编译 linux 只修改了你当前终端的环境变量,关闭后就失效了,再编译当然就会回到 Windows
    codehz
        3
    codehz  
       2021-01-05 21:58:02 +08:00
    ( explorer 会自动响应修改全局环境变量的请求,然后新开的进程就能用上了)
    yyh325
       
    yyh325  
    OP
       2021-01-05 22:32:43 +08:00
    终端配置的是 powshell, 应该是从 windows 的环境变量里取的 GOARCH, GOOS. 比如修改 GOOS 后, 重启 vscode, 确定还是之前配置的 GOOS, 重启电脑才能获取正确的 GOOS. 刚又试了一次. 求解, 你们是这样吗
    ii55dd
        5
    ii55dd  
       2021-01-05 22:32:44 +08:00 via iPhone
    go 的交叉编译已经够方便了,你说的是啥场景,代码提示 goland 弱智,每次新项目加载 go list,代理吃不消
    clemente0620
        6
    clemente0620  
       2021-01-05 23:25:32 +08:00
    为什么不用 wsl2
    qianlifeng
        7
    qianlifeng  
       2021-01-05 23:26:49 +08:00
    vscode 最让我不能忍的是不支持鼠标快捷键,所以我现在还在用 GOLAND
    back0893
        8
    back0893  
       2021-01-05 23:26:53 +08:00
    emm
    为啥不在 shell 里面手动
    eclipselu
        9
    eclipselu  
       2021-01-05 23:30:58 +08:00   1
    那个 golang 的插件确实不太稳定 有一些 lint 的错误我代码改了它还是提示的是老的错误
    mason961125
        10
    mason961125  
       2021-01-05 23:43:36 +08:00
    > 还有各种编译调试代码提示插件

    难道 vscode-go 的功能不够用?你不考虑这么多插件会冲突?我用了假的 vscode ?
    snxq1995
        11
    snxq1995  
       2021-01-05 23:43:49 +08:00 via Android   2
    mac 和 linux 没有楼主描述的问题。
    所以你懂我意思吧/笑:-D
    40EaE5uJO3Xt1VVa
        12
    40EaE5uJO3Xt1VVa  
       2021-01-05 23:55:43 +08:00
    昨天遇到一个 vscode 写 go 的问题,装了 go 插件之后,ctrl s 自动删掉 import,然后运行还报错,报错说没有包,不认 fmt,我满头大汗
    Claar
        13
    Claar  
       2021-01-05 23:56:48 +08:00 via iPhone
    我反正很喜欢用 goland
    airplayxcom
        14
    airplayxcom  
       2021-01-05 23:58:37 +08:00
    你想想 你在网页上敲代码是什么体验?
    lithbitren
        15
    lithbitren  
       2021-01-06 00:47:34 +08:00
    package main 那里一直有波浪线,虽然不影响编译运行,但实在不太舒服,查了好些个方法都没有解决
    zro
        16
    zro  
       2021-01-06 01:06:51 +08:00   1
    刚看完一些教学视频,不知道像我这种编程白痴学不学得来~~
    fpure
        17
    fpure  
       2021-01-06 08:32:35 +08:00 via Android
    @airplayxcom 有人喜欢在浏览器里敲代码,有人喜欢在终端里敲代码,半斤八两
    xdeng
        18
    xdeng  
       2021-01-06 09:05:13 +08:00
    LiteIDE
    yzbythesea
        19
    yzbythesea  
       2021-01-06 09:09:25 +08:00
    说实话讲轻量化,用 text editor 就上 vim,讲功能效率,用 IDE 就一步到位上 jetbrain 全家桶。vscode 不上不下。
    hahaFck
        20
    hahaFck  
       2021-01-06 09:16:41 +08:00
    js 做的东西能好到哪
    rrfeng
        21
    rrfeng  
       2021-01-06 09:26:08 +08:00 via Android
    开 gopls 流畅的一逼…你肯定是没弄好。
    to2false
        22
    to2false  
       2021-01-06 09:29:57 +08:00
    除了 debug 难用了点,其他问题不大
    llej
        23
    llej  
       2021-01-06 09:34:41 +08:00
    我使用如下这样的脚本来进行编译,没有遇到什么问题
    ```bat
    SET CGO_ENABLED=0
    SET GOOS=darwin
    SET GOARCH=amd64
    go build -o mac_md2website ./src

    SET CGO_ENABLED=0
    SET GOOS=linux
    SET GOARCH=amd64
    go build -o linux_md2website ./src

    SET CGO_ENABLED=0
    SET GOOS=windows
    SET GOARCH=amd64
    go build -o windows_md2website.exe ./src
    ```
    monospace
        24
    monospace  
       2021-01-06 09:35:12 +08:00
    不要慌,问题不大,习惯就好
    zzzzzzggggggg
        25
    zzzzzzggggggg  
       2021-01-06 10:24:27 +08:00
    一般这种工具类的吐槽都是习惯问题,过一阵就好了
    wiluxy
        26
    wiluxy  
       2021-01-06 10:25:19 +08:00
    装了 go 插件后,打开 vscode,搜索 go.uselanguageserver,勾上再看看,速度快很多的
    MarkingJason
        27
    MarkingJason  
       2021-01-06 10:37:43 +08:00   1
    vscode 有 remote - ssh,可以远程开发 linux 机器上的项目。
    或者用 win10 的 wsl2,唯一缺点就是 wsl2 没有固定的内网 ip,得用脚本固定。
    至于编译的话没用过,都是在终端上编译的。
    格式化、自动导包啥的打开 gopls 就行。
    holulu
        28
    holulu  
       2021-01-06 10:42:33 +08:00
    vscode 免费,goland 收费,体验有差是正常的吧?!
    cheng6563
        29
    cheng6563  
       2021-01-06 10:47:22 +08:00
    vscode 的代码提示是不准确的,不适合开发这类静态语言。
    js,python 什么的反正没有 IDE 能准确提示,用 vscode 无所谓了。
    xpresslink
        30
    xpresslink  
       2021-01-06 10:51:58 +08:00
    还是推荐用够烂的
    janxin
        31
    janxin  
       2021-01-06 12:22:30 +08:00
    @lithbitren 因为包没有写文档
    lithbitren
        32
    lithbitren  
       2021-01-06 12:43:19 +08:00
    @janxin 啊,不懂啊,我 package 和每个函数前面都按规范写注释了。。

    红色波浪线报错理由如下:
    gopls requires a module at the root of your workspace.
    You can work with multiple modules by opening each one as a workspace folder.
    Improvements to this workflow will be coming soon ( https://github.com/golang/go/issues/32394),
    and you can learn more here: https://github.com/golang/go/issues/36899.

    但进了这两个 issues 我也整不明白怎么设置 vscode 能解决这个问题,因为不影响运行就搁置了
    DelayNoMay
        33
    DelayNoMay  
       2021-01-06 13:11:23 +08:00
    免费的肯定是最贵的
    march1993
        34
    march1993  
       2021-01-06 13:21:46 +08:00
    环境变量直接在 vscode 自己的 setting 里设置也行的
    putaozhenhaochi
        35
    putaozhenhaochi  
       2021-03-27 12:04:25 +08:00
    @lithbitren https://github.com/golang/tools/blob/master/gopls/doc/workspace.md

    如果不是根目录,需要讲文件夹加入工作区
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6025 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 02:09 PVG 10:09 LAX 19:09 JFK 22:09
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86