0.204.1
2025年9月17日
macOS
Linux
本周发布版包括:默认支持使用 basedpyright Python 语言服务器、通过 SSH 连接外部代理、Claude Code 的计划模式、多缓冲区中的 Git uncommit 和 blame 视图、更多语法树导航命令、更符合 VSCode 和 JetBrains 行为的熟悉终端切换操作、终端中更好的 URL 检测、多项语言改进等等!
功能
通用
- 为多缓冲区编辑器添加了 blame 视图和内联 blame 支持。(#37366)
- 添加了一个新操作
terminal::Toggle,默认绑定到 'ctrl-`'。这复制了 VSCode 和 JetBrains 的默认行为,即终端正确打开和关闭。如果您想恢复旧行为,可以将 'ctrl-`' 重新绑定到terminal::ToggleFocus。(#37585) - 终端:改进了 URL 检测,现在可以正确处理句子末尾的标点符号。以句号结尾的 URL(例如
https://example.com.)和括号不平衡的 URL(例如https://example.com/path))现在可以正确检测,而不包含尾随标点符号。(#37684;感谢 Mearman) - 终端:通过考虑终端工作目录,改进了终端路径超链接导航。(#36962;感谢 davewa)
- 添加了
project_panel::OpenSplitVertical和project_panel::OpenSplitHorizontal操作,用于在拆分视图中打开文件。(#36973;感谢 tie) - 添加了
editor::GoToNextDocumentHighlight和editor::GoToPreviousDocumentHighlight以导航到下一个 LSP 文档高亮。对于导航到特定符号的下一个用法很有用。(#35994;感谢 MarcoPolo) - 添加了为每个工作树指定人类可读项目名称的功能。(#36713;感谢 Warpten)
- 添加了
editor: select {next,previous} syntax node操作。(#35053;感谢 idanov) - 添加了一个新命令
diagnostics: display current file,用于查看当前打开文件的诊断信息。(#34430;感谢 dinocosta) - 添加了行尾选择器。(#35392;感谢 MatinAniss)
- 更改了语法树视图,使其与打开它的缓冲区保持关联,类似于 Markdown 预览。当视图显示时,使用
UseActiveEditor操作将其更改为上次聚焦的编辑器。(#37570) - 更新了错误视图,以在无效缓冲区视图中显示错误。(#37657)
- 改进了备用打开选择器,使其更加直观。(#37564)
- 更改了远程项目,使其在本地用户设置中同步。(#37560)
- Linux:迁移到 Blade 上游的新版本。(#37516;感谢 WERDXZ)
- 添加了在文件查找器中重命名文件时创建子目录的功能。(#37437;感谢 Zertsov)
- 改进了单词删除功能,默认考虑空格序列和括号。(#37352)
AI
- Claude Code:添加了对计划模式和所有其他权限模式的支持。(#37632)
- 代理:在 SSH 项目中添加了对 Gemini CLI、Claude Code 和自定义外部代理的支持。(#37725)
- 代理:在代理面板中添加了授权工具调用的快捷键(
agent: Allow once、agent: Allow always、agent: Reject once)。(#37876) - 代理:添加了对 Ollama 的 mistral-nemo 支持。(#37723;感谢 sbe-arg) - 代理:修复了模型选择器查询在关闭时未清除的问题。(#37569;感谢 imumesh18)
- 代理:改进了“now”和“edit_file”工具模式,使其适用于更多模型。(#37397;感谢 fbo25)
- Ollama:改进了向模型返回工具结果时的格式。(#34750;感谢 marius851000)
- ACP:更新了 Gemini ACP 服务器,使其使用 Zed 配置中的代理设置。(#37790;感谢 npatsakula)
- 语言模型:添加了对 OpenRouter 用户偏好中可用模型的支持。(#37534;感谢 imumesh18)
- 增强了模型供应商兼容性,以自动支持未来的 AI 供应商,并使用 GitHub Copilot 的供应商特定分词器改进了令牌计数准确性。(#37118;感谢 imumesh18)
Vim / Helix
调试器
- 通过应用程序的
View菜单选项,启用了调试器面板。(#37805)
Git
- 添加了
git: uncommit操作。(#37031;感谢 AlvaroParker) - 添加了在分支选择器提交信息中显示作者姓名的选项。(#36812;感谢 lzakharov)
- 添加了切换按钮,可在 Git 面板条目中按路径或按状态排序(可在 Git 面板省略号菜单中找到)。(#35704;感谢 nick-kilian)
- 改进了 Git 错误信息。(#35946;感谢 jacobtread)
- 更新了分支选择器,将当前分支放在列表首位。(#35138;感谢 launay12u)
语言
- Markdown:添加了对段落中内联 HTML
img标签的支持。(#37264;感谢 RemcoSmitsDev) - Markdown:改进了语法高亮。(#37669;感谢 chbk)
- Markdown:通过选择文本并输入
*来将文本用*包裹起来。(#37426) - Rust:添加了速记字段高亮。(#37674;感谢 chbk) - Python:添加了来自
pyright/basedpyright的包来源到完成列表中。(#37865) - Python:增加了用户在选择器中指定其虚拟环境自定义路径的功能。(#37009)
- Go:添加了标签高亮。(#37673;感谢 chbk)
- Go:将
gopls默认值更改为与 Go 规范匹配。(#37551;感谢 Zertsov) - Isograph:添加了对将 Isograph 语言支持注入
iso函数调用的支持。(#36320;感谢 XiNiHa) - 添加了 LSP 二进制配置,允许获取每夜构建的 rust-analyzer 和 clangd 版本。(#37530)
错误修复
- 修复了一个错误,该错误导致自动更新默认对所有人禁用。( #38022)
- 代理:修复了在提及后立即输入 IME 字符时发生的崩溃。(#37847)
- 代理:修复了当更改 API URL 设置时,OpenAI 和 OpenAI 兼容提供商的 API 密钥会持久化的问题。现在,当设置更改时,身份验证会正确重新验证。(#37610;感谢 imumesh18)
- 代理:修复了当名称更新时
context_server重复的问题。(#35403;感谢 imumesh18) - 代理:修复了单词补全在代理面板的编辑器中显示,但在达到补全阈值之前用操作触发时未显示的问题。(#37697)
- 代理:修复了 OpenAI 和 OpenAI 兼容提供商中,空 delta 文本内容被跳过的问题。(#37626;感谢 imumesh18)
- 编辑预测:修复了一个错误,该错误导致请求被标记为符合数据收集条件,尽管请求中最近的编辑历史涉及可能不是开源的文件。受此错误影响的请求将不会用于训练数据。(#37680)
- 编辑预测:修复了请求包含来自其他项目(其他 Zed 窗口)的最近编辑的问题。(#37595)
- Python:修复了使用
pyright/basedpyright时代码补全顺序任意的问题。(#37850) - Python:修复了当 python 二进制路径包含空格时任务失败的问题。(#37454) - Markdown:修复了 Markdown 预览中空白字符修剪导致列表项和内容之间脱节的问题。(#35750;感谢 eduardoalba00)
- 调试器:修复了允许显示多个紧凑会话项的问题。(#37036;感谢 RemcoSmitsDev)
- 调试器:修复了 SSH 附加模态框显示本地进程而非服务器进程的错误。(#37608)
- Linux:修复了 IME 弹出窗口可能在 Wayland 上显示在窗口外部或无法显示的问题。(#37600)
- 修复了匹配括号高亮在括号相邻时未高亮关闭括号的问题。(#37912)
- 修复了当没有未固定选项卡时,选项卡栏中拖放背景的高度问题。(#37884)
- 修复了自动导入在文件第一列、第一行不工作的问题。(#37746;感谢 Zertsov)
- 修复了 SVG 预览在文件被外部程序修改时无法自动刷新。(#37316;感谢 0xshadow-dev)
- 修复了
outline::Toggle有时无法关闭大纲模态框的错误。(#37575;感谢 Zertsov) - 修复了在 Helix 模式下,用
<和>缩进的选定行会取消选择的问题。(#37665;感谢 Quplet) - 修复了
editor: select larger syntax node无法智能处理标点符号的问题。(#36971;感谢 paul) - 修复了一个问题,即取消修改提交会导致旧的提交消息错误地保留在输入字段中。现在,提交消息框会正确恢复到修改前的状态。(#35268;感谢 imumesh18)
- 修复了包含反斜杠字符 (\) 的快捷键无法正确替换的问题。(#37014;感谢 flareseek)
- 修复了内置缓冲区和日志视图在项目搜索中显示的问题。(#37773)
- 修复了 Tab 切换器中无标题/临时文件的搜索行为不一致问题。(#37086;感谢 KKKZOZ)
- 修复了折叠占位符的悬停区域小于标记的问题。(#37663)
- 修复了在 Vim 的视觉行模式下使用编辑器的转换大小写命令时无法按预期工作的问题。(#37646;感谢 dinocosta)
- 修复了任务变量替换总是附加默认值的问题。(#37588;感谢 ihales)
- 修复了诊断窗格在内部键入时过早关闭缓冲区的问题。(#37546)
- 修复了 Anthropic 自定义模型设置中定义的 extra_beta_headers 被忽略的错误。(#37306;感谢 imumesh18)
- 修复了使用
reveal_target=center重新生成任务时,任务焦点不正确的问题。(#37359;感谢 the-kenny) - 修复了 Windows 上字体在非常大的缩放比例下消失的问题。(#37440)
重大变更和注意事项
- 移除了 Zed 的聊天功能(抱歉,经常使用此功能的五位用户!)。(#37789)
- 添加了对 Python 的
basedpyright语言服务器的内置支持。basedpyright现在默认启用,而pyright(之前主要的 Python 语言服务器)仍然可用,但默认禁用。basedpyright的优势在于支持内嵌提示、语义高亮、自动导入代码操作和更严格的类型检查,它取代了basedpyright扩展,后者可以卸载。要切换回pyright,请将以下配置添加到 settings.json 中
{
"languages": {
"Python": {
"language_servers": ["pyright", "pylsp", "!basedpyright"]
}
}
}
- 在 macOS 上添加了用于在语法树中的同级节点之间导航的绑定(
cmd-ctrl-{up/down}用于SelectPreviousSyntaxNode和SelectNextSyntaxNode)。重大更改:现有的语法树父/子导航绑定已从ctrl-shift-{left/right}移至cmd-ctrl-{left/right},以创建统一的四向导航模式,所有语法树操作都使用相同的修饰符组合。我们无法使用以前的基本修饰符而不破坏更多绑定。(#37874)