Enhancements
General
- Added ability to perform project search only in opened files (#16580; thanks CharlesChen0823).
- REPL: Added a readonly buffer for viewing large outputs (#17121).
-
REPL: Added button to open full text output in a separate buffer (#16971).
-
Improved the Zed CLI
zed
to pass along the environment as it was on the CLI to the opened Zed project. That environment is then used when opening new terminals, spawning tasks, or language servers (#17075). Specifically:- If Zed was started via
zed my-folder
, a terminal spawned withworkspace: new terminal
will inherit these environment variables that existed on the CLI - Specific language servers that allow looking up the language server binary in the environments
$PATH
(such asgopls
,zls
,rust-analyzer
if configured, ...) will look up the language server binary in the CLI environment too and use that environment when starting the process. - Language servers that are not found in the CLI environment (or configured to not be found in there), will be spawned with the CLI environment in case that's set. That means users can do something like
RA_LOG=info zed .
and it will be picked up by the rust-analyzer that was spawned. - Check the demo here.
- If Zed was started via
-
Added multiuser support for up to 100 users on the same machine (#14143; thanks samsonjs).
-
Linux: Added an editor setting to toggle middle-click pasting (enabled by default) (#16572; thanks micahscopes).
-
Linux: Improved GPU detection (#17022).
Languages
- Improved syntax highlighting of Rust methods in completions menu (#17184).
- Improved language server reliability in multi-worktree projects and monorepo. We now notify the language server more reliably about which files have changed (#17173).
- Improved Rust syntax highlighting queries (#17097; thanks everdrone).
Performance
- Improved editor performance in presence of many runnable indicators in the gutter (#17250).
- Improved outline panel performance (#17183).
AI
- Added a way to accept terminal inline assist suggestions without executing them (#17299).
- Improved Assistant Configuration to make links clickable (#17011).
- Improved UX of tab slash command completions (#17296).
- Added support for argument completions for context server prompts. These show up as regular completions to slash commands (#17085; thanks dsp-ant).
- Added ability for context servers to provide optional descriptions in
prompts/get
responses, displayed as slash command labels (#17077; thanks dsp-ant).
Bug Fixes
- Fixed outline panel filter not working for certain Vim bindings (#17293; thanks CharlesChen0823).
- Fixed inlay hints not being enabled for JavaScript when using the vtsls language server (#17334; thanks matubu).
- Fixed an issue where the inline assist would be dismissed even when instructed to regenerate the transformation after an error (#17301).
- Fixed a bug where "Paste" wasn't always shown in project panel context menu (#17262).
- Assistant: Fixed
New Context
opening a new file when focused in the editor pane (#17106; thanks ramipellumbi). - Fixed GPT-4 breakage (incorrect
max_output_tokens
handling) (#17168). - Fixed a bug where save replaced the existing open file, using the new pane to replace the old pane (#17123; thanks CharlesChen0823).
- Fixed a bug where inline completions (Copilot or Supermaven) were showing up in Vim's normal mode (#17154).
- Fixed an issue where
workspace::ActivatePaneInDirection
could not activate the center pane (i.e. one couldn't navigate from terminal or assistant panel to the center pane) after loading Zed (#17140). - Fixed an issue where context servers returning a carriage return character would result in a panic (#17112; thanks dsp-ant).
- Fixed a panic opening a file in ~/ with
use_system_prompts: false
(#17027). - Fixed an issue with dangling disk images during macOS auto-updates by implementing automatic unmounting (#17019; thanks vitallium).
- Fixed an issue where toggling inline completions in a markdown file did not work correctly (#17104).
- Fixed Go tests not being able to run in case the package (and the
go.mod
) was in a nested folder (#17108; thanks glaudiston). Pre-defined Go tasks now run in the package's directory. That meansgo test ./package -run MyTest
will run in./package
and executego test -run MyTest
. Also,go test ./...
will run in the package directory, not at the root of the Zed project, which is a small breaking change. In case one wants to rungo test ./...
from the root, one can spawn a manual task that does this. - Linux: Fixed the prompt library not closing on Wayland (#16850; thanks apricotbucket28).
- Linux: Fixed copy/paste shortcuts in context menus (#17103).
- Linux: Zed will no longer be marked as the default file browser (#16940; thanks valaphee).