编辑器
从IDE的角度来说,Zed还有很长的发展路径。在使用过程中,我发现作为一个IDE,它还缺失了很多功能,比如Git相关的操作(能展示状态)、数据库查看管理等。不过,如果将Zed作为一个轻量级的编辑器来替代Sublime,它绝对是完胜的。与Vscode相比,Zed确实快了很多很多,没有基于Electron构建这点就自带速度属性了。
作为一个普通编辑器,Zed该有的功能基本都具备。但是在配置方面,它比Vscode更原始,很多配置在Vscode中至少可以通过界面进行,而Zed的配置只能通过JSON文件来完成。
特色AI功能
就是冲着这个AI功能体验的Zed,核心思想是在对话界面把上下文都丢给AI
AI回答之后在文件需要修改的地方直接让AI应用刚刚对话里的方案
白送的Claude
本来这可以作为Zed的一个加分项,但实际体验下来,发现很容易触发rpm限制。一旦达到限制,Zed送的Claude就报错没法继续用了。不过还好,我们可以使用下面的方法来解决这个问题。
使用Copilot
没错,我们可以直接使用Copilot提供的4o作为聊天工具,它同样具有输入补全的能力。这样既不会浪费之前为Copilot付费的钱,还能获得不错的体验。
配置Deepseek
Zed非常适合Deepseek,Zed AI的理念会使用大量的token(很多文件作为上下文),并且在AI应用到文件的时候,会把问答里的内容当做上下文全部带上,Deepseek刚好能够完美hit cache,但需要使用Cloudflare Worker把openai的model转成deepseek coder。以下是转发的示例代码(给个例子,这是我很多转发中的一个):
export default { async fetch(request, env, ctx) { const url = new URL(request.url); let pathArray = url.pathname.split("/ds-beta"); if (pathArray.length <= 1) { return new Response('Bad request: Missing `redirectUrl` query param', { status: 400 }); } // 克隆原始请求 let originalRequest = request.clone(); // 读取并打印原始请求体 let originalBody = await originalRequest.json(); console.log("Original request body:", JSON.stringify(originalBody, null, 2)); // 修改 body let modifiedBody = { ...originalBody, model: "deepseek-coder" }; // 创建新的 headers, 复制所有原始 headers let newHeaders = new Headers(originalRequest.headers); // 更新 Content-Type header newHeaders.set('Content-Type', 'application/json'); // 创建新的请求,包含修改后的 body 和所有原始 headers let newRequest = new Request(originalRequest, { body: JSON.stringify(modifiedBody), headers: newHeaders, method: originalRequest.method, }); // 打印修改后的请求体 console.log("Modified request body:", JSON.stringify(modifiedBody, null, 2)); console.log("send request to deepseek"); // 使用修改后的请求发送子请求 let res = await fetch("https://api.deepseek.com/beta" + pathArray[1], newRequest); console.log("receive response from deepseek", res.statusText); return res; }, };
感受
换用了一个简单的IDE后,在编写简单项目的时候,感觉更加专注了(可能这就是为什么那么多人喜欢使用Vim的原因吧)。它带来了一种编写代码的快感(??)。
Zed支持Vim模式、多光标编辑、代码跳转,可以使用Copilot,AI功能在某些情况下非常给力。通过JSON配置task后,使用起来非常便捷。它确实非常非常快,并且支持大多数常用的编程语言。
不过,Zed的Git管理需要通过命令行进行,没有直观的图形化配置界面,它的插件支持也非常有限。
0 条评论