V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
BeautifulSoap
V2EX  ›  Visual Studio Code

vscode 写 go 连最基础的补全功能都做得这么差的吗

  •  
  •   BeautifulSoap · 15 天前 · 7820 次点击

    一直用的都是 goland/idea 写 go ,体验了下用 vsocde 开发 go ,结果发现怎么连最基础的补全功能都这么差

    有点无法理解说 vscode 写 go 的体验和 goland 差不多的是认真的吗。。。。。

    下面是一个简单到不能再简单的的例子,如果是我用 vscode 姿势不对,希望有人能指出问题所在

    go mod 初始化好项目用 vsocde 打开(确保 gopls 的 lsp 已经正确运行),写一个 utils 包 utils/utils.go,内容如下:

    package utils
    
    func ThisIsMyHelperFunction() string {
    	return "hello"
    
    }
    

    关掉这个文件的标签页,打开 main.go ,输入 ThisIsMy,我自然期待补全会给出对应的函数候补,结果 vscode 根本跳不出任何候补。不是,vscode 这么离谱的吗

    img

    然后我发现,把utils.go 文件作为非活动标签页打开在边上,然后再输 ThisIsMy ,这次候补里出现了,但是它只是作为一个纯字符串出现,vscode 甚至都无法识别出它是个函数,tab 上去之后 ctrl + . 甚至都没法正常导包,提示不存在定义

    img

    然后翻了半天 vscode 官网,才发现说明有这一句

    As you type in a Go file, you can see IntelliSense providing you with suggested completions. This even works for members in current, imported, and not yet imported packages. Just type any package name followed by ., and you will get suggestions for the corresponding package members.

    不是,你的意思是我要用一个类型 or 函数之类的,必须从所属的包开始输入吗?一个项目复杂起来,那么多目录那么多包谁能清楚记得要用的东西在哪个包啊。。。。。。

    而与之相对的,在 goland/idea 中写 go 项目,我只要输入 ThisIs 就能跳出对应内容,tab 后就直接完成了补全+添加包前缀+自动 import 。我曾经以为这种功能甚至是基础到不能再基础的功能,结果没想到。。。。

    img

    第 1 条附言  ·  15 天前
    纠正大家一个误解,goland/idea 的这种补全不需要记住完整名字,只需要模糊记得几个关键字就能完成模糊补全。比如上面例子我直接输入 ThisFunc 也能补全出所有符合条件的条目,如图

    这种补全下,我要用一个东西,只要模糊记得它的几个关键字就行,根本不需要去记住它到底在哪个鬼才知道的犄角旮旯的包里,记忆的心智负担非常低

    ![img]( )


    然后关于楼下很多说 vscode 只是个编辑器+这都是 gopls 的问题的回复,其实是有道理的。但问题是我已经在 v 站看到不知道多少次说 vscode 平替 goland 的了,体验和 goland 差不多的了

    说真的,你不能只有在吹 vscode 的时候才说它完全能平替 goland ,一遇到问题(尤其是补全这么基础直接影响体验的地方)就直接切割是 gopls 的锅+我只是个编辑器为什么对我这么多要求嘤嘤嘤
    97 条回复    2025-04-16 17:10:37 +08:00
    maxwellz
        1
    maxwellz  
       15 天前
    用 cursor 吧
    kdwnil
        2
    kdwnil  
       15 天前
    没出现补全是因为 utils 这个包没被 main.go 导入,导入了以后就能正常补全了
    LeeEnzo
        3
    LeeEnzo  
       15 天前   ❤️ 1
    这跟 vscode 没关系,code 就是个编辑器又不是 IDE
    体验不好时 Go 插件的锅,Go 插件是 Go Team 做的
    Vegetable
        4
    Vegetable  
       15 天前
    谁知道你要给包起什么别名?这功能是 gopls 提供的,是 golang 的官方工具,别和 vscode 绑定吧
    peteretep
        5
    peteretep  
       15 天前
    老生常谈了,
    vscode = 编辑器+增强
    <<=
    jetbrains = ide + 增强
    BeautifulSoap
        6
    BeautifulSoap  
    OP
       15 天前
    @kdwnil 那么请问,当第一次在 main.go 中使用 utils 的时候怎么导入 utils ?手动移动到文件代码最上面 输入 `import "xxxx/utils"`?还是按照文档说的,通过输入包名+ . 来引用?

    于是问题就回到了我帖子里说的

    > 一个项目复杂起来,那么多目录那么多包谁能清楚记得要用的东西在哪个包啊。。。。。。
    Trim21
        7
    Trim21  
       15 天前
    go 的 lsp 是 golang 自己写的...

    所以盲猜这里也是为了代码写起来简单才选择这么实现的。这么做的话就不用搜索当前 go.mod 列出的全部包的导出符号,只需要搜索当前已经导入的包里存在的符号就可以了。
    lepig
        8
    lepig  
       15 天前   ❤️ 1
    他只是个编辑器,别为难他了

    话说,一直用不习惯 vscode ,还是 JB 好用。开箱即用,不用配这个配那个,省心。
    内存大点就大点吧,老了,折腾不动了
    bruce0
        9
    bruce0  
       15 天前
    我也是用不惯 vscode(也可能是我不会用) 写 go 一直用 goland,写 cpp 用 clion,但是 jb 家的远程开发太弱鸡,我想用 vscode 远程到 Debian 上写 cpp,但是一直没弄好环境,体验有点差,clangd 装了,提示不太行,想要断点 debug,好像还要自己写一个配置文件, 被 ide 惯坏了🤣
    kdwnil
        10
    kdwnil  
       15 天前
    @BeautifulSoap #6 就按照文档的来,第一次输 包名+. ,只有第一次需要,之后这个文件调用这个包底下的所有 变量/常量/函数... 都能正常补全了

    ……当然啦如果这点就忍不了,我也不建议继续用 vsc 写 go ,不然到项目稍微大了点等 gopls 那超长的缓存耗时的时候 op 你更忍不了(你猜我现在为什么那么有空在回 v2 ?)
    BeautifulSoap
        11
    BeautifulSoap  
    OP
       15 天前   ❤️ 12
    @LeeEnzo
    @Vegetable
    @lepig
    在 v 站看到不止一两次说 vscode 开发 go 体验和 goland 差不多,不知道 goland 有什么优势的了。虽然不是你们说的,但对于这些评论很想吐槽,总不能吹的时候说 vscode 开发 go 体验好,一旦遇到问题了就直接切割给 gopls 吧
    jay2049
        12
    jay2049  
       15 天前
    @Trim21 怎么 v2 也能抓到你
    BeautifulSoap
        13
    BeautifulSoap  
    OP
       15 天前
    @kdwnil 所以问题还是那个啊,我现在的开发体验如下了:要用一个东西,输入名称发现没有补全,然后全局文本搜索,找到它属于哪个包,然后再 `包名.函数名` 导入。尤其一个文件里用到一堆包的时候。我要不停去全局搜
    woodfizky
        14
    woodfizky  
       15 天前
    要不然为啥 JetBrains 是收费的呢?
    不过 JetBrains 有时候会过度设计。
    比如你说的这种自动补全,我用的 Pycharm ,新版本,自动补全甚至能帮我在没 import 对应包的时候,自动帮我 import 那个包,然后我发现错了,手动删掉那个包的话,自动添加的 import 语句是不会帮我再删掉的。

    虽然 ctrl + alt + o 能自动帮我优化 imports 吧,但是有时候忘记了,commit 的时候带着一个没用过的 import 语句,就很难受,有时候那个 import 的文件有问题还会报错。
    concernedz
        15
    concernedz  
       15 天前
    我也用不惯啊,但是为了用 cursor 硬是继续使用,快捷键装插件好适应,但很多挑战,接口实现都找不到,很难受
    coolcoffee
        16
    coolcoffee  
       15 天前
    vscode 轻的代价是懒,就像写 html 的 emmet tab 按键补全,只有刚写完那会按 tab 键会自动生成标签,光标移走再回来又变成了 tab 符号的输入。

    像 Jetbrain 系每个项目打开都要索引一遍, 内存管够所以才有像 ElasticSearch 全文搜索毫秒级别的响应。
    concernedz
        17
    concernedz  
       15 天前
    @concernedz 挑战->跳转
    mainjzb
        18
    mainjzb  
       15 天前   ❤️ 1
    从 goland 跳到 vscode 大概 2 年了,总体来说确实差不多,有些小问题习惯了。(毕竟免费啊~
    楼主说的这个问题确实存在,研究了 10 分钟没有解决方案
    平时使用我没感受到,因为我习惯于记住“包名” 而不是“函数名”
    在楼主这种情况下,我会直接输入 utils. 等待提示后,在提示框里选一个函数。
    或者更名明确的情况下,比如要切割字符串,那我会输入 stings.sp 然后按下“Tab 键”
    (不需要在文件头里手动导入包

    总结来说确实记住了包名。(但是我想,比起函数名,包名应该更少吧
    woodfizky
        19
    woodfizky  
       15 天前
    #14 另外 JetBrains 远程开发好像确实不如 VSCode ,这点反而有点不应该。
    concernedz
        20
    concernedz  
       15 天前
    真的想找一个,有 goland 丰富的功能的 AI 编辑器,jb 家的 git 又好用,偏偏 ai 时代他不争气,用了很多插件,tab 补全离 cursor 差太多了
    Yadomin
        21
    Yadomin  
       15 天前   ❤️ 3
    不同的 LSP 实现不一样,比如我用 clangd 写 cpp ,就经常帮我 xjb include
    kdwnil
        22
    kdwnil  
       15 天前
    @BeautifulSoap #13 这个就各有取舍了,我个人选择 vsc 开发主要是要用 vsc-remote ,jetbrains 的远程开发什么情况大家都懂。另外跟站里很多人不同,我其实不太喜欢 jb 的 git 功能,太复杂了,不如 vsc 一路点加号。另外 jb 今年也不给开源项目续开源授权我也没得用。

    不过说实话这些跟 go 开发关系都扯远了
    UnluckyNinja
        23
    UnluckyNinja  
       15 天前 via Android
    @coolcoffee #16 光标移动后 tab 就应该是输入制表符,你说的其实是 ctrl+space 重新唤起 intellisense ,在这个状态下 tab 才是补全功能(输入字母时自动切换到这个状态)。否则的话你想插入制表符时变成补全,岂不是更反直觉?
    crossoverJie
        24
    crossoverJie  
       15 天前
    我选择使用 idea 配合其他语言的插件,少安装几个 App 也能实现 90% 的功能了( Python 、Go 都是这么玩的)。
    woniu7
        25
    woniu7  
       15 天前   ❤️ 2
    v2 还有人说他是秦始皇呢
    做的不算差吧,反正我就用 gopl 开发,没用过 golang 。可能是因为你降级体验。
    你 golang 这方面效率确实高,工具那不是看人嘛,cursor 某些方面效率不是爆你 golang 。
    你记不住包名却记得住精确的函数名么,项目大了你的模糊函数名太多了呢,还有解析项目耗时和内存消耗,都是要权衡的,这是 gopl 的决定,作为 go 开发者觉得免费的 gopl 并不是不能用。
    mkfoy
        26
    mkfoy  
       15 天前
    哥, 创建一个 mod 文件吧。 就有了。
    archxm
        27
    archxm  
       15 天前
    我最近几年一直 vscode ,感觉还好吧。
    以前 goland 也用了一年。没发现有啥特别大差别。
    Vegetable
        28
    Vegetable  
       15 天前
    @BeautifulSoap 找 symbol 不需要文本搜索,可以使用 ctrl+t 开启工作区符号搜索。
    xuhuanzy
        29
    xuhuanzy  
       15 天前 via Android
    我正在做 lualsp ,vscode 不背这个锅,这是 lsp 实现问题,jb 家付费的功能更完善合情合理。
    deplives
        30
    deplives  
       15 天前
    不是,vscode 就是个编辑器,就跟 vim 似的,不是 ide ,功能都靠插件扩展,这也能怪 vscode ??
    xuhuanzy
        31
    xuhuanzy  
       15 天前 via Android
    这个功能实现非常简单,遍历所有 function 符号就行了,不做纯属开发者的取舍问题,你可以花点时间分叉一个更符合 goland 使用习惯的 lsp 。
    archxm
        32
    archxm  
       15 天前
    @deplives vscode 整 python golang 都还不错,整 cpp 比较麻烦,体验一般。
    你说 vscode 就是编辑器,我表示不同意。
    coolcoffee
        33
    coolcoffee  
       15 天前
    @UnluckyNinja 我觉得需要思考重新唤起 intellisense 就是在偷懒,对于我是想要光标在某个位置产生的预期行为是一致的。

    就像现在 vscode 还是没办法做到编辑 xml 、html 标签流畅的成对修改,这个十年前的 JB IDE 就已经能支持了。哦不对,现在 vscode 编辑 xml 是会提示再多按一次回车,但是如果删标签名字就不会提示,需要手动改两次。
    Rickkkkkkk
        34
    Rickkkkkkk  
       15 天前
    只能说 goland 好用。
    yulon
        35
    yulon  
       15 天前
    你直接写 utils. 就会自动导入包,或者写个 u 就会列出一堆候选,直接写没导入的包的函数名谁懂啊。。。
    lysShub
        36
    lysShub  
       15 天前
    第一次先要 import 包,敲 ut->回车->敲.Th->回车


    后面就可以直接敲函数名了
    BeautifulSoap
        37
    BeautifulSoap  
    OP
       15 天前
    @kdwnil jb 家的远程开发扶不起的刘阿斗我也气啊。其实 jb 的 git 功能我从来不用的,一直都感觉非常不直观提交日志也感觉非常乱,只有处理冲突的时候我才觉得好用。平时我都是用的 lazygit 好处就是无论再哪个服务器上都能直接用不依赖 gui ,然后要做更复杂的 rebase 之类操作的时候切到 fork 的 gui
    ns09005264
        38
    ns09005264  
       15 天前
    gopls 有这个直接写函数,然后提示都有哪些包有这个函数,选择后自动导入包的功能的。我用 helix+gopls 就可以这样。
    不知道你的 vscode 哪里出问题了,我记得 vscode 能正常提示来着。
    ninjashixuan
        39
    ninjashixuan  
       15 天前
    人收费那么多年肯定牛逼的地方,只是现在 jb 家 ai 功能跟不上,相对而言这点小瑕疵 ai 功能能节省更多时间。
    Meld
        40
    Meld  
       15 天前
    @woodfizky #14

    commit 的时候会自动 optimize
    Meld
        41
    Meld  
       15 天前
    BeautifulSoap
        42
    BeautifulSoap  
    OP
       15 天前
    @woniu7 其实 goland 这一套习惯了的话记函数名、类型名会比记包名心智负担更低点
    因为变量、函数等名称基本都是按照功能命名的,当要用到对应的东西的时候,只要回忆起几个关键字就能直接候补出需要的东西
    以我这个帖子为例,我只要直接模糊地输入 ThisFunc ,就能直接候补就出 `ThisIsMyHelperFunction` 哪怕我都不记得这个函数完整叫什么
    更实际点的就是我写了个 DumpAllMembers 函数,然后想用,那么我只要输入 DumpMem 就能靠着关键字把要的东西 import 进来了
    quqiu
        43
    quqiu  
       15 天前
    啊原来 goland 的补全可以这样,我一直用 vscode 可能已经习惯以包名开头了。
    MYDB
        44
    MYDB  
       15 天前 via iPhone
    工具而已,这个功能他有,那个功能她有,你为什么要在他和她都看不到的论坛吐槽?
    iyaozhen
        45
    iyaozhen  
       15 天前
    “必须从所属的包开始输入吗?”
    啊,我用 goland 也是这样的

    “在 v 站看到不止一两次说 vscode 开发 go 体验和 goland 差不多”
    没人这样说吧,goland 综合实力吊打 vscode 这是不争的事实
    codersdp1
        46
    codersdp1  
       15 天前
    vsc + ai 才有一战之力,不然就 goland
    Leviathann
        47
    Leviathann  
       15 天前   ❤️ 3
    吹的时候就是完全可替代

    问题摆脸上了就是“就是个编辑器”是吧
    kevinxzhao
        48
    kevinxzhao  
       15 天前
    当然“必须从所属的包导入”,vsc 只是一个编辑器。
    hxy100
        49
    hxy100  
       15 天前
    需要装对应插件的吧,你用光秃秃的 VSC 自然好用不到哪里去
    LawlietZ
        50
    LawlietZ  
       15 天前
    你要的这些功能,vscode 的一个分支 cursor 都能满足
    z1829909
        51
    z1829909  
       15 天前 via Android
    @yulon 如果是 goland ,直接输入方法名字,会模糊匹配符合条件的,回车之后会自动加入 import ,这个很好用,因为我只需要知道包名或者方法名其中之一就可以快速找到他。
    UnluckyNinja
        52
    UnluckyNinja  
       15 天前 via Android
    去试了一下,确实不行,顺便提一下 ts 的 intellisense 是会建议所有已导出函数的,甚至连依赖模块中的也会一并列出,补全后自动添加导入。

    这个应该是扩展/语言服务器自己的选择,至于为什么 go 就必须先写一次包名而 ts 能做到,我建议直接到官方扩展 repo 提 issue: https://github.com/golang/vscode-go 看看到底是扩展还是语言服务器问题,能不能改进
    chaleaochexist
        53
    chaleaochexist  
       15 天前
    楼主我倾向于认为是你得姿势不对.

    ![]( https://files.catbox.moe/3xsgo6.png)
    chaleaochexist
        54
    chaleaochexist  
       15 天前
    @chaleaochexist 我说错了. 当我没说. 楼主你得对的.
    lovelylain
        55
    lovelylain  
       15 天前 via Android
    难怪用 goland 感觉比 vscode 卡,原来是要支持无视包空间全局联想函数名,有得有失嘛
    haaro
        56
    haaro  
       15 天前   ❤️ 1
    vscode+github copilot plugin 写 go 还是很舒服的
    caiqichang
        57
    caiqichang  
       15 天前
    @coolcoffee #33
    "editor.linkedEditing": true,
    可以开启成对修改
    Biem
        58
    Biem  
       15 天前
    像我这种 go+py 的项目好像只有 vscode 是能一起写的了。。。不过现在的 ai 插件索引项目文件夹后,提示对我来说还是凑合够用了
    DefoliationM
        59
    DefoliationM  
       15 天前
    算了吧,当时就是因为 goland bug 太多,还特别能吃内存才换成 vscode 的。
    donk68
        60
    donk68  
       15 天前
    cursor 吧
    bouts0309
        61
    bouts0309  
       15 天前
    我记得说是 goland 用的自己的 language server ,不使用 gopls ?
    反正我也是 vscode(cursor)写 go 的时候提示啥的太慢了,回去继续用 goland 的
    HappyAndSmile
        62
    HappyAndSmile  
       15 天前
    免费的才是最贵的,我用了 7 年以上的正版 Goland 了,我根本不相信 VS Code 可以平替
    zaunist
        63
    zaunist  
       15 天前
    不至于吧,我用的时候提示啥的还是挺好用的,你没装 gopls 吗,装了的话,没记错默认用的微软的 lsp ,我感觉挺好用的。离线环境下 jb 家的产品非常好使(代价是每次启动 index 就要等好久。。。),但是联网的时候我觉得两者用起来差不多。
    pinecone1
        64
    pinecone1  
       15 天前
    在用 cursor 写 go
    很多时候都不用写个开头 你按个回车新开一行 编辑器就猜出来你打算写什么了。。。就挺离谱的
    proxytoworld
        65
    proxytoworld  
       15 天前
    @pinecone1 那是 ai 猜的,不是 cursor 干的
    jheroy
        66
    jheroy  
       15 天前 via iPhone
    确实是你没用对,gopls 补全是可以设置补全未 import 的包的。
    duanzhanling
        67
    duanzhanling  
       15 天前
    哈哈,我就是围观下
    kuanat
        68
    kuanat  
       15 天前
    我认为是 vscode 的锅,因为我的印象里这个功能 gopls 很早就有了,不过我现在主力是 neovim ,待我验证一下。
    Xinu
        69
    Xinu  
       15 天前
    不光是 golang js 体验我都觉得不如 webstorm ,就追代码这个功能,实现的贼烂
    jheroy
        70
    jheroy  
       15 天前
    gopls: Enabling the setting go.autocompleteUnimportedPackages used to provide completions for unimported packages.
    levelworm
        71
    levelworm  
       15 天前 via Android
    @lepig #8
    我感觉写自己的 C/C++还是他最舒服。
    dragondove
        72
    dragondove  
       15 天前
    @jheroy 这个选项是默认启用的,我也试过手动启用了,还是不能这样补全,你可以试试
    songray
        73
    songray  
       15 天前
    @dragondove 因为这个设置不能搭配 language server 使用,具体的表述是:
    Include unimported packages in auto-complete suggestions. Not applicable when using the language server.
    tedzhou1221
        74
    tedzhou1221  
       15 天前
    如果不是 cursor 我是不会用 vsc 这东西的。JB 省心省力。只是不省内存
    RedisMasterNode
        75
    RedisMasterNode  
       15 天前
    @kdwnil 要手输包名也太蠢了...只记得方法名关键词看来是不配用 vscode 了
    Mr54
        76
    Mr54  
       15 天前
    vscode 很多功能都是缺失的,写前端也是要安装很多插件
    SummerAgain
        77
    SummerAgain  
       15 天前
    我也是 goland 的深度用户,但是也切换到 vscode 了,不过装了主题和快捷键映射等插件, 写在已经可以对 goland 脱敏了,代码补充的问题基本没遇到,go 的插件本身就能补充提示了,在装了通义灵码增强了一下,主要一个全免费,goland 里面有的功能 vscode 基本都有
    pinecone1
        78
    pinecone1  
       15 天前
    @proxytoworld 好用就完事了,我管它是哪个 app
    jheroy
        79
    jheroy  
       15 天前
    @dragondove #72 我试了一下,vscode 里面, 如果实现没有 import 的包补全要在前面加包名(包名可以补全会自动 import 包), 如果已经 import 就可以直接补全函数而不需要包名。 估计是怕项目太大要整个项目查询比较耗时。
    kiwi95
        80
    kiwi95  
       15 天前
    架不住 vscode 免费,插件多,重启速度快,远程开发流畅,goland 到 wsl 都卡的不行,这么多年都搞不好
    zzhirong
        81
    zzhirong  
       15 天前   ❤️ 1
    我倒是感觉这样做挺好的?不然,项目小的话还好说,项目大的话,写个通用方法比如 New 那不得卡半天。
    jorneyr
        82
    jorneyr  
       15 天前
    你不能只有在吹 vscode 的时候才说它完全能平替 goland ,一遇到问题(尤其是补全这么基础直接影响体验的地方)就直接切割是 gopls 的锅:不意外,新能源汽车也是这种宣传风格,宣传时智能驾驶很牛逼,出问题后我们的只是辅助驾驶没那么牛逼。
    chrosing
        83
    chrosing  
       15 天前
    我也看见过很多说这个好那个好的 真正体验下来 适合自己的就行了 这个世界太多“诱惑”了 把握自己就行了
    magggia
        84
    magggia  
       15 天前
    "一个项目复杂起来,那么多目录那么多包谁能清楚记得要用的东西在哪个包啊"
    额,函数名都能想起来个关键字,用哪个包的想不起来吗?打个 ut 就能提示了吧,不然项目复杂起来类似函数名会很多,更不好区分了
    iseki
        85
    iseki  
       15 天前
    @songray 这种设置不能搭配 LSP 那它存在的意义是什么呢
    zogwosh
        86
    zogwosh  
       15 天前
    vscode 的语言服务器只有 ts 好用。
    niubiman
        87
    niubiman  
       15 天前
    @zogwosh c#写后端用起来也还不错, 能有 vs 的八九成
    kuanat
        88
    kuanat  
       15 天前
    @kuanat #68

    vscode 不行哈哈,原因就是 #73 说的。
    1103409364
        89
    1103409364  
       15 天前
    写 rust 感觉还可以
    qloog
        90
    qloog  
       15 天前
    以前也是用 goland, 更新到新版本后需要收费了,懒得折腾,现在基本是 vscode+ github copilot , 用起来很爽,开发 go, php, python, nodejs 都很方便,安装对应的 plugin 就可以了。
    davidqw
        91
    davidqw  
       15 天前
    VS Code 直接用 copilot 不好吗?免费代码补全,最近支持大模型 API 接入了
    Joker520
        92
    Joker520  
       14 天前
    vscode 就是个编辑器,为啥老有人拿它跟 ide 比
    iyaozhen
        93
    iyaozhen  
       14 天前
    @tedzhou1221 gopls 大项目更耗内存,128GB 都不够用
    PTLin
        94
    PTLin  
       14 天前
    楼主的这个问题不就单单只是 gopls 的问题吗。
    为什么还有人说什么 vsc 就是个“editor”,不是 ide 。
    25 年了,真的还有人认为 ide 就应该是 ide 的样子,editor 就是 editor 的样子吗,还有人认为 vsc 不是所谓的“ide”吗。
    linanwy
        95
    linanwy  
       14 天前
    客观的来说,vscode 写 go 确实补全很差,其他大大小小的 bug 也多。但是 goland/idea 自己也有大大小小的问题,比如内存占用太高等。只是有的忍得了,有的忍不了,而忍得了和忍不了的又因人而异罢了
    nickyadance23
        96
    nickyadance23  
       13 天前
    @Xinu #69 我就一直没搞懂 vscode 里怎么跟到三方库的代码,golang 里对着函数名一路点就行
    jrqlxue
        97
    jrqlxue  
       7 天前
    1. 我自己常用的包,不在这个项目里,写函数名的一部分时大部分时候都能搜到,然后自动给 import ,当然更包括基础包了
    2. 项目内新写的包没仔细试过,不过也可能习惯项目内用包名,然后根据提示选函数
    3. 最近 vscode 特别卡,经常写代码刚写一个字符,然后卡死好久,或者卡顿出来首字母提示,之前的时候很丝滑,开 AI 辅助也没这么卡过
    4. 之前用 goland ,切到 vscode 的时候总主观感觉没 goland 好用,大概
    a. 变量提示、搜索和跳转的时候 goland 更完整?
    b. git 提交的时候,goland 功能更丰富,比如可以筛选提交修改的一部分行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5404 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:25 · PVG 14:25 · LAX 23:25 · JFK 02:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.