黄奕彬

外部精选

Zed 1.20.1

本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。

阅读原文(zed.dev)
来源
Zed stable releases ↗
作者 / 署名
未标注
发布日期
本站收录时间
原文域名
zed.dev

以上时间均为北京时间;来源更新时间由来源提供,不代表首次发布时间。

结构化摘要 AI 生成

背景与问题

这是 Zed 编辑器 1.20.1 稳定版的周度发布说明,面向 Zed 用户与考虑升级的人,回答「本周更新了什么」。开篇综述指出本周亮点:可选的光标移动动画、直接以渲染预览打开 Markdown 文件的设置、Emmet wrap with abbreviation 支持以及可配置的窗口标题格式化。

方法或内容

发布说明按板块组织:开篇综述与若干杂项修复(如 ctrl-tab 误跳文档、非连续行光标下旋转选区崩溃);Features 下分 AI、Git、Languages、macOS、Other 五类;随后是 Bug Fixes 清单;末尾为 Breaking Changes and Notices。

多数条目附 issue 编号(如 #63522)并致谢社区贡献者。

关键发现 / 结果

  • 新增功能:可选光标移动动画(cursor_animation.enabled)、Markdown 直接以预览打开(markdown_preview.open_markdown_files_in_preview)、Emmet editor: wrap with abbreviation、可配置窗口标题格式(window_title_format 与 window_title_separator,支持 ${projectName}、${fileName}、${branch} 等变量,并可从 VS Code 的 window.title 导入)
  • 其他新增:on_new_window(launchpad 为默认,或 empty_tab)、Google AI 模型新增 Gemini 3.8 Flash、状态栏多段按键倒计时、Project Panel 悬停路径提示、dev: Debug Filesystem Watching
  • 性能:macOS/Linux 安装体积约减 25%(剥离调试符号);多光标编辑与 worktree 扫描性能改进;启动时提高 Unix/macOS 文件描述符软限制以防 EMFILE
  • 破坏性变更:Agent Panel 复制改为纯文本(cmd-c/ctrl-c),复制为 Markdown 移至上下文菜单(markdown::CopyAsMarkdown 仍可绑定);Markdown Preview 字体设置移至 markdown_preview 键并自动迁移
  • 修复数十项缺陷,含隐私相关:私有文件不再经项目搜索共享给协作者;含引号/反斜杠的设置键不再损坏 settings.

结论与意义

1.20.1 为常规功能迭代与修复版本,主要价值在窗口标题格式化、Markdown 预览直开、Emmet wrap 与性能改进。用户需留意两项破坏性变更(Agent Panel 复制行为、Markdown Preview 字体设置迁移),其中设置迁移自动完成。

适用边界:多数条目针对特定平台或场景(macOS、Linux/Windows、Wayland、SSH 远程等),原文未说明统一适用范围,也未给出超出本版本的结论。

AI 解读 AI 生成

方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。

时间:何时发生,现在是否仍成立

来源日期为北京时间 2026-09-17 00:23:43(原 UTC 时间 2026年9月17日 00:23(北京时间))。正文称这是本周发布(This week's release),对应 1.20.1 稳定版。

作为版本说明,所述变更在该版本发布时点成立;后续版本可能继续调整这些行为,原文未说明后续计划,因此现在是否仍完全准确不确定。

空间:谁的环境 / 场景

适用于 Zed 编辑器 1.20.1 稳定版用户。平台相关条目分别限定:macOS(标题栏双击行为、worktree 根路径检测、安装体积)、Linux/Windows 与 Wayland(IME、mailto: 处理)、SSH 远程模式、iOS 上的 GPUI web 应用、Unix/macOS(文件描述符软限制)。

使用场景涵盖协作编辑(collab)、AI 功能(Agent Panel、Google AI/OpenAI 模型)、Git 集成(克隆、Git Panel、Git Graph)、Markdown 预览、多光标编辑与远程项目。

变量:实际改变了什么

  • 新增设置/命令:cursor_animation.enabled、markdown_preview.open_markdown_files_in_preview、window_title_format、window_title_separator、on_new_window、command_palette.use_command_history、dev: Debug Filesystem Watching、project_panel.title_tooltip_delay
  • 行为变更:Agent Panel 复制由 Markdown 改为纯文本;Markdown Preview 字体设置迁移至 markdown_preview 键(font_size、font_family、code_font_family),旧设置自动迁移
  • 体积与性能:release binaries 剥离调试符号,macOS/Linux 安装体积约减 25%
  • 修复:含隐私相关(私有文件曾可经项目搜索共享给协作者)、settings. 损坏、多处崩溃与 UI 缺陷
  • 原文未说明价格或商业条款变化

区分:包含 ≠ 相关 ≠ 因果

明确因果(原文以修复/改进句式直接给出):剥离调试符号使安装体积约减 25%;提高启动时文件描述符软限制以防 EMFILE;含引号或反斜杠的设置键曾损坏 settings.;非连续行光标曾触发旋转选区命令崩溃;错误的 workspace diagnostics 轮询曾导致 BasedPyright 内存泄漏。

仅为并列(相关):各项功能与修复同属一次版本发布,条目之间无因果证据,例如窗口标题格式化与光标动画互不导致。

对象:作者/署名与关键技术原理

作者/署名:原文未标注(结构化作者字段为空)。关键技术(按原文描述):

  • Emmet:本版加入 editor: wrap with abbreviation 支持
  • LSP:修复其他项目语言服务器出现在 LSP Logs 视图与无关窗口状态栏的问题;请求路由改为尊重动态注册的文档选择器
  • 设置系统:多个新设置键;修复含引号/反斜杠键损坏 settings.;支持从 VS Code window.title 与 window.titleSeparator 导入
  • 文件系统监视:dev: Debug Filesystem Watching 可查看本地 watcher 事件、watch roots、扫描排除项并导出 JSON 诊断
  • GPUI:修复 iOS 上 GPUI web 应用长按误选整画布的问题
  • 原文未说明上述技术的底层实现原理细节

元反空综合结论

元:这本质是一份周度 changelog,解决「升级前需要知道什么」的信息同步问题:新功能、修复清单与破坏性变更,条目附 issue 编号便于追溯。

反:最可能失效或有边界的部分——「约减 25%」仅指本次 macOS/Linux release binaries 剥离调试符号后的结果;Gemini 3.8 Flash 的可用性取决于外部模型服务,会随时间变化;两项破坏性变更只影响升级用户;许多修复仅在特定触发条件下相关(如 Wayland、SSH 远程、非连续行光标)。

空:去掉叙事后剩下的必要事实——Zed 发布 1.20.1 稳定版:新增窗口标题格式化、可选光标动画、Markdown 预览直开、Emmet wrap 等功能与多个设置;修复数十项缺陷(含一个隐私相关修复);包含 2 项破坏性变更,其中字体设置自动迁移。

综合:这是一份信息密度高、可追溯的常规版本说明,对评估是否升级与升级注意事项(复制行为、设置迁移)有直接参考价值;原文未说明后续版本计划,具体行为以实际安装的版本为准。

中文译文 AI 生成

本周发布内容包括:可选的光标移动动画、可直接以渲染预览形式打开 Markdown 文件的设置、Emmet 的 wrap with abbreviation 支持,以及可配置的窗口标题格式。

由 Zed Guild 发布 🛡️

  • 新增 on_new_window 设置,用于选择新窗口显示 Launchpad(launchpad,默认值)还是空的无标题缓冲区(empty_tab)。(#63522; 感谢 albertbogusz)
  • 修复了在快速切换标签页期间移动鼠标时 ctrl-tab 跳转到随机文档的问题。(#52671; 感谢 OmChillure)
  • 修复了在不连续的行上使用光标时 editor: rotate selections forward 和 editor: rotate selections backward 发生崩溃的问题。(#63937; 感谢 timvermeulen)
  • 修复了来自其他项目的语言服务器出现在 LSP Logs 视图中、且其状态显示在无关窗口状态栏中的问题。(#61221; 感谢 aviatesk)
  • 修复了最近创建的 GitHub 账户在 Settings UI 中的布局问题。(#63630; 感谢 tidely)
  • 修复了从 diff 视图运行 "View File History" 的问题。(#63539; 感谢 albertbogusz)

了解 Zed Guild。

功能

AI

  • 在 Google AI 模型中新增了 Gemini 3.8 Flash。(#63643; 感谢 macayu17)
  • 改进了 OpenAI 暂时返回 HTTP 404 错误时的恢复处理。(#63705)

Git

  • 改进了仓库克隆,可在活动指示器中显示实时进度。(#63239; 感谢 itsfuad)
  • 改进了 Git Graph 的提交详情,使其显示与 Date 列相同的完整提交时间戳。(#62679; 感谢 dem1tris)

语言

  • 新增了 Emmet 的 wrap with abbreviation 支持(editor: wrap with abbreviation)。(#63383)
  • 新增了对 C23 constexpr 关键字的语法高亮。(#63833; 感谢 Jesse-Cooper)
  • 改进了语言服务器请求路由,使其遵循动态注册的文档选择器。(#59243; 感谢 aviatesk)
  • 改进了 Go 语法高亮,将控制流关键字与其他关键字区分开来。(#63769; 感谢 Gami13)

macOS

  • 改进了对 worktree 根路径变更的检测,以使用更少的文件描述符。(#63863)

其他

  • 新增了通过 window_title_format 和 window_title_separator 设置实现的可配置窗口标题格式。(#54379; 感谢 jknlsn)
  • 目前支持的变量为 ${projectName}、${fileName}、${filePath}、${relativePath}、${branch}、${remoteName}、${remoteHost}、${appName} 和 ${separator}。
  • 若设置了 window.title 和 window.titleSeparator,从 VS Code 的设置导入时将填充这些设置。
  • 新增了 markdown_preview.open_markdown_files_in_preview 设置,可直接以渲染预览方式打开 Markdown 文件。(#63462; 感谢 joshkent94)
  • 新增了可选的光标移动动画,通过将 cursor_animation.enabled 设置为 true 启用。(#63195; 感谢 tiny-paris)
  • 新增了针对待定多段按键绑定的状态栏倒计时。(#63343)
  • 新增了鼠标悬停在 Project Panel 中的文件和文件夹上时显示文件路径的工具提示。(#63299; 感谢 skmanoj322)
  • 可通过修改 project_panel.title_tooltip_delay 设置来禁用该工具提示或配置其延迟。
  • 新增了 dev: Debug Filesystem Watching,用于检查本地 watcher 事件、监视根目录和扫描排除项,并将诊断捕获导出为 JSON。(#64186)
  • 新增了 command_palette.use_command_history 设置,可在不清除历史记录的情况下禁用基于历史的命令面板排序。(#64181)
  • 改进了多光标编辑性能。(#60605; 感谢 Rani367)
  • 通过从 release 二进制文件中剥离调试符号,改进了 macOS 和 Linux 上的安装体积,使其缩小约 25%。(#63429)
  • 改进了命令面板中的最近命令:新增历史指示器、更宽的布局,以及通过 shift-backspace 或移除按钮从历史记录中删除单个命令的控件。(#64181)
  • 通过移除冗余的可执行文件检查,改进了 worktree 扫描性能。(#63190; 感谢 hamishc)
  • 提高了 Unix/macOS 上启动时打开文件描述符的默认软限制,以防止大型工作区中出现 EMFILE(Too many open files)错误。(#64188)

错误修复

  • 修复了私有文件通过项目搜索被共享给协作者的问题。(#63860; 感谢 39ali)
  • 修复了包含引号或反斜杠的设置键导致 settings.json 损坏的问题。(#62949; 感谢 interkelstar)
  • 修复了当分支名与工作树中的某个路径匹配时,Git Panel 的 History 标签页、提交搜索、分支 diff 以及按 ref 打开提交失败的问题。(#63666; 感谢 itsfuad)
  • 修复了 History 标签页处于活动状态时,Git Panel 按键绑定却匹配 Changes 标签页的问题。(#63689; 感谢 shindgew)
  • 修复了更改文件语言后,先前语言服务器的诊断信息仍保留在文件上的问题。(#63460; 感谢 kjanat)
  • 修复了包含插值的字符串中注入语言的语法高亮问题。(#49265; 感谢 jeffbrennan)
  • 修复了由不正确的工作区诊断轮询导致的 BasedPyright 内存泄漏。(#63336)
  • 修复了项目通过 Agent Panel 泄漏的问题。(#63765)
  • 修复了 Wayland 上没有文本输入获得焦点时,Project Panel 中 IME 仍保持启用的问题。(#63776; 感谢 Sha1rholder)
  • 修复了调试器的 "Copy Value" 复制的是截断的预览而非完整值的问题。(#63902; 感谢 39ali)
  • 修复了 Keymap Editor 的 "Search by Keystrokes" 快捷键(macOS 上为 cmd-alt-f,Linux/Windows 上为 ctrl-alt-f)被文件查找器遮蔽的问题。(#63376; 感谢 dcdeniz)
  • 修复了合法的多字节 Agent Skill 描述因超出基于字节的长度限制而被拒绝的问题。(#63766; 感谢 cmdr-chara)
  • 修复了禁用 AI 时 Agent Panel 仍出现在 "View" 菜单中的问题。(#63580; 感谢 shxmbles)
  • 修复了禁用 AI 时 agent: manage skills 仍出现在命令面板中的问题。(#63598; 感谢 kai-xlr)
  • 修复了当选区结束于下一行行首时,大小写转换命令删除换行符的问题。(#63463; 感谢 39ali)
  • 修复了 ChatGPT 订阅使用限制被报告为临时 OpenAI 请求限流的问题。(#63738)
  • 修复了 collab 语言服务器请求相互取消的问题。(#63736)
  • 修复了当 git_gutter_width 被设置为较小的自定义像素值时,已删除内容的 git-gutter 标记几乎不可见的问题。(#63434; 感谢 somtri)
  • 修复了当 macOS 的 "Double-click a window's title bar" 设置为 "Fill" 时,双击标题栏会忽略 "Tiled windows have margins" 设置的问题。(#63759; 感谢 RomainDW)
  • 修复了在 macOS 上,分支与 worktree 删除、键位绑定冲突以及编辑预测的提示中显示为 Alt 而非 Option 的问题。(#63807; 感谢 humdrum00001010)
  • 修复了 Agent Panel 中较长的 ask_user 选项被截断而非换行显示的问题。(#63656; 感谢 cmdr-chara)
  • 修复了 Markdown 预览中标题未按所配置的字重渲染的问题。(#63465; 感谢 archcorsair)
  • 修复了当包将原生绑定(native bindings)列为可选依赖时,Node 工具安装失败或仅部分完成的问题。(#52451; 感谢 KuSh)
  • 修复了未登录时标题栏菜单中 "Organization" 部分渲染为空的问题。(#63728; 感谢 RadhiRasho)
  • 修复了使用键盘从 Project Panel 打开文件时 preview_tabs.enable_preview_from_project_panel 设置被忽略的问题。(#63758; 感谢 cmdr-chara)
  • 修复了在远程服务器上打开文件夹时远程项目选择器未关闭的问题。(#63628; 感谢 mateioprea)
  • 修复了在 iOS 上的 GPUI web 应用中长按时意外选中整个画布的问题。(#63877)
  • 修复了 Vim 的 o 在 C 风格多行注释内部不会延续注释前缀的问题。(#63751; 感谢 IbrahimKhan12)
  • 修复了 SSH 远程模式下的一个问题:在先前被重命名的路径上重新打开新创建的文件时,可能错误地复用该已重命名文件的 buffer。(#64028)
  • 修复了补全标签中 CRLF 换行符未被归一化的问题。(#63984)
  • 修复了诊断批次在没有 worktree 的路径处停止的问题。(#64073)
  • 修复了 Linux 上使用 Help → Email Us.... 时对 mailto: URI 的处理问题。(#64090)
  • 修复了 Git diff 多缓冲区中 Project Panel 的 reveal 功能。(#64154)

破坏性变更与说明

  • 将 Agent Panel 改为使用 cmd-c(macOS)和 ctrl-c(Linux/Windows)复制纯文本而非 Markdown。复制为 Markdown 的功能已移至上下文菜单,且 markdown::CopyAsMarkdown 动作仍可被绑定。(#63884)
  • 将 Markdown Preview 的字体设置移至 markdown_preview 键下,分别为 font_size、font_family 和 code_font_family。现有设置会自动迁移。(#63462; 感谢 joshkent94)
展开原文提取正文(采集端自动提取,可能有缺失)

This week's release includes an optional cursor movement animation, a setting to open Markdown files directly in the rendered preview, Emmet wrap with abbreviation support, and configurable window title formatting. Shipped by the Zed Guild 🛡️

Added the on_new_window setting to choose whether new windows show the Launchpad (launchpad, the default) or an empty untitled buffer (empty_tab). (#63522; thanks albertbogusz) Fixed ctrl-tab jumping to random documents when the mouse moved during a quick tab switch. (#52671; thanks OmChillure) Fixed a crash in editor: rotate selections forward and editor: rotate selections backward when using cursors on nonconsecutive lines. (#63937; thanks timvermeulen) Fixed language servers from other projects appearing in the LSP Logs view and their statuses showing in unrelated windows' status bars. (#61221; thanks aviatesk) Fixed layout issues in the Settings UI for recently created GitHub accounts. (#63630; thanks tidely) Fixed "View File History" when run from a diff view. (#63539; thanks albertbogusz)

Learn about the Zed Guild. Features AI

Added Gemini 3.8 Flash to the Google AI models. (#63643; thanks macayu17) Improved recovery when OpenAI temporarily returns HTTP 404 errors. (#63705)

Git

Improved repository cloning by showing live progress in the activity indicator. (#63239; thanks itsfuad) Improved Git Graph commit details to show the same full commit timestamp as the Date column. (#62679; thanks dem1tris)

Languages

Added Emmet's wrap with abbreviation support (editor: wrap with abbreviation). (#63383) Added syntax highlighting for the C23 constexpr keyword. (#63833; thanks Jesse-Cooper) Improved language server request routing to respect dynamically registered document selectors. (#59243; thanks aviatesk) Improved Go syntax highlighting by distinguishing control-flow keywords from other keywords. (#63769; thanks Gami13)

macOS

Improved detection of worktree root path changes to use fewer file descriptors. (#63863)

Other

Added configurable window title formatting with the window_title_format and window_title_separator settings. (#54379; thanks jknlsn)

Currently supported variables are ${projectName}, ${fileName}, ${filePath}, ${relativePath}, ${branch}, ${remoteName}, ${remoteHost}, ${appName}, and ${separator}. These settings will be populated when importing from VS Code's settings, if window.title and window.titleSeparator are set.

Added the markdown_preview.open_markdown_files_in_preview setting to open Markdown files directly in the rendered preview. (#63462; thanks joshkent94) Added an optional cursor movement animation, enabled by setting cursor_animation.enabled to true. (#63195; thanks tiny-paris) Added a status bar countdown for pending multi-stroke key bindings. (#63343) Added a tooltip showing the file path when hovering over files and folders in the Project Panel. (#63299; thanks skmanoj322)

The tooltip can be disabled, or its delay configured, by changing the project_panel.title_tooltip_delay setting.

Added dev: Debug Filesystem Watching to inspect local watcher events, watch roots, and scan exclusions, and export diagnostic captures as JSON. (#64186) Added the command_palette.use_command_history setting to disable history-based command palette ranking without erasing history. (#64181) Improved multi-cursor editing performance. (#60605; thanks Rani367) Improved installed size on macOS and Linux by stripping debug symbols from release binaries, making them roughly 25% smaller. (#63429) Improved recent commands in the command palette with history indicators, a wider layout, and controls to remove individual commands from history using shift-backspace or the remove button. (#64181) Improved worktree scan performance by removing redundant executable checks. (#63190; thanks hamishc) Raised the default open file descriptor soft limit at startup on Unix/macOS to prevent EMFILE (Too many open files) errors in large workspaces. (#64188)

Bug Fixes

Fixed private files being shared with collaborators through project search. (#63860; thanks 39ali) Fixed a settings key containing a quote or a backslash corrupting settings.json. (#62949; thanks interkelstar) Fixed the Git Panel's History tab, commit search, branch diff, and opening a commit by ref failing when a branch name matched a path in the working tree. (#63666; thanks itsfuad) Fixed Git Panel keybindings matching the Changes tab while the History tab was active. (#63689; thanks shindgew) Fixed diagnostics from the previous language server staying on a file after changing its language. (#63460; thanks kjanat) Fixed syntax highlighting for injected languages in strings containing interpolations. (#49265; thanks jeffbrennan) Fixed a BasedPyright memory leak caused by incorrect workspace diagnostics polling. (#63336) Fixed projects leaking via the Agent Panel. (#63765) Fixed IME staying enabled in the Project Panel on Wayland when no text input was focused. (#63776; thanks Sha1rholder) Fixed the debugger's "Copy Value" copying the truncated preview instead of the full value. (#63902; thanks 39ali) Fixed the Keymap Editor's "Search by Keystrokes" shortcut, cmd-alt-f (macOS) and ctrl-alt-f (Linux/Windows), being shadowed by the file finder. (#63376; thanks dcdeniz) Fixed valid multibyte Agent Skill descriptions being rejected for exceeding a byte-based length limit. (#63766; thanks cmdr-chara) Fixed the Agent Panel appearing in the "View" menu when AI was disabled. (#63580; thanks shxmbles) Fixed agent: manage skills appearing in the command palette when AI was disabled. (#63598; thanks kai-xlr) Fixed case conversion commands deleting the line break when the selection ended at the start of the next line. (#63463; thanks 39ali) Fixed ChatGPT subscription usage limits being reported as temporary OpenAI request throttling. (#63738) Fixed collab language server requests cancelling each other. (#63736) Fixed the deleted git-gutter marker becoming nearly invisible when git_gutter_width was set to a small custom pixel value. (#63434; thanks somtri) Fixed double-clicking the title bar ignoring the macOS "Tiled windows have margins" setting when "Double-click a window's title bar" was set to "Fill". (#63759; thanks RomainDW) Fixed hints for branch and worktree deletion, keybinding conflicts, and edit predictions referring to Alt instead of Option on macOS. (#63807; thanks humdrum00001010) Fixed long ask_user options being truncated instead of wrapping in the Agent Panel. (#63656; thanks cmdr-chara) Fixed Markdown preview headings not rendering at their configured weight. (#63465; thanks archcorsair) Fixed Node tool installations failing or completing partially when packages listed native bindings as optional dependencies. (#52451; thanks KuSh) Fixed the "Organization" section rendering empty in the title bar menu when signed out. (#63728; thanks RadhiRasho) Fixed the preview_tabs.enable_preview_from_project_panel setting being ignored when opening files from the Project Panel with the keyboard. (#63758; thanks cmdr-chara) Fixed the remote projects picker not closing when opening a folder on a remote server. (#63628; thanks mateioprea) Fixed unintended whole-canvas selection when long-pressing in GPUI web applications on iOS. (#63877) Fixed Vim's o not continuing the comment prefix inside C-style multiline comments. (#63751; thanks IbrahimKhan12) Fixed an issue in SSH remote mode where reopening a newly created file at a path that was previously renamed could incorrectly reuse the buffer for the renamed file. (#64028) Fixed CRLF line breaks not normalized in completion labels. (#63984) Fixed diagnostics batches stopping at paths without a worktree. (#64073) Fixed Linux mailto: URI handling when using Help → Email Us.... (#64090) Fixed Project Panel reveal in Git diff multi-buffers. (#64154)

Breaking Changes and Notices

Changed the Agent Panel to copy plain text with cmd-c (macOS) and ctrl-c (Linux/Windows) instead of Markdown. Copying as Markdown moved to the context menu, and the markdown::CopyAsMarkdown action can still be bound. (#63884) Moved the Markdown Preview font settings under the markdown_preview key as font_size, font_family and code_font_family. Existing settings are migrated automatically. (#63462; thanks joshkent94)

原文入口

阅读原文(zed.dev)

原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。

作者/署名来自原文结构化字段(Atom/RSS/HTML meta/JSON-LD;GitHub release 显示的是发布者账号),未经模型补充。

了解来源批准与收录规则