告别IDEA!Zed轻量编辑器高效Java开发调试教程

2026-06-16阅读 0热度 0
ai

简介

这篇文章聚焦于从IDEA迁移到Zed的实际操作,包括配置、调试和注意事项。如果你想换个轻量级的编辑器来审核AI生成的代码,或者单纯觉得IDEA太重了,这里有些经验值得参考。

zed 界面

内存占用对比:

这是打开同一个项目代码但未进行run/debug时的内存及CPU占用对比。
(Zed进行run/debug的话额外加了500多MB的JDK进程占用)

文章目录

  • 简介
    • zed 界面
    • 内存占用对比:
  • 前言
    • 趋势
    • 性能和功能问题
    • 寻找轻量替代
    • 体验评价
  • 正文
    • 指定zed的ja va_home
    • 安装ja va lsp(语言支持服务)相关插件
    • 信任项目
    • debug配置
      • launch方式直接启动配置
      • ???? attach方式启动配置(推荐!!)
    • 查看lsp运行状态
    • debug
    • 设置自动保存
    • 补充:不同项目目录使用不同的jdk、ma ven
    • 已知问题:

前言

趋势

不得不说,随着AI原生开发的流行,IDEA多少有点跟不上了。很多AI开发插件要么只支持VSCode,要么在JetBrains上提供半成品。各大AI IDE基本都基于VSCode改造而来,JetBrains自己推出的AI智能体和组件,社区评价也是褒贬不一。

而Claude Code和OpenAI的Codex越来越火,手写代码的古法编程时代正在慢慢过去。新趋势很明显:代码开发越来越不依赖IDE,开发者的角色从手工敲击键盘编写大部分代码,逐渐转向把关AI编码结果的审核者。

性能和功能问题

IDEA在AI时代落后是一方面,对远程SSH开发的支持不佳、每个版本都在疯狂增加的内存占用是另一方面。很难想象,32GB内存的电脑打开IDEA 2026.1,居然能经常遇到UI冻结和点击卡顿。现在的IDEA已经是个不折不扣的内存毒瘤。

寻找轻量替代

既然如此,不如找找其他能阅读代码的轻量替代?VSCode本身是代码编辑器,但看看网上反馈:安装语言LSP和各种插件后,动不动就是几个G的内存占用,对代码审核来说还是太重了,这个方案也pass了。

同时了解到很多开发者转向使用AI轻量编辑器Zed(非基于VSCode架构)。它支持登录自己的ChatGPT官方订阅账号进行AI开发,无需向Zed额外付费(AI开发部分本文不展开)。虽然找的是轻量编辑器,但作为开发者,还是希望它支持代码跳转,免得每次查看调用实现都要全局文本搜索。如果还能支持项目启动甚至断点调试,那就更完美了。

巧了,Zed本身支持常见编程语言插件、LSP(语言支持服务)以及debug。对比了几款其他工具的优缺点和上手难度,最终决定用Zed作为审核AI交付代码的编辑器。

体验评价

经过试验,目前几乎可以完美解决审阅代码、降低内存占用和断点调试的需求。体验下来就三个字:超丝滑。

不过从IDEA迁移到Zed,确实有一些上手门槛。下面就把踩过坑后的使用教程分享给各位。

正文

指定zed的ja va_home

~AppDataRoamingZedsettings.json 中指定Zed的ja va_home,需要JDK 21以上(如果不设置到操作系统的环境变量的话)。

{ "lsp": {"jdtls": {"settings": {"ja va_home": "G:microsoft-jdk-21.0.11+10", }, },},}

安装ja va lsp(语言支持服务)相关插件

Ja va代码跳转、运行、debug等Ja va支持需要安装Zed的Ja va插件,同时还要安装jdtl(Eclipse维护的Ja va语言服务器),以及新版本jdtl正常启动需要的Python。如果没装Python,百度一下怎么安装(超简单,略)。

安装Ja va插件,安装完等待Zed自己下载jdtl(装好Ja va插件后左下角会提示下载jdtl中)。

PS:截图中第二个“Ja va with Eclipse JDTLS”会到GitHub下载jdtl,但GitHub会禁止非登录下载,所以不装这个插件。或者离线下载好jdtl的tar.gz(不区分系统)后解压,将jdtl的bin目录放入系统path,再到Zed扩展中安装Ja va插件(以免Zed自己去下载jdtl)。

