发布

及时了解 Zed 的每周发布。


三月

0.176.1

03/03/2025

macOS
加载中...
加载中...
Linux
加载中...
加载中...

今天,我们正在启动增强型 Git 集成的私有 beta 测试。我们将每天从 Git beta 等候名单中逐步邀请用户。请留意未来几天我们团队发出的邀请电子邮件。


重大更改和通知

  • editor::RevertSelectedHunkseditor::RevertFile 重命名为 git::Restoregit::RestoreFile,以便与 git 保持一致 (#25197)
  • editor::ExpandAllHunkDiffs 操作重命名为 editor::ExpandAllDiffHunks (#25369)

增强功能

  • 添加了 allow_rewrap 设置,用于控制给定语言的 editor::Rewrap 行为。 (#25173)
  • 添加了 on_last_window_closed 设置,允许用户在关闭最后一个窗口时退出应用程序 (#25185)
  • 添加了初始的内联诊断支持 (#25297)
  • 添加了对 MoveToBeginningOfLine 和 SelectToBeginningOfLine 的 stop_at_indent 选项的支持。 (#25428)
  • 添加了对检查 package-version-server 是否在 $PATH 上的支持。 (#23849; 感谢 matthewpi)
  • 添加了对托管在 chromium.googlesource.com 上的仓库的支持,用于 Git blame 和永久链接。 (#24881; 感谢 hferreiro)
  • 添加了对在 git 提交中选择提交消息的支持 (#25136)
  • 添加了对 tcsh/csh shell 作为登录 shell 的支持,用于加载环境变量。 (#25122)
  • 添加了为 Copilot 指定 HTTP/HTTPS 代理的能力 (#24364; 感谢 eli-kaplan).
  • 提高了诊断面板在大量诊断信息下的响应速度。 (#25287)
  • 改进了文件查找器模态框中长路径的显示 (#25049)
  • 改进了展开宏的人体工程学 (#25298)
  • 提高了大型 git 仓库中项目面板的性能。 (#25465)
  • 改进了即使没有打开缓冲区,项目面板条目也会突出显示/标记的情况。 (#25457)
  • 改进了当给定语言的语言服务器设置中的第一个语言服务器无法处理以下请求时,Zed 的处理方式 (#25591)
    • 执行重命名
    • 准备重命名
    • 文档高亮
    • 查找所有引用
    • 跳转到实现
    • 跳转到定义
    • 跳转到声明
    • 跳转到类型定义

语法高亮 / 主题

  • 添加了对活动主题和图标主题的预先加载。这应该可以解决一些关于在启动时短暂看到默认主题的报告。 (#25368)
  • 向主题添加了语法范围 (#25323; 感谢 chbk)
  • 向 Rust 语言高亮添加了 raw 关键字(请参阅 Rust 1.82.0 公告)。 (#25342)
  • 通过省略路径段改进了显示长路径时文件查找器的外观 (#25303)
  • 改进了 C++ 大小类型说明符的语法高亮。 (#25362; 感谢 zeux)
  • 改进了 JavaScript 和 TypeScript 语法高亮。 (#25328; 感谢 chbk)
  • 改进了 Rust 语法高亮。 (#25333; 感谢 chbk)
  • 改进了 Python 语法高亮。 (#25331; 感谢 chbk)
  • 改进了终端重新打开,使其按工作区而不是全局。 (#25336)
  • 改进了 C 和 C++ 语法高亮。 (#25325; 感谢 chbk)
  • 改进了 Go 语法高亮。 (#25327; 感谢 chbk)
  • 改进了 JSON 语法高亮。 (#25329; 感谢 chbk)
  • 改进了 Bash 语法高亮 (#25324; 感谢 chbk)
  • 改进了 truefalse 的渲染效果,使其与 C、C++、Go、JSON、JSONC、Python 和 Rust 的主题中定义的 boolean 高亮匹配。(感谢 #25338;感谢 everdrone)
  • Gruvbox 主题:更改了用于 @variable 语法高亮的颜色,使其不那么强烈。(感谢 #25464)
  • One Dark 主题:调整了用于 @variable 语法高亮的颜色。(感谢 #25468)
  • 修复了主题选择器重置缓冲区大小的问题。(感谢 #25425)

Vim

  • Vim:添加了 vim-exchange 的实现。(感谢 #24678;感谢 thomasheartman)
  • Vim:为替换寄存器模式(grr)添加了缺失的 Vim::CurrentLine 的默认键绑定。(感谢 #24678;感谢 thomasheartman)
  • Vim:修复了可视模式下的 gr。(感谢 #25301;感谢 0x2CA)
  • Vim:修复了一个错误,即 assistant: insert into editor 缺少选定范围。(感谢 #25133;感谢 rien7)
  • Vim:修复了一个错误,即 editor: copy 缺少选定范围。(感谢 #25133;感谢 rien7)
  • Vim:修复了搜索结果偶尔被跳过的问题。(感谢 #25580)
  • Vim:修复了光标形状仅在块中为空心的问题。(感谢 #25235;感谢 0x2CA)
  • Vim:修复了反引号上的操作。(感谢 #25502;感谢 5brian)
  • Vim:修复了跳转到标记时的可视选择。(感谢 #25360;感谢 dinocosta)
  • Vim:修复了提交搜索时发生的崩溃。(感谢 #25717)

键位绑定改进

  • Emacs:添加了 alt-m (back-to-indentation) 的映射。(感谢 #25428)
  • Emacs:添加了对 alt-{alt-} 段落导航的支持。(感谢 #25284)
  • 修复了 macOS 上 Terminal 中默认情况下 ctrl-_) Emacs 撤销不工作的问题。(感谢 #25578)
  • 修复了 Linux 上 Terminal 中默认情况下 tmux ctrl-b 损坏的问题。(感谢 #25476)
  • Mac:在默认键位映射中,cmd-up 现在移动到上一个多缓冲区摘录的开头,cmd-down 移动到下一个多缓冲区摘录的结尾。对于普通缓冲区,这些行为与以前相同,移动到开头或结尾。(感谢 #25299)
  • Windows:添加了对 "menu" 键的支持。(感谢 #25000;感谢 gim913)

语言

  • Rust:为 Rust 任务添加了对 --target-dir 的支持。(感谢 #24725;感谢 bnjjj)
  • Rust:为 Rust 任务添加了对 doc test 的支持。(感谢 #24806;感谢 bnjjj)
  • Rust:修复了无法为 lib.rsmain.rsmod.rs 中的 tests 模块生成 cargo test 任务的问题。(感谢 #25092)
  • Python:修复了在以 : 结尾的注释中添加换行符时应用缩进的问题。(感谢 #25437)
  • Python:修复了本地安装时 Pyright 无法启动的问题。(感谢 #24873;感谢 MrSubidubi)

AI

  • 为助手添加了对 AWS Bedrock 的支持。(感谢 #21092;感谢 5herlocked)
  • 编辑预测:增加对检测 LICENSE.mdLICENCE.md 文件以进行许可证检测的支持。( #25422; 感谢 pngdrift)
  • 编辑预测:当为其语言禁用预测时,禁用 This Buffer 选项。( #25566)
  • 编辑预测:一旦 edit_prediction_provider 设置为 none,立即禁用。( #25505)
  • 编辑预测:当缩进根据其周围的代码块正确时,不需要修饰键。( #25491)
  • 编辑预测:修复了状态栏设置和编辑器控制设置之间的不匹配。( #25505)
  • 编辑预测:修复了长行的跳转/接受弹出窗口位置。( #25348)

Bug 修复

  • 修复了 GoToDefinitionSplit 操作中的一个 bug,如果定义位于同一个活动编辑器中,则不会进行拆分。( #24990)
  • 修复了一个有时会阻止重新加入项目的错误。( #25530)
  • 修复了一个当将文件夹复制到其子文件夹中时,copy_recursive 无限运行的 bug。( #25317)
  • 修复了一个当缓冲区内容更改时运行指示符跳动的 bug。( #25507)
  • 修复了一个 Zed 终端生成的 shell 在 ~/.hushlogin 存在时不会隐藏登录消息的 bug ( #25224)
  • 修复了一个在禁用工具栏面包屑时,面包屑仍然在图像查看器中显示的 bug。( #25654; 感谢 kaf-lamed-beyt)
  • 修复了一个当焦点在缓冲区搜索栏中时无法打开大纲模式窗口的 bug。( #25225)
  • 修复了一个在启用编辑预测的情况下在助手面板中输入时可能发生的崩溃。( #25598)
  • 修复了一个当磁盘上的大型文件被更改或格式化时可能发生的挂起。( #25129)
  • 修复了一个当设置自定义 buffer_line_height 时可能使上下文菜单无法使用的视觉 bug。( #25172)
  • 修复了一个即使当用户没有正确权限时屏幕共享仍然可见,导致以后出现错误的 问题。( #25192; 感谢 devzeth)
  • 修复了一个不正确突出显示空白选择的问题。( #25236)
  • 修复了在某些情况下无法使用鼠标切换 diff hunks 的问题 (#25367)
  • 修复了终端、大纲面板等长内容的极小滚动条滑块。( #25288)
  • 修复了在某些情况下,多缓冲区中装订线高亮显示与 diff hunks 不匹配的问题。( #25600)
  • 修复了从另一个应用程序复制的粘贴多行内容时的不正确缩进。( #25300)
  • 修复了查看长文件或宽文件时滚动滑块不可见或太小的问题。( #25162)
  • 修复了 shift- 修饰符符号的键盘映射使用问题。( #25238; 感谢 0x2CA)
  • 修复了 Linux 上不一致的击键渲染问题。( #25139)
  • 修复了在多缓冲区中重复调用 editor::SelectLargerSyntaxNode 时导致的崩溃。( #25585)
  • 修复了通过键盘触发打开操作时,项目面板条目未被标记的问题。( #25567)
  • 修复了项目面板中 menu::SelectLast 操作的实现。( #25160; 感谢 pjtatlow)
  • 修复了在复制/剪切操作后将文件粘贴到项目面板中不会自动在编辑器中打开它的情况(#25555)。
  • 修复了导致 AI 提供程序有时配置错误的一些问题。( #25313)
  • 修复了当在某些语言中 auto_indent_on_paste 设置为 false 时,yank + 粘贴的缩进不正确的问题。( #25447)