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

VSCode 在写 Golang 时,应该如何提高性能

  •  
  •   monetto · May 4, 2023 · 4737 views
    This topic created in 1279 days ago, the information mentioned may be changed or developed.

    如题,大型项目,千行万行文件中,性能能感觉明显不如 GoLand 。

    具体表现为,查找一个 Struct 定义,好几秒才能跳转。

    包名+方法名,Alt+Enter 自动导包,也要好久才能提示导入。

    加载就加载好久 ....

    有什么提高性能的方法吗 ...

    Mac i7 6 核 + 32G 内存。最新版本 VSCode + Go 插件

    16 replies  •  2023-05-05 19:15:37 +08:00
    standchan
    standchan
    May 4, 2023❤️5
    1
    换 goland
    Goat121
    Goat121
    May 4, 2023
    2
    VScode 就是正常的文件查找速度,你用其他方法也一样
    JB 系列是启动时把文件读入内存构建了查找树才显得快,这也是 JB 吃内存的主要原因之一
    别折腾了直接换吧
    rammiah
    rammiah
    May 4, 2023 via Android
    3
    我用的 m1 pro ,nvim + gopls 感觉速度还行啊,vscode 应该也是 gopls 吧
    northess
    northess
    May 4, 2023 via iPhone❤️1
    4
    大概没办法,i9 64G ,各种工具和配置都试过了,自动提示还是会卡卡的 ,用惯了 Goland 的丝滑换到的 VSCode 真的不习惯,后来又换回去了
    coefu
    coefu
    May 4, 2023
    5
    换 goland +1
    ysicing
    ysicing
    May 4, 2023
    6
    深有感触😂,拥有 m1 和英特尔的机子,m1 体验要好 100%不止,所以 m1 架构就用 vscode ,英特尔就用 goland 。

    搞不了,除非英特尔你不用 gopls😂
    qiaobeier
    qiaobeier
    May 4, 2023
    7
    m2 max 你值得拥有
    monetto
    monetto
    OP
    May 4, 2023
    8
    @standchan
    @Norths
    @coefuqin
    @ysicing

    真的 ... 能看出来的,都是 GoLand 用习惯了 ... 这俩对比,GoLand 大部分的功能都能暴打 VSCode 了 ...,属于是拿吃饭的东西跟社区用爱发电的比了...
    ysicing
    ysicing
    May 4, 2023
    9
    @monetto 不是啊,m1 上我基本用 Visual Studio Code 或者 VSCodium, 真的很流畅。但是英特尔上是真的不行,我的是 18 款顶配扛不住,只要一打开大项目就特别卡,cpu 满负荷,只能手动 kill gopls 进程了。有机会你可以对比👀就知道了
    loveumozart
    loveumozart
    May 4, 2023 via iPhone❤️1
    10
    我早找了好多帖子,确实没法提高,goland 其实够可以了,如果是 intel cpu ,goland 卡可能是 cpu 不行
    hzzhzzdogee
    hzzhzzdogee
    May 5, 2023❤️1
    11
    我也很支持 vscode, 可是真的还有一大段路需要追赶

    感觉目前除了 js 栈能打平, 其他都不如 jetbrains 系
    yzbythesea
    yzbythesea
    May 5, 2023 via iPhone
    12
    没办法 应该是 gopls 本身太垃圾。

    我的是 M1 ,但是一样大项目 gopls 就拉胯,vscode/vim 一样不行。goland 没有问题。大的云计算 go sdk ,直接补全关键词都刷不出来。

    我觉得 goland 可能用了类似 ctags 那种高性能解析。
    monetto
    monetto
    OP
    May 5, 2023
    13
    @ysicing 你这个很流畅是吃了大量的 CPU 代价呀,我们 Intel 的没这么多资源 ... 但是现在问题是,同等资源的情况下,GoLand 明显表现要比 VSCode 好很多... 比较内存比 CPU 便宜呀
    monetto
    monetto
    OP
    May 5, 2023❤️1
    14
    @yzbythesea 原先我写过一些 IDEA 插件,感觉 JetBrains 这方面做的比较成熟了,各种 PSMClass ,解析树什么的,大量缓存了全局的 Class ,有啥需要直接去 Map 里面查 ...,解析能力确实很强。而且 Original Class Life Cycle 管理的也很棒 ...
    monetto
    monetto
    OP
    May 5, 2023
    15
    @hzzhzzdogee +1 ,最近我在尝试写 Go 切换 VSCode ,然后,我近期准备将 Python 也迁移过去,但是发现 VSCode 的 Python 插件早就已经不支持 Py2.7 了,这点确实不如 IDEA ,然后,项目名字,和包名字,一样了(其实不太规范),但是 IDEA 就能很好的识别出来什么是 项目名,什么是包名,但是 VSCode 就无脑从项目目录导入 .... 搞的我把最外层的目录重新改成 XXX_Source 了...
    tsutomu
    tsutomu
    May 5, 2023❤️1
    16
    gopls 还有内存泄露的毛病,真没法解决
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4373 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 04:02 · PVG 12:02 · LAX 20:02 · JFK 23:02
    ♥ Do have faith in what you're doing.