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

2024-08-29 09:10:03 +08:00
 leeyuzhe

项目背景 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

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

8388 次点击
所在节点    Visual Studio Code
52 条回复
ssxs727
2024-08-29 18:47:59 +08:00
我也试过,配置起来相对麻烦,还是 IDEA 好,开箱即用。

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

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

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

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

清理工作区对我无效,只能手动选择构建项目然后把所有模块打上对勾才行。
longzhx
2024-08-30 11:52:21 +08:00
@leeyuzhe 哈哈,Java 非 springboot 项目不要用 vscode
wssy001
2024-08-30 23:05:50 +08:00
Java 从业者表示 直接用 IDEA 吧,省时省心
IDEA 内存占用大就是因为拿空间换的时间(时间往往和用户体验相关)
我问过几个拿 VSCode 开发 Java 项目的,听得最多的就是,如果想要 VSCode 达到 IDEA 那种体验,你必须得裝好多个插件,内存也少不了吃很多。甚至还有人说,同样的开发体验,IDEA 如果吃 8GB VSCode 至少会吃 7GB
higker
2024-08-30 23:24:43 +08:00
https://github.com/microsoft/vscode-java-pack 把这个插件安装完成就可以写了,再使用 graalvm.org 这个版本 JDK ,很爽。
inza9hi
2024-09-01 00:39:30 +08:00
@leeyuzhe 我能想到的办法:
1. 修改 maven 默认的 profiles
2. maven 插件里面有一个默认参数
leeyuzhe
2024-09-01 12:41:57 +08:00
@inza9hi 解决了,楼上有人给了设置的地方
https://github.com/redhat-developer/vscode-java/issues/3213
这里的设置对运行前编译生效
inza9hi
2024-09-01 17:58:28 +08:00
@leeyuzhe 你遇到不能 debug 的问题了吗? https://ex.noerr.eu.org/t/1069305
kophuai
2024-09-06 00:47:50 +08:00
vscode 最大的问题是如何做到格式化代码和 idea 一个样的规则.. 否则团队内 idea,vscode 混用, 代码格式化一塌糊涂了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1068607

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX