• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yyh325
0.01D
V2EX  ›  程序员

吐槽一下用 vscode 写 golang

  •  
  •   yyh325 · Jan 5, 2021 · 8345 views
    This topic created in 1967 days ago, the information mentioned may be changed or developed.

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

    35 replies    2021-03-27 12:04:25 +08:00
    janxin
        1
    janxin  
       Jan 5, 2021
    你可能不是很熟悉 Windows,修改环境变量只需要重启程序不需要重启电脑,甚至不需要重启程序...

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

    难道 vscode-go 的功能不够用?你不考虑这么多插件会冲突?我用了假的 vscode ?
    snxq1995
        11
    snxq1995  
       Jan 5, 2021 via Android   ❤️ 2
    mac 和 linux 没有楼主描述的问题。
    所以你懂我意思吧/笑:-D
    40EaE5uJO3Xt1VVa
        12
    40EaE5uJO3Xt1VVa  
       Jan 5, 2021
    昨天遇到一个 vscode 写 go 的问题,装了 go 插件之后,ctrl s 自动删掉 import,然后运行还报错,报错说没有包,不认 fmt,我满头大汗
    Claar
        13
    Claar  
       Jan 5, 2021 via iPhone
    我反正很喜欢用 goland
    Adriel
        14
    Adriel  
       Jan 5, 2021
    你想想 你在网页上敲代码是什么体验?
    lithbitren
        15
    lithbitren  
       Jan 6, 2021
    package main 那里一直有波浪线,虽然不影响编译运行,但实在不太舒服,查了好些个方法都没有解决
    zro
        16
    zro  
       Jan 6, 2021   ❤️ 1
    刚看完一些教学视频,不知道像我这种编程白痴学不学得来~~
    fpure
        17
    fpure  
       Jan 6, 2021 via Android
    @airplayxcom 有人喜欢在浏览器里敲代码,有人喜欢在终端里敲代码,半斤八两
    46fo
        18
    46fo  
       Jan 6, 2021
    LiteIDE
    yzbythesea
        19
    yzbythesea  
       Jan 6, 2021
    说实话讲轻量化,用 text editor 就上 vim,讲功能效率,用 IDE 就一步到位上 jetbrain 全家桶。vscode 不上不下。
    hahaFck
        20
    hahaFck  
       Jan 6, 2021
    js 做的东西能好到哪
    rrfeng
        21
    rrfeng  
       Jan 6, 2021 via Android
    开 gopls 流畅的一逼…你肯定是没弄好。
    to2false
        22
    to2false  
       Jan 6, 2021
    除了 debug 难用了点,其他问题不大
    llej
        23
    llej  
       Jan 6, 2021
    我使用如下这样的脚本来进行编译,没有遇到什么问题
    ```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  
       Jan 6, 2021
    不要慌,问题不大,习惯就好 😄
    zzzzzzggggggg
        25
    zzzzzzggggggg  
       Jan 6, 2021
    一般这种工具类的吐槽都是习惯问题,过一阵就好了
    wiluxy
        26
    wiluxy  
       Jan 6, 2021
    装了 go 插件后,打开 vscode,搜索 go.uselanguageserver,勾上再看看,速度快很多的
    MarkingJason
        27
    MarkingJason  
       Jan 6, 2021   ❤️ 1
    vscode 有 remote - ssh,可以远程开发 linux 机器上的项目。
    或者用 win10 的 wsl2,唯一缺点就是 wsl2 没有固定的内网 ip,得用脚本固定。
    至于编译的话没用过,都是在终端上编译的。
    格式化、自动导包啥的打开 gopls 就行。
    holulu
        28
    holulu  
       Jan 6, 2021
    vscode 免费,goland 收费,体验有差是正常的吧?!
    cheng6563
        29
    cheng6563  
       Jan 6, 2021
    vscode 的代码提示是不准确的,不适合开发这类静态语言。
    js,python 什么的反正没有 IDE 能准确提示,用 vscode 无所谓了。
    xpresslink
        30
    xpresslink  
       Jan 6, 2021
    还是推荐用够烂的
    janxin
        31
    janxin  
       Jan 6, 2021
    @lithbitren 因为包没有写文档
    lithbitren
        32
    lithbitren  
       Jan 6, 2021
    @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  
       Jan 6, 2021
    免费的肯定是最贵的
    march1993
        34
    march1993  
       Jan 6, 2021
    环境变量直接在 vscode 自己的 setting 里设置也行的
    putaozhenhaochi
        35
    putaozhenhaochi  
       Mar 27, 2021
    @lithbitren https://github.com/golang/tools/blob/master/gopls/doc/workspace.md

    如果不是根目录,需要讲文件夹加入工作区
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   920 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 88ms · UTC 20:47 · PVG 04:47 · LAX 13:47 · JFK 16:47
    ♥ Do have faith in what you're doing.