github zed-industries/zed v0.222.0-pre

latest release: nightly
pre-release8 hours ago

This week's release includes initial notebook execution support (launch kernels and run code cells directly in Zed), zooming and panning in the image viewer, Windows as a supported target for SSH remoting, significantly reduced resource usage when watching filesystem changes on macOS, and the ability to rename terminal tabs via right-click or double-click.

Features

AI

  • Agent: Made the message queue feature available for external agents as well. (#47379)
  • Agent: Added a menu for inserting context more easily with the mouse in the agent panel. (#47768)
  • Agent: Improved @ file completions in agent panel to be more accurate. (#47466)
  • Agent: Improved double-click word selection in Agent Panel to respect punctuation and language-specific word characters. (#47844)
  • Agent: Added a setting for controlling the behavior of the stop button in the terminal tool call card (between cancelling the command to run and the thread, or just the command). (#47521)
  • Improved memory usage of large ACP thread diff multibuffers. (#47526)

Git

  • Improved the project picker in the Git panel by also displaying the Git status icon on them, to clearly indicate which repos have changes. (#47752; thanks tartarughina)

Languages

  • C/C++: Added highlights for #elifdef, #elifndef directives and document comments. (#45672; thanks hokein, #47556; thanks ozacod)
  • C++: Added first-line language detection for extensionless libc++ headers. (#47443; thanks ozacod)
  • C: Updated tree-sitter-c for highlighting attribute specifier. (#47156; thanks ozacod)
  • Go: Improved support to run table-test subtests, handling tests without explicitly declaring variables for test scenarios. (#46645; thanks lzakharov)
  • Nim: Updated file aliases so icon is shown for .nims/.nimble files. (#47616; thanks ire4ever1190)
  • TypeScript: Improved keyword syntax highlighting for declarations (const, let, var, function, class, enum, interface, type) and imports/exports (export, from, import). (#47435; thanks ahcurrier)

Terminal

  • Added ability to rename terminal tabs via right-click context menu and double-click. (#45800; thanks tacshi)

Vim / Helix

  • Added relative line jump support to go-to-line action via +/-/f/b/F/B. (#46932; thanks KalaayPT)
  • Added a vim.gdefault setting to make /g (replace all matches in a line) the default for substitutions, along with :set gdefault and :set nogdefault commands (short forms: gd, nogd). (#47664; thanks bluetech)

Remote Development

  • Added configurable remote server cache retention (default 5). (#47202; thanks cppcoffee)
  • Improved error handling in the dev container crate to prevent panics. (#47513; thanks KyleBarton)
  • Improved parsing of devcontainer CLI output when using earlier versions. (#47403; thanks KyleBarton)
  • Improved error messaging to guide user away from opening a dev container from within a remote project. (#47816; thanks KyleBarton)

Windows

  • Added support for Windows as a target platform for SSH remoting. (#47460)
  • Added "Reveal in File Manager" to the project panel context menu on WSL. (#47288)

Linux

  • Relaxed the checks on xdg_wm_base to ensure compatibility with Weston 9. (#47185; thanks linghengqian)

macOS

  • Zed now uses significantly fewer resources when watching filesystem changes. (#47322; thanks marcocondrache)

REPL / Notebooks

  • Added initial notebook execution support. (#43553; thanks MostlyKIGuess)
    • NotebookEditor can launch kernels, execute code cells, and display outputs.
    • Basic cell operations: run current cell, run all, move up/down, add code/markdown blocks. Keybindings follow Jupyter defaults.

Other

  • Added zooming and panning support in the image viewer with zoom in/out, reset, fit-to-view, zoom-to-actual actions, scroll-wheel zoom with modifier, click-and-drag panning, zoom percentage overlay, and toolbar controls. (#43944; thanks MostlyKIGuess)
  • Added a menu item in the buffer and tab right-click menu for opening Markdown and SVG files in the preview tab. (#47821)
  • Added commands for extending selections to syntax node boundaries, i.e., editor: select to start of larger syntax node and editor: select to end of larger syntax node. (#47571; thanks alexispurslane)
  • Added support for specifying multiple snippets paths in extensions. (#45829)
  • Added project_panel.bold_folder_labels to show folder names with bold text in the project panel (defaults to false). (#47631; thanks zertosh)
  • Added a menu item to close the current project, going back to a clean window state. (#47365)
  • Added support for installing a specific Zed version via the ZED_VERSION environment variable in the install script (defaults to latest when unspecified). (#45522; thanks mikelneonedwin)
  • Added "Reopen with Encoding" feature (currently supported for local files). (#46553; thanks tomopumipumi)
  • Improved empty workspaces with unsaved files to now restore on startup (hot-exit). (#46557; thanks shfc)
  • Improved performance when a large number of files were open by making background diagnostics more efficient. (#47510)
  • Improved project search loading UI. (#47620; thanks zertosh)
  • Improved memory usage of large git diff multibuffers. (#47524)
  • Changed bold UI text to render using Plex SemiBold instead of Bold. (#47725)
  • Changed the auto signature popover — "auto_signature_help": true — to respect hover_popover_delay. (#46745; thanks TheSalarKhan)
  • Added server notifications auto-dismiss with "global_lsp_settings": { "notifications": { "dismiss_timeout_ms": 5000 } } setting. (#46708; thanks tomatitito)
  • Added support for importing VS Code Insiders and VSCodium Insiders user settings (settings.json). (#47247; thanks maj113)
  • Block cursor no longer reveals characters within redacted ranges. (#45549; thanks tacshi)

Bug Fixes

  • Agent: Fixed old AI text thread sessions failing to open from History when they contain icons that were removed in previous updates. (#47624; thanks lex00)
  • Agent: Fixed a bug where the inline assistant feedback buttons were being displayed despite the setting "Enable Feedback" was turned off. (#47382)
  • Agent: Fixed cut-off mention creases in the inline assistant. (#47772)
  • Agent: Fixed message editor stealing focus from other panels. (#47321; thanks fabianszabo)
  • Settings UI: Fixed a bug with the number field rendering of the font weight setting. (#47384)
  • Vim/Helix: Fixed bug causing normal-mode vim/helix selections to get expanded during vim::Scroll commands. (#47024; thanks jrobsonchase)
  • Rust: Fixed enum variants with no lower-case being highlighted as constants instead of types. (#45546; thanks tacshi)
  • Fixed typing emoji using the macOS system palette (cmd-ctrl-space). (#47835)
  • Fixed issue where user .ssh/config file would not parse if global ssh config file was not present. (#47310; thanks Gaff)
  • Fixed a bug where workspace::SendKeystrokes would not allow remapping keys in different keyboard layouts. (#47061; thanks everdrone)
  • Fixed a small issue where highlights of the syntax tree view would persist after the view was closed. (#47638)
  • Fixed a visual glitch with sticky scroll headers in markdown. (#47314; thanks KyleBarton)
  • Fixed alignment of folded directory names in project panel. (#47648)
  • Fixed an issue where deleted rules from the rules library were getting restored after a restart. (#47323)
  • Fixed an issue where the terminal would sometimes fail to write shell history. (#47408)
  • Fixed bracket color not updating when system theme changes. (#47505; thanks smitchaudhary)
  • Fixed clearing hovered link when no target found. (#47134; thanks cppcoffee)
  • Fixed Conda showing up in terminal on Windows. (#47261)
  • Fixed extension uninstall button not working when an upgrade is available. (#47745; thanks eureka928)
  • Fixed language servers unnecessarily restarting when changing lsp.<server>.settings configuration. Dynamic settings are now properly updated via workspace/didChangeConfiguration without requiring a server restart. (#47376; thanks aviatesk)
  • Fixed project-less workspaces not persisting their dock state. (#45966; thanks ppfmagno)
  • Fixed remote server binaries accumulating on WSL over time. (#47839)
  • Fixed "Reveal in File Manager" not working for WSL remote connections on Windows. (#47288)
  • Fixed some instances of authentication errors with the Zed API that could be resolved automatically by refreshing the token. (#47512)
  • Fixed struct union enum outline issues for C. (#46125; thanks ozacod)
  • Fixed terminal hanging when a child process is killed by a signal (e.g., SIGSEGV from null pointer dereference). (#47420)
  • Fixed user-defined tasks with unresolved ZED_* variables being silently omitted. (#45621; thanks playdohface)
  • Fixed vim mode incorrectly switching to Visual mode on first project search. (#44284; thanks MostlyKIGuess)
  • Fixed vim mode paragraph motions (} and {) to correctly ignore whitespace-only lines. (#47734; thanks lex00)
  • Fixed a crash in LoadingLabel's loading animation when displaying CJK or emoji text. (#45632; thanks MomentDerek)
  • Fixed uninitialized var declaration not being shown in outline. (#46499; thanks hokein)
  • Fixed LSP integrations to send language server shutdown requests with correct parameters. (#46027; thanks Spirrwell)

Don't miss a new zed release

NewReleases is sending notifications on new releases.