V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cocong
V2EX  ›  程序员

项目太大,经常花费时间去找代码文件,有什么好的解决方法?

  •  
  •   cocong ·
    hzh-cocong · 2022-10-28 09:31:25 +08:00 · 2632 次点击
    这是一个创建于 792 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,以前我是搞 PHP 的,没有编译一说,面对大量文件,我使用 VSCode Workspace ,每个功能保存为一个 Workspace ,不用的时候可以直接关掉窗口,下次要用就点击一下保存的 Workspace 文件,会立刻恢复上一次的工作状态(包括光标位置)。这很舒服,文件再多也不怕,毕竟每个功能所涉及的文件不多。

    现在搞 JAVA ,用的是 IDEA ,运行 SpringBoot 需要编译,好处是可以 Debug ,加上热加载,也可以做到修改不重启就生效。但是负责的功能多了,打开的文件越来越多,就很乱,就想着能不能像 VSCode 那样工作。

    貌似 IDEA 没有 Workspace 插件,那就试试 VSCode ,目前我已经可以完全使用 VSCode 进行 JAVA 开发,所以可以用上 VSCode 的 Workspace 功能。但是因为 SpringBoot 需要编译运行,所以就算同时开启多个窗口,也只有一个能 Debug ,而且窗口关闭后程序也就停止运行了。

    唯一的解决方法是使用 MVN 命令在其它地方运行,然后用 VSCode 编辑代码,这么做 Debug 肯定是不行了,但对我来说这个问题不大,最大的问题是热加载也没了,没了热加载,那每次修改都要重启,要知道那么大的项目,重启好几十秒太浪费时间了。

    不知道 MVN 有什么办法支持热加载,就想 PHP 那样,修改文件保存就生效,那就真的可以抛弃 IDEA 了。

    13 条回复    2022-10-29 14:49:03 +08:00
    cocong
        1
    cocong  
    OP
       2022-10-28 09:35:01 +08:00
    突然想到这是测试方式不对,正确的做法应该是编写测试用例,这样就和 PHP 差不多了,不过国内的环境大家知道,哪有人写测试用例,引入这些测试依赖怕是会有人反抗。
    documentzhangx66
        2
    documentzhangx66  
       2022-10-28 09:38:45 +08:00   ❤️ 2
    这个问题其实不要怪 IDE ,给你一个建议,你可以试试:

    1.闲鱼买 GTX 750 TI ,这是能有 4 个显示输出的最便宜显卡。买 2 块。

    2.至少 2 个显示器输出,有 2 个 PCI-E 16x 显卡插槽的 ATX 大主板。

    到此为止,一共有 10 个显示输出。

    然后买配套的:

    3.上下双屏显示器支架,买 5 个。

    4.支持壁挂的 21.5 寸 1080p 显示器,买 10 个。注意一下显卡接口,尽量选 VGA + HDMI 的。

    5.相关的视频连接线、转接头。

    6.至少 6 代 i7 处理器。

    7.至少 64G 内存。

    然后你再试试看,,窗口乱不乱。
    fengpan567
        3
    fengpan567  
       2022-10-28 09:39:06 +08:00
    idea 自带的 favorites 里有 bookmark 功能
    lyxeno
        4
    lyxeno  
       2022-10-28 09:40:46 +08:00
    intellij 切换分支时也会恢复到目标分支的工作状态(打开的文件等)

    听你的需求,似乎一个功能开一个分支非常适合你
    需要修改不同的功能时就切换不同的分支?
    Rache1
        5
    Rache1  
       2022-10-28 09:43:57 +08:00
    用 Toolbox 安装 IDEA ,然后用 Toolbox 的 Projects 去打开之前的项目也行呐,还可以收藏,而且 IDEA 默认就是保存上次状态的吧
    tool2d
        6
    tool2d  
       2022-10-28 10:19:56 +08:00
    同一套大代码库,我一般都是建立很多个小工程,这样测试和编写专项代码都很快。
    itskingname
        7
    itskingname  
       2022-10-28 10:25:35 +08:00
    也可以试一试

    Shift + Commond + F 关键词搜索
    Shift + Command + O 文件名搜索
    cslive
        8
    cslive  
       2022-10-28 11:00:30 +08:00
    双击 Shirft 键
    tedzhou1221
        9
    tedzhou1221  
       2022-10-28 14:01:14 +08:00
    热加载可以用 jrebel ,vscode 有插件。

    还有就是引入测试依赖很正常,没人反抗,我想不到反抗的理由(就算你不写测试用例)
    bthulu
        10
    bthulu  
       2022-10-28 15:18:54 +08:00
    看你说了这么多, 无非就是想在 cmd 里运行 spring 的时候支持热重载.
    建议你看一下下面这俩
    https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto.hotswapping, spring.devtools.restart.additional-paths
    https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#application-properties.devtools.spring.devtools.restart.additional-paths
    fy
        11
    fy  
       2022-10-29 12:02:57 +08:00 via Android
    记文件名,vsc 是 ctrl p 查找切换
    idea 是敲两下 shift
    honkew
        12
    honkew  
       2022-10-29 14:22:09 +08:00
    @documentzhangx66 眼睛看得过来吗
    documentzhangx66
        13
    documentzhangx66  
       2022-10-29 14:49:03 +08:00
    @honkew 习惯就好了,而且很方便。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1176 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:20 · PVG 02:20 · LAX 10:20 · JFK 13:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.