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

[请教] Java 开发过渡到 VSCode 的障碍

  •  
  •   fox0001 · 2023-06-10 14:51:38 +08:00 via Android · 6637 次点击
    这是一个创建于 565 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们主要是 Java 开发。最近公司迁移开发工具,统一用上 VSCode 。使用上,渐渐适应起来了,但是有一点还是很难适应。

    以前用 Eclipse 、IntelliJ IDEA ,针对文件的操作,包括查看属性、查看引用、版本操作( SVN 或 git )等等,都是在同一个文件树进行操作。VSCode 却不行,针对 N 种操作有 N 课树,包括项目文件夹、Java 项目、版本管理等等。操作起来需要切换来切换去。

    疑问:

    1. 是否有插件满足需求?起码在同一棵文件树,可以查看文件属性、版本状态(新增、修改、冲突、未更新等)、进行版本管理(提交、更新、强制回滚等)、对比历史版本等。
    2. 或者说,是不是我的开发思维需要更新,需要更新到 VSCode 的方式?
    55 条回复    2023-06-12 12:21:14 +08:00
    MeteorCat
        1
    MeteorCat  
       2023-06-10 14:53:58 +08:00 via Android
    这不是自己找罪受吗?
    Pitttttt
        2
    Pitttttt  
       2023-06-10 14:59:47 +08:00
    这。不用 idea 能理解毕竟收费,用 eclipse 也行啊,为啥要用 vscode
    kid1412621
        3
    kid1412621  
       2023-06-10 15:06:13 +08:00   ❤️ 1
    建议自己玩 6 vim/neovim ,然后给拍脑袋的 leader 说往这上面迁
    btw 不知道 gitlens 能否满足你的要求
    fox0001
        4
    fox0001  
    OP
       2023-06-10 15:12:42 +08:00 via Android
    @Pitttttt #2
    1. 不知道为什么,最近 Eclipse 卡了,敲代码慢半拍的那种卡。
    2. 免费的 VSCode ,有太多唱好的声音,肯定想试试。很多操作都比 Eclipse 流畅。
    3. VSCode 插件太丰富,就跟当年 Eclipse 一样。
    4. 想一个 VSCode 满足项目开发。目前,前后端和数据库,都有对应插件。
    5. 实在不行,就退回去,也不是不能用…
    yazinnnn
        5
    yazinnnn  
       2023-06-10 15:12:48 +08:00
    联合同事向你们技术主管抗议
    cs419
        6
    cs419  
       2023-06-10 15:20:27 +08:00   ❤️ 1
    为啥不用 IDEA 社区版
    anzerwall
        7
    anzerwall  
       2023-06-10 15:21:54 +08:00
    java 和 c 建议不要用 vscode 找罪受 前端和其他语言可以用 vscode 挺好的
    fox0001
        8
    fox0001  
    OP
       2023-06-10 15:32:48 +08:00
    @anzerwall #7 其实用了一段时间,觉得还行。你那边,使用上,有哪些不适应?或者觉得不好用的地方?
    fox0001
        9
    fox0001  
    OP
       2023-06-10 15:36:14 +08:00
    @cs419 #6 IntelliJ IDEA 社区版,针对 Java 开发,是可以的。但是要做其它开发,又得切换别的工具或 IDE 。当然,大家都懂,针对性的工具肯定是最好的。上面的想法是,统一使用 VSCode ,减少学习成本。
    fox0001
        10
    fox0001  
    OP
       2023-06-10 15:42:44 +08:00
    @kid1412621 #3 VIM 的话,我个人觉得是快捷键做得好,熟悉后能提高编辑文本 /代码文件的效率,而且可以脱离鼠标。一些属性图形界面 IDE 的同事,可能不好切过去。你是觉得有哪些其它的优点,值得推荐?
    fox0001
        11
    fox0001  
    OP
       2023-06-10 15:43:47 +08:00
    @kid1412621 #3 刚才回复有误:
    一些属性图形界面 IDE 的同事 --改为-> 一些熟悉图形界面 IDE 的同事
    Alias4ck
        12
    Alias4ck  
       2023-06-10 15:57:36 +08:00
    @anzerwall c 用 vscode 挺好用的吧
    xmt328
        13
    xmt328  
       2023-06-10 15:57:49 +08:00
    有没有可能 IDEA 和 Eclipse 就是比 VSCode 在 java 开发上更好用
    fox0001
        14
    fox0001  
    OP
       2023-06-10 16:41:15 +08:00
    @xmt328 #13 我个人从习惯上来说,是。
    yazinnnn
        15
    yazinnnn  
       2023-06-10 16:43:06 +08:00
    好蠢的领导, 建议越级报告一下
    Hurriance
        16
    Hurriance  
       2023-06-10 16:53:38 +08:00
    很奇怪,为啥会需要统一 IDE ,难道不是只需要代码本身吗,如果是涉及静态代码检查,也应该可以集成到 CI/CD 的过程,实在想不出需要统一 IDE 的目的。

    在前司,有些老同事还是用的 Eclipse ,也有用 IDEA 的,至少在我们的开发过程中并未感到明显的冲突。
    fox0001
        17
    fox0001  
    OP
       2023-06-10 17:01:30 +08:00
    @Hurriance #16 开发团队不大,工作内容是全栈。不是每个同事都积极尝试新事物,而且每个人适应新事物的速度也不同。使用一个通用 IDE ,能避免接到新工作才去学习,一定程度上降低学习成本。目的,更多的是强迫团队去学习。大概是这样吧。
    XiLingHost
        18
    XiLingHost  
       2023-06-10 17:16:47 +08:00   ❤️ 1
    我的建议是,不要强迫团队成员使用某种特定的 IDE
    考虑把
    .vscode
    .idea
    .project
    这些 IDE 特定的东西都加入.gitignore 里,然后团队成员各自用自己喜欢的 IDE 配置
    harrozze
        19
    harrozze  
       2023-06-10 17:18:11 +08:00   ❤️ 1
    @kid1412621 #3 这是要坑全队? vim/neovim 的普及程度还没那么高吧,学习门槛还是挺陡的
    cheng6563
        20
    cheng6563  
       2023-06-10 17:22:47 +08:00
    何苦呢,vscode 现在就是不如 eclipse ,更不如 idea 社区版了。idea 社区版装个 spring boot 提示插件照样用。
    Jirajine
        21
    Jirajine  
       2023-06-10 17:30:11 +08:00   ❤️ 2
    这确实是 vscode 对插件在 UI 扩展上面的规范,所以还是要用户适应新的使用习惯。
    上次尝试 vscode 开发 Java 项目最大的问题是性能,Java 插件好像用的 eclipse 一样的后端,莫名的卡,虽然 UI 不卡顿但很多功能相应都很慢,不知道现在如何了。
    @anzerwall cpp 要看具体项目,但 c 的话装个 clangd 简直不要太爽。
    RRRSSS
        22
    RRRSSS  
       2023-06-10 18:02:26 +08:00
    IDEA CE 啊
    neochen13
        23
    neochen13  
       2023-06-10 18:03:17 +08:00
    @cheng6563 #20 老哥方便说一下插件名吗?
    fox0001
        24
    fox0001  
    OP
       2023-06-10 18:30:25 +08:00
    @Jirajine #21 终于蹲到一个认真的回复。感谢老哥!

    卡顿的话,打开 VSCode 时,插件读取检测 Java 项目,这个会卡个十几秒吧。然后查找文件、跳转文件等,都没卡顿的感觉。

    另外,UI 扩展的规范,有没有官方文档?方便向上汇报。或者我去找找……
    Jirajine
        25
    Jirajine  
       2023-06-10 18:52:47 +08:00
    @fox0001 我记得上次用的时候,随便点个 go to definition ,UI 上显示了个等待的进度条,两三秒后端才相应。
    限制主要是为了让扩展不影响 UI 的响应、扩展只能在 UI 上添加允许添加的组件,确保一致性和避免相互冲突。
    具体能添加哪些看 API 文档,这里有段简短的介绍 https://code.visualstudio.com/api/extension-capabilities/overview#restrictions
    liuhuansir
        26
    liuhuansir  
       2023-06-10 19:19:39 +08:00
    @Jirajine 我最近就切到 vscode 了,目前的版本没感觉代码跳转会卡几秒,速度跟 idea 差不多,不过 idea 开发 Java 贴心的小功能,vscode 肯定就不能指望了
    wangxiaoaer
        27
    wangxiaoaer  
       2023-06-10 19:28:02 +08:00 via iPhone
    @fox0001 上面是沙雕,不同场景用不同的工具不是很正常,按照上面的思路,下一步是不是统一开发语言,前、后、脚本都用一样的?
    shalk
        28
    shalk  
       2023-06-10 19:38:31 +08:00
    这不是相当于计算器换算盘?
    zxCoder
        29
    zxCoder  
       2023-06-10 19:47:13 +08:00   ❤️ 1
    vscode 你把他当作一个编辑器和前端 IDE
    silentsky
        30
    silentsky  
       2023-06-10 19:57:13 +08:00 via Android
    脑残的决定吧,之前我也考虑从 eclipse 迁移到 vscode ,结果卡死,接近 100 个工程只有 eclipse 能 hold 住
    cnzjl
        31
    cnzjl  
       2023-06-10 22:12:00 +08:00
    我今天也试了下 vscode ,有个项目是 kotlin+java 混合开发的,kotlin 的代码也在 src/main/java 下,idea 用着没撒问题,vscode 死活没法导包(无法识别
    roundgis
        32
    roundgis  
       2023-06-10 22:33:48 +08:00 via Android
    統一 ide 的想法很奇怪
    potatowish
        33
    potatowish  
       2023-06-10 22:34:35 +08:00 via iPhone
    这用什么 IDE 公司也要管吗???,保持代码风格一致即可,你们这公司管理层多半是脑子有包
    wyssurvivor
        34
    wyssurvivor  
       2023-06-10 22:36:54 +08:00
    我就是从 idea 转到了 vscode 。我倒没碰到你这些问题,因为我日常只用这些工具来编辑代码,代码中快速跳转,其他的基本都是命令行。
    工具应该选择自己趁手的,不觉得全公司统一迁移是必要的,无非就是在.gitignore 里多加几行。
    ppcoin
        35
    ppcoin  
       2023-06-10 22:51:24 +08:00
    这边建议您离职 :doge:
    fpure
        36
    fpure  
       2023-06-10 23:00:44 +08:00
    @kid1412621 人家 vscode 都玩不溜你家让人玩 vim ???真不知道该怎么说你们这些 vim 魔怔人
    fpure
        37
    fpure  
       2023-06-10 23:02:59 +08:00
    我现在就是在用 vscode 写代码,感觉除了分析大项目会有性能问题之外别的感觉都还不错
    PerFectTime
        38
    PerFectTime  
       2023-06-11 01:04:00 +08:00
    什么 xx 公司限制干活的工具
    YuTengjing
        39
    YuTengjing  
       2023-06-11 01:06:29 +08:00
    gitlens
    humpy
        40
    humpy  
       2023-06-11 01:20:18 +08:00 via iPhone
    真是没事找事。我用了七年 idea ,要让我换 vscode ,我是不想干了
    chor02
        41
    chor02  
       2023-06-11 06:23:27 +08:00
    我就是重其他 ide 到 vscode ,还不错吧,多个编辑器使用的话各种快捷指令太乱,宁愿 all in one
    RuLaiFo
        42
    RuLaiFo  
       2023-06-11 08:21:39 +08:00
    java 开发用 vscode ,确实想不通,公司会差那一点订阅的钱吗😂。
    byte10
        43
    byte10  
       2023-06-11 09:02:25 +08:00   ❤️ 2
    其实楼主也说明了原因情况,但是很多人 固执不听。。。

    楼主回答:开发团队不大,工作内容是全栈。不是每个同事都积极尝试新事物,而且每个人适应新事物的速度也不同。使用一个通用 IDE ,能避免接到新工作才去学习,一定程度上降低学习成本。目的,更多的是强迫团队去学习。大概是这样吧。

    这理由不是完全没道理的。我就是因为全栈开发而迁移到 vscode 上的,我从 21 年就开始用 vscode 的,前后端开发体验一致,快捷键也差不多。而 vscode 的远程开发优越性,有一些场景下真的绝了。比如一个 docker 就能把环境搭建起来了,所有的研发人员 都在局域网上直接连接到一台洋垃圾主机上 64 核,给 20 个前后端 同时开发都没问题吧。客户端给你随便一个 n100 小主机,随便造。你回家后随便一个 vpn 回公司,打开 vscode 就可以直接调试处理问题。

    当然这强制使用 vscode 当然是不太友好,我以前的定的方案是:建议大家使用 idea ,你不可以不使用 idea ,那么出现的配置问题,环境问题,自行解决。统一开发 IDE 其实就是为了避免开发中遇到的一些配置问题能够快速解决。比如我之前用的是 vscode ,但是我跟别人讨论问题,我还是会用 idea 打开跟他们讨论,也是为了大家更好的阅读和理解。

    vscode 跟 idea 是没法比的,不管是功能性和流畅度(我感觉有点卡,也可能是远程的原因)、开发效率体验上都是 idea 强。不过 vscode 满足日常开发是没问题的,要不是因为前端也在 vscode 上开发,我也未必会迁移过来。

    关于文件树的话,我是建议用项目文件夹,忽略 java 项目树就好了。git 的话没啥问题啊,idea 也是不同的界面管理 git 分支的,而且 vscode 的 git 插件比 idea 更直观一些,功能基本没太大差别。
    kid1412621
        44
    kid1412621  
       2023-06-11 10:00:34 +08:00
    @fox0001 #10 ideavim/vscodevim
    @harrozze #19 打引号 @fpure #36 引号
    vm97
        45
    vm97  
       2023-06-11 10:03:04 +08:00
    80 万行+ Java 项目 目前用 vscode, 只有一点无法解决:dot 连接目录包无法识别,其他 ok
    lguan
        46
    lguan  
       2023-06-11 10:45:48 +08:00
    换领导!
    Chieh
        47
    Chieh  
       2023-06-11 12:11:53 +08:00
    Jetbrain 的 git 图形客户端相当好用,vsc 的最难用
    RRRoger
        48
    RRRoger  
       2023-06-11 12:15:54 +08:00
    vscode 写 java 真就算了
    xyjincan
        49
    xyjincan  
       2023-06-12 09:16:28 +08:00
    vscode 有个 "源代码管理" 看当前本地修改全部信息挺好的呀
    Masoud2023
        50
    Masoud2023  
       2023-06-12 09:44:17 +08:00
    第一次听说还有公司强制使用开发工具的
    biubiuGolang
        51
    biubiuGolang  
       2023-06-12 09:56:08 +08:00
    @Hurriance 在做客户端插件的时候 要做不同客户端的 就要命..
    hellodudu86
        52
    hellodudu86  
       2023-06-12 11:55:16 +08:00
    vscode 安装 git graph 、git history 、gitlens 三个插件,你的需求都能在 source control 这个页签下的到满足。
    siweipancc
        53
    siweipancc  
       2023-06-12 12:03:19 +08:00 via iPhone
    什么时候换记事本,
    真是,开发效率不够低
    ciki
        54
    ciki  
       2023-06-12 12:20:58 +08:00
    @fox0001 IDE 和编辑器还是有区别的,光一个代码调整 VSCode 就没法满足
    ciki
        55
    ciki  
       2023-06-12 12:21:14 +08:00
    @ciki 跳转
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4068 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 05:26 · PVG 13:26 · LAX 21:26 · JFK 00:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.