Zed 是什么
Zed 是一款用 Rust 编写的高性能代码编辑器,由 Atom 编辑器的原始创建者开发。它的核心卖点是速度——启动快、编辑快、搜索快,一切都快。在 AI 编程工具遍地开花的今天,Zed 走了一条不同的路:先把编辑器本身做到极致,再把 AI 作为锦上添花的功能集成进来。
如果你受够了 VS Code 的内存占用和偶尔的卡顿,Zed 值得一试。
性能优势
为什么 Zed 这么快
Zed 的性能优势来自几个方面:
| 方面 | Zed | VS Code / Cursor |
|---|---|---|
| 编写语言 | Rust | Electron (JavaScript) |
| 渲染引擎 | GPU 加速(自研) | Chromium |
| 内存占用 | 约 100-200MB | 约 500MB-1GB+ |
| 启动时间 | < 1 秒 | 2-5 秒 |
| 大文件处理 | 流畅 | 可能卡顿 |
| 搜索速度 | 极快(ripgrep 级别) | 快 |
实际体验
在日常使用中,Zed 的性能优势体现在:
- 打开大型项目(10 万+ 文件)几乎无延迟
- 全局搜索结果瞬间返回
- 多文件同时编辑不会卡顿
- 长时间使用内存不会持续增长
- 切换文件、跳转定义都是即时响应
对于经常需要在大型 monorepo 中工作的开发者,这个性能差异是实实在在的。
AI Assistant 功能
开启 AI 功能
Zed 内置了 AI Assistant,支持多种模型提供商:
// ~/.config/zed/settings.json
{
"assistant": {
"enabled": true,
"default_model": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514"
}
},
"language_models": {
"anthropic": {
"api_key": "your-api-key"
},
"openai": {
"api_key": "your-api-key"
}
}
}
支持的模型提供商
| 提供商 | 模型 | 说明 |
|---|---|---|
| Anthropic | Claude Sonnet/Opus | 推荐,代码质量高 |
| OpenAI | GPT-4o / o1 | 速度快 |
| Ollama | Llama / Mistral 等 | 本地运行,隐私友好 |
| Gemini | 长上下文支持好 |
AI Chat 面板
按 Cmd + ? 打开 AI Assistant 面板。这是一个对话式界面,你可以:
解释一下这段 Rust 代码的所有权转移逻辑:
fn process(data: Vec<u8>) -> Result<String, Error> {
let text = String::from_utf8(data)?;
Ok(text.trim().to_uppercase())
}
AI 会详细解释代码的每个部分,包括所有权如何从 data 转移到 text。
上下文引用
在 AI Chat 中,你可以引用文件和代码:
- 选中代码后打开 Chat,选中的代码会自动作为上下文
- 使用
/file命令引用特定文件 - 拖拽文件到 Chat 面板
Inline Editing
基本用法
Zed 的 Inline Editing 功能让你可以直接在编辑器中让 AI 修改代码:
- 选中需要修改的代码
- 按
Cmd + Enter打开 Inline Edit - 输入修改指令
- 查看 diff 并决定是否接受
# 选中这段代码
def calculate_total(items):
total = 0
for item in items:
total += item['price'] * item['quantity']
return total
# 输入指令:"添加折扣计算和税费"
# AI 会生成:
def calculate_total(items, discount_rate=0, tax_rate=0.1):
subtotal = sum(
item['price'] * item['quantity']
for item in items
)
discount = subtotal * discount_rate
subtotal_after_discount = subtotal - discount
tax = subtotal_after_discount * tax_rate
return subtotal_after_discount + tax
多行生成
在空行按 Cmd + Enter,可以让 AI 从头生成代码:
# 输入指令:"创建一个 Redis 缓存装饰器,支持 TTL 和自定义 key"
AI 会生成完整的实现:
import functools
import json
import redis
from typing import Callable, Optional
_redis_client = redis.Redis(host='localhost', port=6379, db=0)
def cached(
ttl: int = 300,
key_prefix: str = '',
key_func: Optional[Callable] = None
):
def decorator(func: Callable):
@functools.wraps(func)
async def wrapper(*args, **kwargs):
if key_func:
cache_key = f"{key_prefix}:{key_func(*args, **kwargs)}"
else:
cache_key = f"{key_prefix}:{func.__name__}:{hash((args, tuple(sorted(kwargs.items()))))}"
cached_result = _redis_client.get(cache_key)
if cached_result:
return json.loads(cached_result)
result = await func(*args, **kwargs)
_redis_client.setex(
cache_key,
ttl,
json.dumps(result)
)
return result
return wrapper
return decorator
模型配置详解
使用 Ollama 本地模型
如果你关注隐私或想节省 API 费用,可以配置 Ollama 本地模型:
# 安装 Ollama
brew install ollama
# 下载模型
ollama pull codellama:13b
ollama pull deepseek-coder:6.7b
在 Zed 中配置:
{
"language_models": {
"ollama": {
"api_url": "http://localhost:11434"
}
},
"assistant": {
"default_model": {
"provider": "ollama",
"model": "codellama:13b"
}
}
}
模型切换
在 AI Assistant 面板中,可以随时切换模型。不同任务使用不同模型是个好策略:
- 简单问答和补全:使用本地小模型(快速、免费)
- 复杂代码生成:使用 Claude Sonnet(质量高)
- 架构设计讨论:使用 Claude Opus(推理强)
协作功能
Zed 的另一个亮点是内置的实时协作功能。
实时协作编辑
Zed 支持类似 Google Docs 的实时协作:
- 创建一个 Channel
- 邀请团队成员
- 共享项目,实时看到彼此的编辑
- 内置语音通话
AI + 协作
协作模式下的 AI 功能特别有用:
- 团队成员可以共享 AI 对话上下文
- 一个人提问,所有人看到答案
- 结对编程时,AI 作为第三个参与者
# 协作场景示例
开发者 A:选中一段代码,问 AI "这里有性能问题吗?"
开发者 B:看到 AI 的回答,补充 "我们还需要考虑并发场景"
AI:综合两人的输入,给出更完整的优化方案
什么时候选择 Zed
Zed 适合你,如果
- 你重视编辑器性能,不能忍受卡顿
- 你在大型项目或 monorepo 中工作
- 你需要实时协作功能
- 你喜欢简洁、专注的编辑体验
- 你愿意使用自己的 API Key 调用 AI
- 你是 Vim 用户(Zed 的 Vim 模式很完善)
Zed 可能不适合你,如果
- 你依赖大量 VS Code 扩展
- 你需要丰富的 AI 编程功能(Cursor 更强)
- 你需要免费的 AI 额度
- 你的项目需要特定的 IDE 支持(如 Java 开发用 IntelliJ)
Zed vs VS Code vs Cursor
| 维度 | Zed | VS Code | Cursor |
|---|---|---|---|
| 性能 | 极快 | 中等 | 中等 |
| 扩展生态 | 发展中 | 最丰富 | 继承 VS Code |
| AI 功能 | 基础但够用 | 需要扩展 | 最强 |
| 协作 | 内置 | 需要 Live Share | 无 |
| 学习曲线 | 低 | 低 | 低 |
| 内存占用 | 低 | 高 | 高 |
| 价格 | 免费 | 免费 | 免费/付费 |
常用快捷键
| 快捷键 | 功能 |
|---|---|
Cmd + ? | 打开 AI Assistant |
Cmd + Enter | Inline AI Edit |
Cmd + P | 快速打开文件 |
Cmd + Shift + P | 命令面板 |
Cmd + T | 跳转到符号 |
Cmd + Shift + F | 全局搜索 |
Cmd + / | 切换注释 |
Cmd + D | 选择下一个匹配 |
Cmd + Shift + L | 选择所有匹配 |
配置推荐
{
"theme": "One Dark",
"buffer_font_family": "JetBrains Mono",
"buffer_font_size": 14,
"tab_size": 2,
"format_on_save": "on",
"vim_mode": false,
"autosave": {
"after_delay": {
"milliseconds": 1000
}
},
"assistant": {
"enabled": true,
"button": true,
"default_model": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514"
}
},
"inlay_hints": {
"enabled": true
},
"git": {
"inline_blame": {
"enabled": true
}
}
}
未来展望
Zed 团队正在积极开发更多 AI 功能:
- 更强大的多文件编辑能力
- 代码库索引和语义搜索
- Agent 模式(类似 Copilot Agent)
- 更多模型提供商支持
Zed 代表了编辑器发展的一个方向:先把基础体验做到极致,再叠加 AI 能力。这和 Cursor “AI 优先”的路线形成了有趣的对比。
最好的工具是你感觉不到它存在的工具。Zed 的目标不是让你惊叹于 AI 的能力,而是让你专注于代码本身。
相关文章
评论
加载中...
评论
加载中...