0.184.9
05/02/2025
及时了解 Zed 的每周发布。
0.184.9
05/02/2025
0.184.8
04/30/2025
今天的版本增加了将文件拖放到远程项目中的功能、分支选择器中的远程分支支持、单个工作树中的多个 Python 虚拟环境以及用于不同模式的可自定义 Vim 光标形状。
editor::GoToPreviousChange
和 editor::GoToNextChange
在更改之间导航的方法。(#28891){
"vim_mode": true,
"vim": {
"cursor_shape": {
"normal": "hollow",
"insert": "bar",
"replace": "block",
"visual": "underline"
}
}
}
shift-v up
似乎选择了后面的行(但实际上并没有)。(#29253)--system-specs
参数不起作用的问题。(#29240)scroll_beyond_last_line
设置为 vertical_scroll_margin
时,Zed 会在单行输入字段上滚动时崩溃的问题。(#28471; 感谢 MrSubidubi)DeployReplace
不会切换到查找和替换对话框的问题。(#29066)DeployReplace
不会聚焦它的问题。(#29066)netcat
(nc
) 的需求,以便为 git
或 ssh
(远程开发) 输入密码。如果您之前专门为 Zed 安装了 netcat
,您可以卸载它。(#28920)p
之后使用 gv
时发生的 panic。(#29251)c j
和 c k
不遵守缩进的问题。(#28934; 感谢 AidanV)ctrl-y
时光标滚动超出屏幕的问题。(#27754; 感谢 5brian)ZED_DEVICE_ID
环境变量的解析,以尝试修复某些解析失败的情况。现在 ZED_DEVICE_ID
应始终为 4 位十六进制数字(如 lspci
的输出),并带有可选的 0x
或 0X
前缀。(#29235)0.183.13
04/30/2025
pyproject.toml
文件的项目中生成多个 python 进程。(#29662)0.183.12
04/29/2025
0.183.11
04/25/2025
0.183.10
04/23/2025
今天的版本具有 Git amend 支持、可自定义的底部停靠栏布局、改进的诊断渲染以及对 OpenAI 的 o3
和 o4-mini
模型支持。
f8
/shift-f8
时)的渲染更加清晰。(#28006)f8
/shift-f8
始终转到“下一个”或“上一个”诊断,无论编辑器的状态如何。(#28006)bottom_dock_layout
设置,可以采用以下选项:contained
(默认)、full
、left_aligned
和 right_aligned
。此设置定义了当多个停靠栏同时打开时,底部停靠栏应如何布局。(#26211; 感谢 th0jensen)editor::FindNextMatch
和 editor::FindPreviousMatch
,它们类似于 editor::SelectNext
和 editor::SelectPrevious
,其中 "replace_newest": true
,但当有多个选择时,跳转到第一个或最后一个选择。(#28559)git::Restore
兼容绑定 (revert_hunk)。Mac: cmd-k cmd-z
和 Linux: ctrl-k ctrl-z
。 (#28444).vy
, .vyi
)。 (#28307; 感谢 ThatOneCalculator).vscode/tasks.json
文件被 .gitignore
忽略,也能从中加载任务。 (#28631; 感谢 hrou0003)editor: select all matches
的滚动行为。 (#28435; 感谢 neunato)editor: copy and trim
命令。 (#29023; 感谢 redforks)f
、b
、u
、r
、rb
和新发布的 t
字符串的支持。 (#28709).go
文件和其他文件类型中混合了空格和制表符的行的 SoftTab 缩进处理。 (#27336; 感谢 rodrigoFfreire)single-repeat
;现在按下 .
来重放补全,将在光标位置重新插入补全文本。 (#28586):s//
命令现在默认替换每行的第一个匹配项(如 Vim)。使用 /g
替换所有匹配项。 (#28138; 感谢 dinocosta)feedback: file bug report
操作会重定向到过时 URL 的问题。 (#28790; 感谢 MrSubidubi)ExtensionLspAdapter
的环境变量丢失的问题。(#28173;感谢 vitallium)select_larger_syntax_node
先扩展到字符串中的单词,然后再扩展到更大的语法节点的问题。(#29184)p
之后使用 gv
时发生的 panic。(#29251)ctrl-c
。(#29169)0.182.11
04/17/2025
0.182.10
04/17/2025
0.182.9
04/16/2025
editor: toggle case
命令。使用 macOS 上的 cmd-shift-u
和 Linux 上的 ctrl-shift-u
,当使用 JetBrains
键位映射时。(#28415)insert_text_mode
字段的支持。(#28171)ConfirmCompletionInsert
和 ConfirmCompletionReplace
,用于控制补全的插入方式,它们会覆盖 completions.lsp_insert_mode
。默认情况下,shift-enter
触发 ConfirmCompletionReplace
,它会替换整个单词。(#28121)completions.lsp_insert_mode
,用于更改接受 LSP 补全时将被替换的内容。(#27453;感谢 frederik-uni)[-
, ]-
, [+
, ]+
, [=
, ]=
。(#28044;感谢 5brian)^
。运行正则表达式以提高 shell 兼容性(特别是与 zsh)。(#27746;感谢 jakejx)0.181.8
04/15/2025
0.181.7
04/14/2025
GPT-4.1
, GPT‑4.1 mini
, 和 GPT‑4.1 nano
的支持,可通过 Copilot Chat 和 OpenAI API 访问,可在稳定的 Assistant 面板和新的 Agent 面板(beta 版)中使用。(<#28708)0.181.6
04/11/2025
0.181.5
04/09/2025
hide_mouse
设置为 on_typing_and_movement
, on_typing
或 never
来更改此行为。control
, shift
等,现在以不区分大小写的方式解析,因此例如 F8
, CTRL
, SHIFT
现在是可以接受的替代方案 f8
, ctrl
, 和 shift
在声明键盘绑定时。 此外,大写 (ASCII) 字符现在将显式转换为 shift
+ 字符的小写版本,以匹配 Vim 的行为。(<#27813)ProjectPanel::ToggleHideGitIgnore
操作切换新的 project_panel.hide_gitignore
设置。(<#26636; 感谢 AlvaroParker)GIT_ASKPASS
,Zed 现在将使用它,而不是覆盖我们自己的设置。修复了 Coder 中的 git push
问题。( #27681):ls
和 :buffers
命令。( #27797; 感谢 5brian):options
和 :map
命令。( #27798; 感谢 5brian)g?
命令,用于转换为 Rot13
/Rot47
。( #27824; 感谢 0x2CA)d]}
不会删除右括号的问题。( #27786)d}
不会删除段落分隔符的问题。( #27786)d}
不会删除最后一个换行符的问题。( #27786)space
键问题。( #27860; 感谢 mastion)o
和 shift-o
命令。( #27678; 感谢 mastion)Terminal && vi_mode
作为键绑定上下文,以检测终端何时处于 vi_mode。( #26236; 感谢 iyht)workspace::ToggleRightDock
即使通过设置禁用,也会打开助手面板。( #27215; 感谢 MrSubidubi)text
, background
)被错误地使用,而不是终端主题颜色(terminal.{foreground,background}
)的问题。(#27617)ZED_DEVICE_ID
环境变量来指定 Zed 在 Linux 上使用的 GPU 的功能。您可以通过运行 lspci -nn | grep VGA
来获取 GPU 的设备 ID,它将在每一行输出一个 GPU,例如
08:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3070] [10de:2484] (rev a1)
2484
。这个值是十六进制的,所以要强制 Zed 使用这个特定的 GPU,你可以这样设置环境变量
ZED_DEVICE_ID=0x2484
.bashrc
或类似文件中全局定义变量,请确保导出该变量0.180.4
04/08/2025
0.180.3
04/07/2025
0.180.2
04/02/2025
editor::CopyAndTrim
操作,用于在复制时修剪选择。(#27206)go_to_definition_fallback
设置,可以分配 find_all_references
(默认) 或 none
。(#27426)--system-specs
标志,用于检索我们在 GitHub 问题中要求的系统规格,而无需打开 Zed。(#27285){"lsp": {"rust-analyzer": {"binary": {"path": "/some/abs/path/rust-analyzer", "env": {"RA_PROFILE": "*>100"} }}}}
。(#27213; 感谢 davidbarsky)tasks.json
文件时添加了通知。(#27185)nerd-fonts
软件包(提供约 2000 种等宽字体)的 Arch Linux 上,它将 RAM 使用量从约 800MB 减少到约 300MB。(#27362; 感谢 AlvaroParker)editor::SelectLargerSyntaxNode
的滚动,以获得更好的可见性。(#27295)settings.json
中的自动完成建议,现在查询的是整个字符串,而不仅仅是字符串的最后一个词,这过滤掉了许多误报。(#27175)keymap.json
中操作的选择,现在您可以双击仅选择操作的某些部分,而不是选择整个操作。(#27175)stderr
前缀。(#27213; 感谢 davidbarsky)File "file.py", line 8
。(#26903;感谢 thorbenk)APKBUILD
文件作为“Shell 脚本”的识别。(#27099;感谢 vixalien)bun.lock
文件,使其被识别为 JSONC。(#27359;感谢 A-caibird)'
和 "
标记(当前缓冲区中上次跳转的位置,以及上次退出缓冲区时的位置)。(#27231;感谢 AidanV):marks
,它会显示当前标记的列表。(#26885;感谢 AidanV)@github/copilot-language-server
。(#27401)except
、finally
、else
和 elif
控制流关键字时,会被错误缩进的问题。(#27428)clangd
语言服务器时,inactiveRegions
不再替换现有的诊断信息。(#26737;感谢 naim94a).
访问的组件(如 <Foo.Bar>
)会被自动关闭为 </>
,而不是 </Foo.Bar>
。(#27374)0.179.5
03/31/2025
0.179.4
03/28/2025
0.179.3
03/27/2025
hide_mouse_while_typing
设置配置此行为。(#27519)0.179.2
03/26/2025
我们为编辑预测引入了一种新的显示模式,称为 subtle
,它使预测文本默认隐藏,只有在您按住修饰键时才可见。 要启用它,请打开Edit Prediction
状态栏菜单,然后选择subtle
。 也可以通过您的settings.json
进行调整,如下所示:"edit_predictions": { "mode": "subtle" }
。 要阅读有关这种新模式的信息,请查看博客文章。
editor: show word completions
支持基于单词的补全。(#26410)use_system_prompts
。 在 macOS 上,您可以将其设置为 false
以使用 Zed 的窗口内确认对话框,而不是系统对话框。 (在 Linux 上,始终使用 Zed 的对话框)。(#26201;感谢 Hawkbawk)version_control.<variant>
主题属性添加了备用颜色。(#27106)SelectRepo
操作,该操作在模态中打开存储库选择器。(#26950)git_hosting_providers
设置,用于配置自定义 Git 托管提供商。(#26879;感谢 khayyamsaleem)@
的处理:例如,ssh jim.lv@[email protected]@11.239.1.231
,从而改进了对运行 JumpServer 的跳转主机的支持。(#25314;感谢 ColorFuzzy)Expand Excerpt Down
,以便按钮保持原位,从而允许快速扩展而无需移动鼠标。(#27058)::
视为字符串内部的单词字符,改进了 keymap.json
的自动完成。(#26574;感谢 KyleBarton)'[A-Z]
。(#25702;感谢 AidanV)'(
和 ')
。(#25702;感谢 AidanV)features
中删除了 copilot
键。请改用 edit_prediction_provider
。(#26689)eager
或 subtle
)。(#26680)enable_preview_from_code_navigation
设置为 true
时,从预览标签导航代码,从新打开的标签中“返回”可能会将焦点放在右侧的标签上,而不是返回到原始预览标签。(#26943)auto_reveal
、file_scan_inclusions
和 .gitignore
之间的交互。始终包含的文件现在将在项目面板中自动显示,即使这些文件也被 gitignore。(#26197;感谢 Hawkbawk)space
无法处理非 ASCII 字符的问题。(#27053;感谢 5brian)0.178.5
03/19/2025
0.178.4
03/19/2025
git.hunk_style
设置来控制暂存或未暂存的 hunk 是否为空心。(26816;感谢 jakcharvat)alt-shift-enter
,对应操作为 toast::RunAction
。(#26420)文件
菜单中添加了 打开远程...
选项。(#26288)cmd
,在 macOS 以外的平台上映射到 ctrl
。(#26390)Open With
菜单在 Zed 中打开文件夹的支持。(#26357)workspace/executeCommand
的支持。(#26239)cmd-click
,可以找到更多路径。(#26174)npm
版本高于 18.0.0 时也会自动发生)。(#26209)@variable.special
语法高亮添加了颜色。(#26271;感谢 edwloef)ctrl-o
) 默认在终端中工作。(#26479)inactiveRegions
扩展的支持。(#26146;感谢 naim94a)vtsls
和 typescript-language-server
添加到可用语言服务器列表中。(#26046;感谢 sacki5)<count>%
移动命令。(#25839;感谢 5brian):reg[isters]
以显示寄存器的当前值。(#25945;感谢 AidanV)ctrl-a
/ctrl-x
切换布尔值的支持。(#25997;感谢 5brian)path/to/file.ext:row:col:description 或 error message
的文件路径由于结尾的冒号和额外文本而无法正确识别为文件路径的 bug。(#26401)Go to Line
调色板的情况下,用鼠标点击编辑器会导致跳转到之前的滚动位置的问题。(#26362)txt
文件关联的问题。(#25420;感谢 MrSubidubi)!!
重新运行上次命令时,终端选项卡标题的问题。(#26122;感谢 dinocosta)cmd+click
点击 URL 无效的问题。(#26128)Cmd+Click
点击文件导入时,会打开来自不同工作树的错误文件的问题。(#26120)()
或 []
包围的文件路径无法正确高亮显示的问题。(#26695)cmd-click
操作期间跳转到单个文件工作树的问题。(#26582)shift-i
)的问题。(#25603;感谢 5brian)cursor_shape
设置的问题。(#25439;感谢 0x2CA).
命令对重新映射的环绕/交换操作的重复执行问题。(#26101)"seed_search_query_from_cursor" : "selection"
。(#26107;感谢 0x2CA)x g ctrl-a
的步进问题。(#26023;感谢 0x2CA)ctrl-alt-f
未正确切换项目搜索中的搜索过滤器的问题。(#25917;感谢 GuilhermeRGoncalves)vim::Backspace
和 vim::Space
操作分别重命名为 vim::WrappingLeft
和 vim::WrappingRight
。 旧名称仍然可用,但它们被标记为已弃用,建议用户使用新名称。(#25694;感谢 asqarslanov)0.177.11
03/18/2025
0.177.10
03/17/2025
0.177.9
03/14/2025
multibuffer
键上下文。(#26264)editor::MoveToStartOfNextExcerpt
和 editor::MoveToEndOfPreviousExcerpt
。(#26264)cmd-down
和 cmd-shift-down
会移动到单例缓冲区最后一行的末尾,而不是开头。 在 multibuffer 中,这些现在会移动到下一个摘录的开头。(#26264)vim::PreviousSectionEnd
(绑定到 [ ]
) 移动到行首的问题,使其与 vim::NextSectionEnd
的行为一致。(#26264)0.177.8
03/13/2025
editor::ToggleGitBlame
为 git::Blame
。(#26565)soft_wrap
设置未应用于以其他语言开头的缓冲区的问题。(#25880; 感谢 alexozer)0.177.7
03/12/2025
🚀 Zed 现在有了内置 Git 支持! 🚀
您可以在编辑器中查看您的差异、暂存更改、提交和推送。 有关更多信息,请查看博客文章。
stop_at_indent
到 Editor::DeleteToBeginningOfLine
的支持。(感谢 @felixpackard)"inlay_hints": {
/// A set of modifiers which, when pressed, will toggle the visibility of inlay hints.
/// If the set is empty or not all the modifiers specified are pressed, inlay hints will not be toggled.
"toggle_on_modifiers_press": {
"control": false,
"shift": false,
"alt": false,
"platform": false,
"function": false
}
}
copy permalink
操作。(#26482)ssh_config
文件(ssh -F ssh_config
)的支持。(#25619)zed-remote-server
的支持。(#25621)ZED_WORKTREE_ROOT
回退。(#25605)always_show_close_button
键更改为 show_close_button
,并引入了一个新的 hidden
值,允许从不显示关闭按钮。(#23880; 感谢 @Morgandri1)package.json
和 tsconfig.json
。(#25826)``
未被识别为对象的问题。(#24999; 感谢 @yichengliu)editor::OrganizeImports
操作,用于为受支持的 LSP 组织导入(排序、删除未使用的等)。 您可以使用 alt-shift-o
快捷键触发它。(#25793)enabled_in_assistant
设置。(#25767)edit_predictions.disabled_globs
中增加了对绝对 glob 的支持。*
和 #
)启用所有搜索选项后,使用 buffer: deploy search
时缓冲区搜索选项不会重置的问题。(active_pane_modifiers
设置会应用于父窗格的问题。(Zed.log
可能会变得过大的问题。(editor: copy permalink to line
现在使用当前分支的上游,而不是 origin
。(j/k
。(d u/d U
用于在项目差异视图中暂存/取消暂存。d o/d O
用于在编辑器中显示隐藏/切换暂存,以及 d p
用于恢复代码块。(GoToPrevHunk
→ GoToPreviousHunk
,TabPrev
→ Backtab
等)。您现有的配置按键绑定仍然有效。您可以单击按键映射文件顶部的“备份和更新”,以便轻松更新到新操作。(0.176.3
03/06/2025
0.176.2
03/04/2025
GoToPrevHunk
→ GoToPreviousHunk
,TabPrev
→ Backtab
等)。您现有的配置按键绑定仍然有效。您可以单击按键映射文件顶部的“备份和更新”,以便轻松更新到新操作。(,0.176.1
03/03/2025
今天,我们发布了增强型 Git 集成的私人 Beta 版。 我们将每天逐步邀请来自 Git beta 候补名单 的用户。 请留意我们团队在未来几天内发出的邀请邮件。
editor::RevertSelectedHunks
和 editor::RevertFile
重命名为 git::Restore
和 git::RestoreFile
,以与 git 保持一致 (editor::ExpandAllHunkDiffs
操作重命名为 editor::ExpandAllDiffHunks
(allow_rewrap
设置来控制给定语言的 editor::Rewrap
行为。(on_last_window_closed
设置,允许用户在最后一个窗口关闭时退出应用程序。(stop_at_indent
选项的支持。(#25428)$PATH
中检查 package-version-server
的支持。(#23849; 感谢 matthewpi)chromium.googlesource.com
上的仓库的支持。(#24881; 感谢 hferreiro)raw
关键字添加到 Rust 语言高亮显示(请参阅 Rust 1.82.0 公告)。(#25342)true
和 false
的渲染,以匹配 C、C++、Go、JSON、JSONC、Python 和 Rust 的主题中定义的 boolean
高亮显示。(#25338; 感谢 everdrone)@variable
语法高亮的颜色,使其不那么强烈。(#25464)@variable
语法高亮的颜色。(#25468)vim-exchange
的实现 (#24678; 感谢 thomasheartman)grr
)添加了 Vim::CurrentLine
的缺失默认键绑定 (#24678; 感谢 thomasheartman)gr
问题 (#25301; 感谢 0x2CA)assistant: insert into editor
缺少选定范围的错误。(#25133; 感谢 rien7)editor: copy
缺少选定范围的错误。(#25133; 感谢 rien7)alt-m
(back-to-indentation
) 的映射。(#25428)alt-{
和 alt-}
段落导航的支持。(#25284)ctrl-_
) 在 macOS 的终端中默认不起作用的问题。(#25578)ctrl-b
失效的问题。(#25476)cmd-up
现在移动到上一个多缓冲区摘录的开头,cmd-down
移动到下一个多缓冲区摘录的结尾。 对于普通缓冲区,这些行为与以前相同,移动到开头或结尾。(#25299)--target-dir
的支持 (#24725; 感谢 bnjjj)lib.rs
、main.rs
或 mod.rs
中的 tests
模块生成 cargo test
任务的问题 (#25092):
结尾的注释添加换行符时应用缩进的错误。(#25437)LICENSE.md
和 LICENCE.md
文件进行许可证检测的支持。(#25422; 感谢 pngdrift)This Buffer
选项。(#25566)edit_prediction_provider
设置为 none
,就立即禁用。(#25505)GoToDefinitionSplit
操作中的一个错误,即如果定义位于同一活动编辑器中,则不会进行拆分。(#24990)copy_recursive
无限运行的错误。(#25317)~/.hushlogin
存在时,Zed 终端生成的 shell 不会隐藏登录消息的错误(#25224)buffer_line_height
时上下文菜单无法使用。(#25172)shift-
修饰符符号的键盘映射使用问题(#25238;感谢 0x2CA)editor::SelectLargerSyntaxNode
时导致的崩溃。(#25585)menu::SelectLast
操作的项目面板实现(#25160;感谢 pjtatlow)auto_indent_on_paste
设置为 false
时,yank + 粘贴缩进不正确的错误。(#25447)0.175.6
02/27/2025
0.175.5
02/26/2025
我们目前正在努力将 Git 更深入地集成到 Zed 中。加入等候名单以获取私人测试版,我们将在准备好后将您拉入!
Andromeda
、Atelier
、Rosé Pine
、Sandcastle
、Solarized
和 Summercamp
。如果您想继续使用这些扩展程序之一(#24589)
zed: extensions
zed-legacy-themes
扩展shift-click
扩展选择范围的功能。(#25143)alt-shift
切换到列选择的支持。(#25096).bats
文件识别为 Shell Script
。(#24877;感谢 bersace)keybindings.json
文件中来选择启用持久性
"cmd-=": ["zed::IncreaseBufferFontSize", { "persist": true }]
"cmd-+": ["zed::IncreaseBufferFontSize", { "persist": true }]
"cmd--": ["zed::DecreaseBufferFontSize", { "persist": true }]
"cmd-0": ["zed::ResetBufferFontSize", { "persist": true }]
.rdata
和 .RData
文件的文件图标关联。(#24925;感谢 aymennasri).sln
).suo
).csproj
).fsproj
).vbproj
).cr
, .ecr
) 的文件图标的功能。(#24903;感谢 nobodywasishere)aq
、iq
、ab
和 ib
motions 的逻辑,使其更像 mini.ai 插件。(#24167;感谢 oca159)select all matches
(与 ga
保持一致)。(#24897;感谢 dinocosta)AcceptEditPrediction
键盘绑定的 edit_prediction_conflict
上下文。(#25015).dev.vars
文件。(#24838)restore_unsaved_buffers: true
)。(#25106)editor: split selection into lines
在选择结束时添加额外的行。(#25053)elixir-ls
、tailwindcss
、phpactor
)由于 InitializeParams 中缺少 root_uri 属性而无法启动的问题。(#25290)next-ls
的启动问题。(#25344)cmd-click
。(#25104)cmd
,切换到另一个应用程序再切换回来后,链接仍然突出显示/可点击。(#25104)ci{
中的崩溃。(#25138)gr
。(#24932;感谢 xzbdmw):wq
。(#24603)F10
和 Alt+Fn
的处理。(#24745;感谢 gim913)0.174.8
02/25/2025
0.174.7
02/25/2025
0.174.6
02/20/2025
zed: increase buffer font size
和 zed: decrease buffer font size
命令会更改用户的 settings.json
文件的问题。 现在,默认情况下,使用这些命令不会更改您的设置文件,但您可以通过将以下一些键绑定添加到您的 keybindings.json
文件来选择持久性
"cmd-=": ["zed::IncreaseBufferFontSize", { "persist": true }]
"cmd-+": ["zed::IncreaseBufferFontSize", { "persist": true }]
"cmd--": ["zed::DecreaseBufferFontSize", { "persist": true }]
"cmd-0": ["zed::ResetBufferFontSize", { "persist": true }]