ThisDay

有用 vscode 写 Java 的么?我怎么一上来就遇到一堆问题。

  •  
  •   ThisDay ·
    JustLookAtNow · Aug 29, 2024 · 10656 views
    This topic created in 798 days ago, the information mentioned may be changed or developed.

    项目背景 jdk 1.8 + maven + springboot

    1.运行前编译这个是全自动的吗?为啥有时候改了代码生效,有时候没反应。另外在执行 mvn clean 后压根不知道重新编译直接运行会报错主类不存在。

    2.我的 maven 有多个 profile ,运行前编译如何指定配置?就是 mvn -P 选项

    3.我现在每次运行前都会显示 Build failed, do you want to continue ,找了一圈也没找到具体的错误在哪。

    4.另外我是一个多模块的 maven 项目,有些模块互相依赖,然后它编译的时候不知道去自动编译依赖么? The project cannot be built until its prerequisite iot-common-kafka is built. Cleaning and building all projects is recommended

    我现在的诉求很简单,就是点击一下运行按钮,该编译的编译然后把程序跑起来就行

    Supplement 1  ·  Aug 29, 2024
    现在最困惑的就是点击 run/debug 之前这个自动编译,找不到相关文档也找不到在哪控制这个行为,也不知道它底层是用的 javac 还是什么编译的
    52 replies  •  2024-09-06 00:47:50 +08:00
    kenberkeley
    kenberkeley
    Aug 29, 2024 via iPhone
    1
    想不折腾只能 Intellij
    selfi
    selfi
    Aug 29, 2024❤️1
    2
    我倒是没遇到啥坑,就是智能提示没有 IDEA 舒服
    Ayanokouji
    Ayanokouji
    Aug 29, 2024
    3
    这需求也不需要 ide 吧,直接 maven 命令运行就行吧。
    PS:实在不行,去下个 idea 社区版也行
    ThisDay
    ThisDay
    OP
    Aug 29, 2024
    4
    @Richardhtw @kenberkeley
    @Ayanokouji
    我就是 idea 用户,在 idea 上面右上角选中 mvn 配置然后直接点运行就都是好的,完全不需要手工 build 什么的。
    现在切换到 vscode 主要是想尝试下最近名声大噪的 cursor
    wetalk
    wetalk
    Aug 29, 2024❤️1
    5
    有啊,头铁
    proxytoworld
    proxytoworld
    Aug 29, 2024
    6
    @leeyuzhe cursor 写代码,idea 编译
    ThisDay
    ThisDay
    OP
    Aug 29, 2024
    7
    @proxytoworld 懂了,您是卖内存条的!
    wugp
    wugp
    Aug 29, 2024
    8
    配置一个启动脚本吧,先用 maven 编译,再用 java -jar 运行
    xtreme1
    xtreme1
    Aug 29, 2024
    9
    别折磨自己
    Kaiv2
    Kaiv2
    Aug 29, 2024
    10
    1. 使用 maven clean 后 可能不会触发 jdt.ls 自动 build, 需要手动 build 一下
    2. Maven 有个插件(如果你安装了 Extension Pack for Java 包含在里面),安装后在左下角有个 Maven 的菜单,点开里面有 Profiles 选择,如果你的命令复杂也可以添加自定义命令。
    3. 估计是你的项目依赖问题,试试 mvn compile 后再打开
    4. 同上
    paranoia
    paranoia
    Aug 29, 2024❤️4
    11
    由俭入奢易,由奢入俭难
    人生苦短我用 idea
    yuankui
    yuankui
    Aug 29, 2024
    12
    珍惜生命,Java 还是老老实实 IDEA 吧
    Navee
    Navee
    Aug 29, 2024
    13
    建议放弃转投 idea
    chendl111
    chendl111
    Aug 29, 2024
    14
    哪个最好用选哪个
    flmn
    flmn
    Aug 29, 2024
    15
    数次想切换,但都退回了 idea ,但是能看到 vscode 对 java 的支持越来越好了,让子弹再飞一会儿。
    lsk569937453
    lsk569937453
    Aug 29, 2024
    16
    用 vscode 写 java 强行增加难度,直接社区版 idea 写 java 即可。
    jalena
    jalena
    Aug 29, 2024
    17
    都 vscode 了,记事本更佳哟~
    Kaleidopink
    Kaleidopink
    Aug 29, 2024❤️1
    18
    我比你更绝,直接在 neovim 里面写 java (没办法, 电脑只有 8G 内存,根本带不动 IDEA )
    xiaozhu317
    xiaozhu317
    Aug 29, 2024
    19
    折磨自己
    KP45
    KP45
    Aug 29, 2024
    20
    你不会是没装插件吧,IDEA 这种没必要浪费时间,跑不起来就换,虽然我用 vscode 写 Java 好多年了
    mmdsun
    mmdsun
    Aug 29, 2024
    21
    没看懂啥意思 idea 多模块 也需要在 root 下 mvn install 一下吧。

    vs code ai copilot 比 idea 强,这是我用 vscode 的原因。
    byte10
    byte10
    Aug 29, 2024
    22
    ctrl + shitf + p ,然后 有一个 java: Rebuild Projects , 就可以构建了。
    dudubaba
    dudubaba
    Aug 29, 2024
    23
    用 vscode 写 java 就跟用 idea 写 js 一样,都是属于太闲了没事折腾型。
    Hozoy
    Hozoy
    Aug 29, 2024
    24
    @dudubaba #23 WebStorm 和 idea 差别不大吧,感觉就是默认插件的不同,前者写前端也挺好用的
    dragondove
    dragondove
    Aug 29, 2024
    25
    @dudubaba idea 写 js 挺好用的,全栈开发时使用同一种工具也更方便,即使对于 js ,idea 的补全,跳转搜索支持还是做的比 vsc 好
    CynicalRose
    CynicalRose
    Aug 29, 2024
    26
    发下插件,现在有微软插件组和红帽插件组两个方案, 都需要在 setting 里面配置 jdk 目录和 maven 的 config-settings.xml 路径。配置好重启,插件加载完毕,可以直接在 main 上 run 或 debug
    BreadBig
    BreadBig
    Aug 29, 2024 via iPhone
    27
    手菜折腾不下来,我目前就是 cursor 生成,idea 修改 debug🥲
    ThisDay
    ThisDay
    OP
    Aug 29, 2024
    28
    @Kaiv2

    1.手动 build 可以,,但是这样指定不了 mvn 中 profile 。。
    2. 你这个方式是可以的,但仅适用于用 maven 打包或者编译时生效,点击 run 或者 debug 直接跑程序时完全不起作用
    3.mvn compile 没问题,问题是 run 或者 debug 的自动 build 不行。

    @byte10
    用这个命令能显示出我所有的 mvn 模块,然后全选然后 build 就能成功,但是这样指定不了 mvn 中 profile


    @CynicalRose
    插件配置我没有进行自定义的 java home 以及 m2 配置,但目前看来都是对的,因为我可以手动 build 或者 mvn compile 后点击 run 运行。


    总之我只有手动在 maven 窗口那里选择 Profiles 之后点击 compile ,然后再点击 run/debug ,我的程序才能正常运行。
    ThisDay
    ThisDay
    OP
    Aug 29, 2024
    29
    @mmdsun 我这是多模块,但是在一个大的项目中,在 idea 中不需要提前 mvn install
    ThisDay
    ThisDay
    OP
    Aug 29, 2024
    30
    @BreadBig 此为上策
    siweipancc
    siweipancc
    Aug 29, 2024 via iPhone
    31
    vs 一堆人在这推广 java 新增功能,你看 idea 家有吗
    Antihank
    Antihank
    Aug 29, 2024
    32
    vscode 我只用来写代码和用 codeRunner 做 debug
    mvn 什么的全部都用命令行,编译发布都命令行,太长就写成 alias 或者 shell
    免费的东西肯定不如收费的来的舒服
    Antihank
    Antihank
    Aug 29, 2024
    33
    自动编译的话,我都是关掉,然后用 mvn clean compile
    "java.autobuild.enabled": false,
    "java.debug.settings.forceBuildBeforeLaunch": false,
    marcong95
    marcong95
    Aug 29, 2024
    34
    @proxytoworld 有一种我当年写 uniapp 的时候用 vscode 写 hbuilderx 编译的「美感」。。。。
    Kaiv2
    Kaiv2
    Aug 29, 2024❤️1
    35
    @leeyuzhe 跟 eclipse 类似如何选择 maven profile https://github.com/redhat-developer/vscode-java/issues/3213
    CatchXS
    CatchXS
    Aug 29, 2024
    36
    @leeyuzhe 有配置 jdk 路径么,vscode 需要指定 jdk 启动路径。
    txzh007
    txzh007
    Aug 29, 2024
    37
    cursor 和 codeium 比如何
    lnbiuc
    lnbiuc
    Aug 29, 2024
    38
    不要折磨自己
    achira
    achira
    Aug 29, 2024
    39
    头铁,真是别人说什么信什么啊
    IamUNICODE
    IamUNICODE
    Aug 29, 2024
    40
    不要折磨自己。。我用这个写 python 都头疼,不过 python 我也菜就是了
    ssxs727
    ssxs727
    Aug 29, 2024
    41
    我也试过,配置起来相对麻烦,还是 IDEA 好,开箱即用。

    我最近用 VS Code 写 Python ,连格式化代码都要装插件……要是写大项目的话估计还得是 PyCharm 。
    dlyxy
    dlyxy
    Aug 29, 2024
    42
    用 VSCode 写 Java 前,最好先明白怎么通过命令行编译和运行自己的项目。idea 已经把大家养的基础什么也不懂了,当然效率确实很高....
    ThisDay
    ThisDay
    OP
    Aug 30, 2024
    43
    @zoumouse 我当然知道怎么编译,但是这不是不想每次点击运行以前手动编译下么

    @Kaiv2 #35 这正是我需要的,goooooood job !
    longzhx
    longzhx
    Aug 30, 2024
    44
    你这些问题都很简单,只是你是第一次遇到而已。
    针对第一个第二个的问题,启动指定 profile 请在.vscode/launch.json 中 args 加上--spring.profiles.active=[profile 名称],运行前都会按照这个 profile 来编译,运行后有个运行条,最后的小闪电,修改代码后可以直接点击实现热加载(只限方法体内修改)
    针对第三第四遇到的问题,最简单的方法 F1 调出名称窗口,输入 JAVA:Clean 就弹出清理工作空间,确认后 vscode 会重新加载编译项目,都可以解决。

    个人还是喜欢 vscode ,内存占用没 idea 那么变态,方法修改热加载吊打 idea ,远程 linux 开发可以吊打 idea 。

    假如你喜欢界面配置,不喜欢文本配置来的直接,请直接下载 idea 和 idea 粉丝一起狂欢。
    ThisDay
    ThisDay
    OP
    Aug 30, 2024
    45
    @longzhx
    spring.profiles.active=[profile 名称]这个是 springboot 的配置,我说的是 mvn 配置,跟你这个一个是运行时配置一个是编译配置,不是一个东西。

    清理工作区对我无效,只能手动选择构建项目然后把所有模块打上对勾才行。
    longzhx
    longzhx
    Aug 30, 2024
    46
    @leeyuzhe 哈哈,Java 非 springboot 项目不要用 vscode
    wssy001
    wssy001
    Aug 30, 2024
    47
    Java 从业者表示 直接用 IDEA 吧,省时省心
    IDEA 内存占用大就是因为拿空间换的时间(时间往往和用户体验相关)
    我问过几个拿 VSCode 开发 Java 项目的,听得最多的就是,如果想要 VSCode 达到 IDEA 那种体验,你必须得裝好多个插件,内存也少不了吃很多。甚至还有人说,同样的开发体验,IDEA 如果吃 8GB VSCode 至少会吃 7GB
    higker
    higker
    Aug 30, 2024
    48
    https://github.com/microsoft/vscode-java-pack 把这个插件安装完成就可以写了,再使用 graalvm.org 这个版本 JDK ,很爽。
    inza9hi
    inza9hi
    Sep 1, 2024
    49
    @leeyuzhe 我能想到的办法:
    1. 修改 maven 默认的 profiles
    2. maven 插件里面有一个默认参数
    ThisDay
    ThisDay
    OP
    Sep 1, 2024
    50
    @inza9hi 解决了,楼上有人给了设置的地方
    https://github.com/redhat-developer/vscode-java/issues/3213
    这里的设置对运行前编译生效
    inza9hi
    inza9hi
    Sep 1, 2024
    51
    @leeyuzhe 你遇到不能 debug 的问题了吗? https://www.v2ex.com/t/1069305
    kophuai
    kophuai
    Sep 6, 2024
    52
    vscode 最大的问题是如何做到格式化代码和 idea 一个样的规则.. 否则团队内 idea,vscode 混用, 代码格式化一塌糊涂了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3063 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 128ms · UTC 04:33 · PVG 12:33 · LAX 20:33 · JFK 23:33
    ♥ Do have faith in what you're doing.