外部精选
Zed 1.20.1
本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。
阅读原文(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)、Emmeteditor: 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 Codewindow.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)原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。
了解来源批准与收录规则