Releases

Keep up with the weekly Zed releases.


November

0.162.3

11/20/2024

macOS
Linux

Enhancements

General

  • Repl: Added kernel picker (#20274).
image
image
  • Added setting to display error and warning indicators in project panel items (#18182; thanks nilskch).
image
image
  • Added macOS key equivalents to cmd-shift-p debug: Open Key Context View (#20530).
  • Added support for kernelspecs based on python environments (#20467).
  • Added initial support for FreeBSD (#20480; thanks CalebHeydon).
  • Added language setting to disable inline comments in certain scopes. Example: {"languages": {"Go": {"inline_completions_disabled_in": ["comment", "string"]}}} (#20508).
  • Added ability to configure rootFontSize for the tailwindcss-language-server. Example settings: {"lsp": {"tailwindcss-language-server": {"settings": { "rootFontSize": 50}}}} (#20500).
  • Added shortcuts for open settings and revert selected hunks to JetBrains keymap (#20414; thanks trin94).
  • Added initial set of default emacs keybindings (#19605; thanks vextorspace).
  • Added a project panel: remove from project action so that users can now add a keybinding to trigger it: project_panel::RemoveFromProject (#20360).
  • Added support for look-around in project search (#20308; thanks wbbradley).
  • Changed project panel to mark files when opening them, which should make it more intuitive to mark multiple files after opening a single one (#20412).
  • Improved terminal.working_directory when editing settings.json or other non-project files (#18251).
  • Improved task tabs to always rerun tasks on click (#20591).
  • Improved runnable's refresh timings during project search (#20470).
  • Improved the deleting or trashing of files by showing a confirmation prompt when unsaved changes exist (#20172).
  • Improved window title by showing workspace name before filename (#20310; thanks schpet).
  • Improved revealing items for outline and project panels (now center of the list is preferred) (#20349).
  • Improved contrast in default One themes (#20304).
  • Improved prompt for generating title summaries, avoiding preambles (#20822).
  • Stopped showing signature help after completions by default (#20726).
  • Repl: Only show session-oriented repl:: actions for editors after a session has been created (#20396).

AI

  • Changed the model selector in the assistant panel to only show configured models (#20392).
  • Improved knowledge of which model is used when with alternative inline models turned on (#20350).
  • Improved UI feedback when inserting /delta without new changes (#20356).

SSH Remoting

  • Improved error message on unsupported OS/Arch (#20529).
  • Improved support of Zed remote server compilation for riscv64 (#20489; thanks ifsheldon).

Languages

  • Python: Added python-lsp-server as a secondary built-in language server (#20358).
  • Zig: Changed treesitter grammars to the official Zig grammar (#20004; thanks xdBronch).

Bug Fixes

  • Fixed detection of detect_venv.directories being ignored by a worktree (#20227; thanks SirSilver).
  • Fixed context menus not cycling over its edge when selecting items (#20592).
  • Fixed the inability to navigate into project search input with the keyboard (#20579).
  • Fixed an issue with image output from REPL kernels that didn't use base64 padding (#20561).
  • Fixed window drawing when switching X11 workspaces, particularly for tiling window managers such as i3wm and XMonad (#20535).
  • Fixed editor::Rewrap now preserves cursors and only inserts whitespace by using character-level diff instead of line-level diff (#20368).
  • Fixed a long initial delay when performing a project search in a large repository (#20513).
  • Fixed a bug in toolchain selector that caused it to not pick up venvs for tabs before the user interacted with them (#20488).
  • Fixed a bug in the language selector that caused it to pick up Markdown as the language for a buffer up until the tab was interacted with (#20488).
  • Fixed language server logs menu only showing a single entry when using SSH remoting (#20495).
  • Fixed language server names showing up only as "node" (#20428).
  • Fixed an issue where the image preview would not update when the underlying file changed (#20374; thanks wbbradley).
  • Fixed an issue where completions were not triggering when multiple language servers were used for a single file (#20471).
  • Fixed a bug where you could not jump to an untitled file from the multibuffer headers (#20469).
  • Fixed a bug that allowed toggling comments in readonly buffers (#20464; thanks antaz).
  • Fixed a bug where toggling line numbers would incorrectly hide whitespace indicators (#20427).
  • Fixed project panel entries flickering the border when the user clicks on another entry to open it (when preview tabs are disabled) (#20417).
  • Fixed a bug where [] was considered a clickable link in the terminal (#20386; thanks MrSubidubi).
  • Fixed a bug where a directory would be expanded when dropped onto itself in project_panel (#20365; thanks matubu).
  • Fixed inline completions (Copilot, Supermaven, ...) taking over when a snippet completion was active. That resulted in tab not working to jump to the next placeholder in the snippet (#20300).
  • Fixed a bug where file-closing actions would close pinned tabs (#19593; thanks axelcarl).
  • Typescript: Fixed a bug where abstract classes weren't shown correctly in the outline view when editing code (#20377).
  • Fixed Zed when the directory that you opened is renamed (#20313).
  • SSH Remoting: Fixed password dialog for remote server showing ligatures (#20549).

Breaking Changes and Notices

We have made a number of changes to keyboard shortcuts to support non-US keyboard layouts. See the blog post for more information on our general approach, or the issue for details about what changed.

  • All builtin shortcuts that were bound to alt-[a-z] have been rebound, as these shortcuts intefered with typing on non-US keyboards. You can restore these by adding them to your keymap file. The complete list of changes is:

    Old BindingMapped ToFunction
    alt-balt-righteditor::MoveToNextWordStart
    alt-dalt-deleteeditor::DeleteToNextWordEnd
    alt-falt-lefteditor::MoveToNextWordEnd
    alt-shift-fctrl-shift-fproject_panel::SearchInDirectory
    alt-halt-backspaceeditor::DeleteToPreviousWordStart
    alt-mctrl-shift-massistant::ToggleModelSelector
    alt-qcmd-k q / ctrl-k qeditor::Rewrap
    alt-tcmd-shift-r / ctrl-shift-rtask::Spawn
    alt-shift-talt-cmd-r / ctrl-alt-rtask::Rerun
    alt-vctrl-shift-v["editor::MovePageUp", { "center_cursor": true }]
    alt-zcmd-k z / ctrl-k zeditor::ToggleSoftWrap

    Note that alt-t and alt-shift-t have been kept as secondary bindings for Tasks but we may remove them completely in the future.

  • macOS: (For non-US keyboards). Shortcuts are now automatically localized in the same way they are on macOS. For example on QWERTZ keyboards cmd-[ is now cmd-ö and cmd-] is cmd-ä. This allows anyone to access all of our builtin shortcuts.

  • macOS: (For non-Latin keyboards). All keyboard shortcuts now trigger based on the command layout of your keyboard. This fixes ctrl-a on a Cyrillic keyboard, and allows you to use Vim's normal mode on an IME-based keyboard like Japanese.

  • macOS: Key repeat is now always enabled in the Terminal. This disables the character picker that typically shows up when you hold down a key. This was previously enabled only on a best-effort basis.

  • Linux: Use ctrl-right instead of cmd-right as the default for editor::AcceptPartialInlineCompletion (#20443).