AI 工具 | | 约 15 分钟 | 5,875 字

Zed AI 编辑器:轻量级 AI 编程体验

Zed 编辑器的 AI 集成功能、性能优势和适用场景

Zed 是什么

Zed 是一款用 Rust 编写的高性能代码编辑器,由 Atom 编辑器的原始创建者开发。它的核心卖点是速度——启动快、编辑快、搜索快,一切都快。在 AI 编程工具遍地开花的今天,Zed 走了一条不同的路:先把编辑器本身做到极致,再把 AI 作为锦上添花的功能集成进来。

如果你受够了 VS Code 的内存占用和偶尔的卡顿,Zed 值得一试。

性能优势

为什么 Zed 这么快

Zed 的性能优势来自几个方面:

方面ZedVS Code / Cursor
编写语言RustElectron (JavaScript)
渲染引擎GPU 加速(自研)Chromium
内存占用约 100-200MB约 500MB-1GB+
启动时间< 1 秒2-5 秒
大文件处理流畅可能卡顿
搜索速度极快(ripgrep 级别)

实际体验

在日常使用中,Zed 的性能优势体现在:

  1. 打开大型项目(10 万+ 文件)几乎无延迟
  2. 全局搜索结果瞬间返回
  3. 多文件同时编辑不会卡顿
  4. 长时间使用内存不会持续增长
  5. 切换文件、跳转定义都是即时响应

对于经常需要在大型 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"
    }
  }
}

支持的模型提供商

提供商模型说明
AnthropicClaude Sonnet/Opus推荐,代码质量高
OpenAIGPT-4o / o1速度快
OllamaLlama / Mistral 等本地运行,隐私友好
GoogleGemini长上下文支持好

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 修改代码:

  1. 选中需要修改的代码
  2. Cmd + Enter 打开 Inline Edit
  3. 输入修改指令
  4. 查看 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 的实时协作:

  1. 创建一个 Channel
  2. 邀请团队成员
  3. 共享项目,实时看到彼此的编辑
  4. 内置语音通话

AI + 协作

协作模式下的 AI 功能特别有用:

  • 团队成员可以共享 AI 对话上下文
  • 一个人提问,所有人看到答案
  • 结对编程时,AI 作为第三个参与者
# 协作场景示例
开发者 A:选中一段代码,问 AI "这里有性能问题吗?"
开发者 B:看到 AI 的回答,补充 "我们还需要考虑并发场景"
AI:综合两人的输入,给出更完整的优化方案

什么时候选择 Zed

Zed 适合你,如果

  1. 你重视编辑器性能,不能忍受卡顿
  2. 你在大型项目或 monorepo 中工作
  3. 你需要实时协作功能
  4. 你喜欢简洁、专注的编辑体验
  5. 你愿意使用自己的 API Key 调用 AI
  6. 你是 Vim 用户(Zed 的 Vim 模式很完善)

Zed 可能不适合你,如果

  1. 你依赖大量 VS Code 扩展
  2. 你需要丰富的 AI 编程功能(Cursor 更强)
  3. 你需要免费的 AI 额度
  4. 你的项目需要特定的 IDE 支持(如 Java 开发用 IntelliJ)

Zed vs VS Code vs Cursor

维度ZedVS CodeCursor
性能极快中等中等
扩展生态发展中最丰富继承 VS Code
AI 功能基础但够用需要扩展最强
协作内置需要 Live Share
学习曲线
内存占用
价格免费免费免费/付费

常用快捷键

快捷键功能
Cmd + ?打开 AI Assistant
Cmd + EnterInline 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 的能力,而是让你专注于代码本身。

评论

加载中...

相关文章

分享:

评论

加载中...