Enhancements
General
- Added file icons to the tab switcher. Enable with by adding
"tabs": {"file_icons": true}
to settings
(#17115; thanks Daste745). - Added an
editor: rewrap
command for rewrapping text to the maximum line width (#17909). - Added the ability to copy surrounding code blocks in the assistant panel into the clipboard, or inserting them directly into the editor, without manually selecting. Place cursor anywhere in a code block (marked by triple backticks) and use the
assistant::CopyCode
action (cmd-k c
/ctrl-k c
) to copy to the clipboard, or theassistant::InsertIntoEditor
action (cmd-<
/ctrl-<
) to insert into editor (#17853; thanks thataboy). - Added ability to click on filepaths when using
git diff
inside the built-in terminal (#17446; thanks watsoncj). - Added theme styling option to separate terminal background view from terminal background color, for transparent terminal backgrounds (#17611; thanks AlbertMarashi).
- Added keyboard shortcut to rearrange tabs (left:
ctrl-shift-pageup
, right:ctrl-shift-pagedown
) like Chrome (#15583; thanks tepek2). - Added a way to join all panes into one with
pane::JoinAll
action (#17673). - Added a setting for
cursor_shape
. Can bebar
,block
,underline
, orhollow
. Default isbar
(#17572; thanks thataboy). - Added an
inlay_hints.show_background
setting to allow displaying backgrounds for inlay hints in the editor (#18010).- This setting defaults to
false
. - If enabled, the inlay hint backgrounds will use the
hint.background
color from the theme.
- This setting defaults to
- Added access to the local shell environment for task context providers, enabling local Rust tool installations to function (#17964; thanks WeetHet).
- Improved underline appearance (#17586; thanks ncor).
- Persisted tab pin state across Zed runs (#17670).
- Changed documentation popovers to render Markdown prose using the UI font instead of the buffer font. Code blocks still using the buffer font (#17761).
- Improved welcome page design and added additional links (#17874).
- Enabled dark mode for documentation (#17940).
- Changed
ui_font_size
andbuffer_font_size
to require values to be between 6px and 100px (inclusive) (#17829). - Changed
tab_size
setting to require values be between 1 and 16 (inclusive) (#17882; thanks ihavecoke).
SSH Remoting
- Added support for booting langauge servers (in limited circumstances) (#17655).
- Settings files are now opened in a non-remote window (#18020).
- Show LSP status in status bar (#17912).
- Look up language server binaries in the environment on SSH host (#17658).
Languages
- Improved C syntax highlighting (#17541; thanks krizej).
- Improved C++ syntax highlighting (#17471; thanks VacheDesNeiges).
- Changed built-in language support (Rust, Go, C, YAML, ...) to lookup language-server specific settings locally in project directory first before falling back to global value (#17753).
- Changed
rust-analyzer
support to look uprust-analyzer
binaries by default in$PATH
. That changes the default value to something users requested (#17926). - Improved highlighting for property names in CSS (#17324).
Vim
- Improved edge-case handling for
ctrl-a
/ctrl-x
(#17644; thanks hekmyr). - When using
OpenFile
(gf
in Vim mode) and the word under the cursor is not an existing file path, we now fall back and additionally check whether a file called<word-under-cursor>.<language-specific-path-suffixes>
exists. That's similar to Vim'ssuffixesadd
option (#17805).
AI
- Added a new
/delta
command to re-insert changed files that were previously included in a context (#17903). - Added support for OpenAI o1-mini and o1-preview models (#17796).
- Added support for fill-in-the-middle style inline completions (#17578; thanks kevmo314).
- Added support for specifying keep_alive for Ollama AI models via settings (#17906).
- Changed default
low_speed_timeout_in_seconds
option to600
for OpenAI provider to accommodate recent o1 model release (#17804).
Bug Fixes
- Fixed tab bar not preserving pinned tab state when an editor::NewFile action is executed (#18072).
- Fixed macOS incorrectly using
~/.cache/zed
instead of~/Library/Caches/Zed
(#17949). - Fixed a bug where files with colons in their names could not be opened from the Zed CLI (#17281; thanks erickguan).
- Fixed a bug where Zed would initiate a window move and then refuse to release the mouse (#17801; thanks skytwosea).
- Fixed a bug where file watching for Go projects would resort to watching the filesystem root (#17769).
- Fixed a bug where an extra row was appearing in the toolbar when it was empty (#17888; thanks zhang0098).
- Fixed a bug where the
editor: toggle comments
command didn't use the right comment syntax in JSX and TSX elements (#17734). - Fixed
ctrl-b
not moving the cursor (#17808). - Fixed display of task commands by using single quotation marks instead of backticks (#17637; thanks bestgopher).
- SSH remoting: Fixed rename over language server (#17897).
- SSH remoting: Fixed shell environment loading for remote shells (#17665).
- Fixed user-configured
initialization_options
being passed asworkspace/Configuration
for the vtsls, TypeScript, and YAML language servers (#17757). - Fixed a wrong offset calculation in the Supermaven inline completion provider (#17925; thanks kevmo314).
- Fixed the
is
and...
highlights for TypeScript (#17787; thanks AlbertMarashi). - Fixed a panic that could occur when expanding an excerpt within a multibuffer when the cursor was at the end of the excerpt (#17955).
- Fixed a link in the Assistant panel to the OpenAI console (#17675; thanks aa2kb).
- Fixed inline completions showing up in Vim normal mode (#17727).
- Vim: Fixed
gv
after > and < in visual mode (#17986). - Fixed link to Privacy Policy in terms displayed by macOS DMG (#17877; thanks Eamon Sisk).
- Linux: x86 binaries now require glibc >= 2.35; was >= 2.29 (#17375).