jdtl包下载地址(此步最好具备良好访问国外网络的网络环境):
https://download.eclipse.org/jdtls/milestones/

操作系统中安装Python。不确定如果由Zed自动安装jdtl是否会同时装Python,但手动安装最新版jdtl后,jdtl.bat启动脚本里是需要调用Python的。没有Python的话,Zed中jdtl服务无法启动。然后再安装Ja va插件。

信任项目

首次打开的项目需要信任后,才能加载已安装的LSP服务、保存项目设置和使用MCP等。

点击左上角“Restricted Mode”,在弹出的框中点“Trust”。或者勾选设置,让Zed默认信任所有打开的新项目。

debug配置

在Ja va项目的项目目录下建立 .zed 文件夹,在其中新建 debug.json

launch方式直接启动配置

(debug看不到变量,但可以用日志断点看,暂不推荐这种启动方式)增加如下配置:

[{ "adapter": "Ja va", "request": "launch", "label": "Debug CySupportBpApp", "mainClass": "com.yunmai.CySupportBpApp", "cwd": "$ZED_WORKTREE_ROOT", "vmArgs": "-Dfile.encoding=UTF-8 ", },]

???? attach方式启动配置(推荐!!)

示例:

{ "adapter": "Ja va", "request": "attach", "label": "Attach Ja va 5005", "hostName": "127.0.0.1", "port": 5005, }

Ja va项目在PowerShell启动脚本如下:

& "G:/jdk-1.8/bin/ja va" `"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" `"-Dfile.encoding=UTF-8" `"-cp" `"target/classes;target/dependency/*" `"com.example.admin.Application" // 此处替换为Ja va项目主类全路径

Ma ven编译target:

mvn compile

首次编译及依赖改变后,还需执行:

mvn dependency:copy-dependencies

拷贝三方jar包到 target/dependency/,方便Ja va使用 target/classes 启动。后续代码和资源文件改变,若依赖项没有改变,只需使用 mvn compile 命令即可。

查看lsp运行状态

????安装Ja va插件和jdtl LSP后,重新打开的项目需要打开Ja va文件才会启动jdtl LSP。Zed中,LSP是按项目加载的。需要查看当前项目jdtl LSP状态为 running,才能进行Ja va语言支持及项目启动等。

点击左下角⚡标志查看LSP状态。starting 代表启动中,running 才是启动完毕。

debug

???? 启动了jdtl LSP才能run/debug启动Ja va项目。点击debug面板的“new session”或“+”号,然后选择配置 debug.json 启动项目。

设置自动保存

IDEA有一个特别的默认设置就是会自动保存,常年使用IDEA的开发者一般不会手动保存。Zed默认是关闭的,如果想保留这个体验,可以在设置中搜索“auto Sa ve”进行变更。

支持定时、焦点变更、窗口变更三种方式触发自动保存,选一种喜欢的即可。

补充:不同项目目录使用不同的jdk、ma ven

如果你的项目JDK不是Zed所需的JDK 21,或者不同项目有不同的JDK、Ma ven,请参考这篇文章:Windows和Linux如何在命令行下让不同目录使用不同的JDK、Ma ven及其他软件环境。

已知问题:

  • Launch启动无法查看debug时的变量,但断点可以停留,也支持日志断点(在断点上写日志表达式,把要看的变量打印出来)。Attach到Windows或WSL2启动的项目反而能看到变量,挺奇怪的。推测是Launch编译时的JDK版本不匹配项目,因为Zed要求必须JDK 21,但Launch方式启动时没法单独指定JDK;另外Windows下命令行的Ma ven编译时默认只能使用系统变量的JA VA_HOME,可能这里和项目所需JDK不一样,还可能是系统有多个Ma ven的情况等等。除此之外说不定是当前版本的Ja va插件、jdtl本身的问题,所以不推荐用Launch。

  • Zed自带的debug terminal(指debug界面的terminal,另一个独立terminal面板是可以设置的)没有查找快捷键可设置,目前暂未找到改动其编码的方法,默认使用GBK。两种解决方案:一是本地debug时配置输出到日志文件;二是用操作系统的terminal(也可以在Zed的独立terminal面板集成这个系统terminal)启动Ja va项目,Zed用attach方式启动。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策