v0.132.0-pre
Pre-releaseEnhancements
General
- Added preview tabs (#4922).
- Added an editor controls menu to the tool bar. This will contain visual, editor-specific options like toggling inlay hints, showing git status or blame, etc.
- The top-level inlay hint toggle has been removed from the tool bar, as it is now in this menu.
- Toggling the inline git blame is also possible from this menu.
- Added support for Centered Layout (#4685).
- Added
restore_on_startup
option, acceptinglast_workspace
(default) andnone
options. Withnone
, new Zed instances will not restore workspaces that were open last. - Added a setting under
scroll_sensitivity
that allows user to control the scroll sensitivity. This value acts as a multiplier for the horizontal and vertical scroll speed. - Improved search UI. It now works in narrower panes, and avoids scrolling the editor on open.
- Added a setting to show/hide the terminal button in the status bar:
{"terminal": {"button": false}}
to hide it (#10513). - Improved ordering and organization of context menus in the project panel to bring them closer to those in similar applications.
- Hovering over an edited message in the chat now displays a tooltip revealing the timestamp of the last edit.
- Added bindings to allow
up
anddown
arrow keys to be used while the tab switcher is open. - Added support for toggling a checkbox in markdown preview by clicking on it (cmd+click) (#5226).
- Signing out of Zed will now clear the credentials state and delete the corresponding keychain items (#4716).
- Added support for scrolling to the message you are replying to when clicking on the reply preview (#10028).
- Added a
project_panel.auto_fold_dirs
setting which collapses the nesting in the project panel when there is a chain of folders containing a single folder.
- Increased diagnostic context to match the project search context.
- Adjusted Zoom In/Out for Pane and Terminal Pane to show keybinding labels.
Git
- Added inline
git blame
information the editor. It's enabled by default. It can be turned off in the settings with{"git": { "inline_blame": {"enabled": false } } }
for every buffer. It can be turned on/off temporarily for the current buffer, witheditor: toggle git blame inline
(#4793). - Added a notification to show git blame errors.
Tasks
- Added task summary output into corresponding terminal tabs.
Task::Rerun
action can now overrideallow_concurrent_runs
anduse_new_terminal
properties of the task that is being reran.- Added tasks for bash and Python to execute selections and open files in terminal.
- Improved task modal ordering, run, and deletion capabilities.
Extensions
- Changed the "Install" button for extensions to always install the latest compatible version instead of becoming disabled when the latest version of an extension is incompatible with the current Zed version.
- Added an indicator to show the currently-installed extension version when not on the latest version.
- Disabled extension entries when there is a development copy of that extension installed.
Languages
- Added ability to specify
clangd
binarypath
(must be absolute) andarguments
in user settings. Example:{"lsp": {"clangd": {"binary": {"path": "/usr/bin/clangd", "arguments": ["--log=verbose"] }}}}
Vim
- Added the current operator stack to the Vim status bar at the bottom of the editor (#4447).
- Added
g c c
andg c
to Vim keybindings to toggle comments in normal and visual mode respectively. - Added
g ]
andg [
to Vim keybindings to go to next and previous diagnostic error. - Changed
[ x
and] x
(which select larger/smaller syntax node) in Vim mode to also work in visual mode. - Updated Vim regexes to use
\<
\>
instead of\b
(#10539). - Added a
vim: open default keymap
command to show the default Vim keymap (#8593).
Bug Fixes
-
Fixed project panel entries misalignment with narrow panel & file icons turned off.
-
Fixed
git blame
data not handling the undoing of deletions correctly. (#10583). -
Fixed git blame functionality not handling errors correctly when there are no commits yet or when file isn't committed yet.
-
Fixed caret movement issue for some special characters.
-
Fixed "Find In Project" app menu item having no keybinding (#10611).
-
Fixed some cases where diagnostics tab showed outdated entries before the language server is done with its analysis.
-
Fixed a bug where multiple extension suggestions for the same extension could be shown at once (#10320).
-
Fixed a bug where project panel settings changes would not be applied immediately.
-
Fixed Markdown code blocks in tooltips not having correct language highlighting.
Before:
After:
-
Fixed Markdown returned by
clangd
being rendered the wrong way (#10511).Before:
After:
-
Fixed left movement in Vim mode when soft wrapping is enabled (#10350).
-
Fixed a panic when installing the CLI/registering for the
zed://
protocol. -
Fixed a panic when rendering certain malformed SVGs.
Breaking Changes
- Pulled support for the following languages out into extensions, with automatic suggestions for their corresponding file extensions:
- Elm (
.elm
) - GLSL (
.vert
,.frag
) - Lua (
.lua
) - Nix (
.nix
) - Nu (
.nu
) - OCaml (
.ml
,.mli
) - Racket (
.rkt
) - Scheme (
.scm
) - Terraform (
.tf
,.tfvars
,.hcl
) - Vue (
.vue
)
- Elm (