Software 43918 Published by

A new major update of the Zed editor has been announced, featuring the introduction of drag-and-drop file uploads for remote projects, enhanced remote branch support in the branch picker, the ability to manage multiple Python virtual environments within a single worktree, and customizable Vim cursor shapes tailored for various modes. The update features enhancements in terminal right-click functionality, regex highlighting, code completion ranking, and head commit SHA information. The branch picker has been enhanced to support remote branches and now includes head commit SHA information for the Git branch picker.

The virtual environment selector now retrieves virtual environments according to the parent directory of the currently active file, enabling the use of multiple active virtual environments within a single worktree. Code completions emphasize LSP hints and HTML highlighting. The editor now includes customizable cursor shape settings for each mode, along with added support for Qwen3. Recent updates fix several problems, such as a bug where pressing shift-v on an empty line appeared to select the next line, wrong paths opening when you cmd-click in the terminal, crashes happening when joining a project with a multibuffer that has combined excerpts, repeated excerpts in multi-buffers, the app crashing when scrolling over single-line input fields, and differences in macOS key symbols showing up on other platforms. The update eliminates the requirement for OpenBSD netcat (nc) to input passwords for git or ssh during remote development. The ZED_DEVICE_ID environment variable has been enhanced, and the configuration directory utilized when Zed is installed through Flatpak has been corrected.





Zed v0.184.8

Today's release features drag-and-drop file uploads to remote projects, remote branch support in the branch picker, multiple Python virtual environments in a single worktree, and customizable Vim cursor shapes for different modes.

Enhancements

  • Added the ability to copy external files into remote projects by dragging them onto the project panel. ( #28987)
  • Added a way to navigate between changes with editor::GoToPreviousChange and editor::GoToNextChange. ( #28891)
  • Improved terminal right-click to automatically select the word under the cursor if no selection is present. ( #29131; thanks  kylelau519)
  • Improved regex highlighting. ( #28183; thanks  chbk)
  • Improved code completion ranking with better balance between LSP and fuzzy search results. ( #29442)

Git

  • Added support for remote branches to the branch picker. ( #28978)
  • Added head commit SHA information to the Git branch picker in the title bar and Git panel. ( #29007)

Languages

  • Python: Virtual environment picker now looks up virtual environments based on the parent directory of the active file; this enables having multiple active virtual environments in a single worktree. ( #28875)
  • Improved code completions to prioritize LSP hints, such as local variables, so they appear at the top of the list. ( #29182)
  • Improved HTML highlighting. ( #28184; thanks  chbk)

Vim

  • Vim: Added cursor shape settings for each mode. ( #28636; thanks  knmts)
{
  "vim_mode": true,
  "vim": {
    "cursor_shape": {
      "normal": "hollow",
      "insert": "bar",
      "replace": "block",
      "visual": "underline"
    }
  }
}

AI

Bug Fixes

  • Fixed a regression where shift-v up on an empty line would appear to have selected the line after (though in reality it did not). ( #29253)
  • Fixed wrong paths opening when cmd-clicking in the terminal. ( #29274)
  • Fixed a panic when joining a project with a multibuffer with merged excerpts. ( #29245)
  • Fixed an issue where the --system-specs arg wouldn't work if Zed panicked during app initialization (e.g., when failing to create a Vulkan context in blade). ( #29240)
  • Fixed duplicated excerpts (and resulting panics) in multi-buffers. ( #29193)
  • Fixed an issue where Zed would crash when scrolling over single-line input fields with scroll_beyond_last_line set to vertical_scroll_margin. ( #28471; thanks  MrSubidubi)
  • Fixed an issue where the editor context menu remained visible when a modal, such as the command palette, was opened. ( #29127; thanks  redforks)
  • Fixed the signature popover not hiding on editor scroll. ( #29149)
  • Fixed Zed sometimes becoming a stopped background process when run from a terminal. ( #29070)
  • Fixed an issue where invoking DeployReplace while the Find dialog was open did not switch to the Find & Replace dialog. ( #29066)
  • Fixed an issue where invoking DeployReplace while the Find & Replace dialog was already open did not focus it. ( #29066)
  • Fixed macOS key symbols being displayed on other platforms. ( #29016)
  • Fixed an issue where editor scrolling would stop when the mouse hovered over another editor's gutter. ( #28924)
  • Fixed a bug that would sometimes cause Gemini models to fail streaming their response. ( #29470)
  • Fixed a missing shell-escape in askpass resulting in erroneous "Permission denied" errors when trying to connect to a remote server over SSH. (preview only) ( #29449)
  • Fixed a bug where the Key Context View could show incorrect context, causing confusing results. ( #29324)
  • Fixed a rare panic in the editor. ( #29352)
  • Fixed issues with code completions where they wouldn't show completions with matched prefix at the top. ( #29456)
  • Removed the need to have OpenBSD netcat (nc) installed on your system to enter passwords for git or ssh (remote development). If you previously installed netcat specifically for Zed, you may uninstall it. ( #28920)
  • Git: Fixed amend not working for detached HEAD. ( #29017)
  • Vim: Fixed a panic when using gv after p in visual line mode. ( #29251)
  • Vim: Fixed character count in visual line mode. ( #28669; thanks  5brian)
  • Vim: Fixed an issue where c j and c k did not respect indentation. ( #28934; thanks  AidanV)
  • Vim: Fixed cursor scrolling off screen with ctrl-y. ( #27754; thanks  5brian)
  • Linux: Improved parsing of ZED_DEVICE_ID environment variable in an attempt to fix some cases where it erroneously failed to parse. The ZED_DEVICE_ID is now expected to always be a 4-digit hexadecimal number (as it is in the output of lspci) with an optional 0x or 0X prefix. ( #29235)
  • Linux: Fixed incorrect config directory being used when Zed is installed via Flatpak. ( #28952)

Breaking Changes and Notices

  • Changed default bindings for splitting terminals from ctrl-k {up,down,left,right} to ctrl-alt-{up,down,left,right}ctrl-k is used by Readline to cut to the end of the line. ( #29188)
  • Renamed outline_panel::Open to outline_panel::OpenSelectedEntry for better clarity. ( #28890)

Screenshot_from_2024_07_12_09_18_19

Release v0.184.8 · zed-industries/zed