Stable release

June

Zed 0.141.2

06/26/2024

Breaking changes

SETTINGS DEPRECATION NOTICE

In your settings.json the following keys will need to be renamed:

  • language_overrides -> languages
  • copilot -> inline_completions
  • show_copilot_suggestions -> show_inline_completions

Previously, we were supporting the old keys as an alias for the new keys, but this let to unintended/confusing failure modes. As a result we have deprecated the old keys.

See: Settings Deprecation Notice 2024-06-17 for more information.

Enhancements

General

  • Added an outline panel to show a "map" of the active editor. Toggle the outline panel via outline panel: toggle focus.

Pair the outline panel with the search multi-buffer to get a better overview of your search results!

outline panel
outline panel
  • Added support for dropping files from the finder onto the project panel (#7386).
  • Added a 'selection and movement' tool to the Editor's toolbar, as well as controls to toggle it and a setting to remove it ("toolbar": {"selections_menu": true/false }).
  • Changed the behavior of the + menu in the tab bar to use standard actions and keybindings. Replaced New Center Terminal with New Terminal, and New Search, with the usual Deploy Search. Also added item-creating actions to this menu.
  • Improved performance of project panel in large worktrees (#13202).
  • Improved the look of code action and run indicators in the gutter (#12803).
  • Improved the style of disclosure controls throughout the UI.

AI

  • Improved the behavior of inline assist so that it no longer closes when an editor loses focus (e.g., from switching tabs) and then gains focus again. Instead, it only closes when you move the cursor outside of it, e.g., by clicking somewhere else in its parent editor.

Languages

  • VTSLS is now a default language server for TypeScript, TSX, and JavaScript.

If you would like to continue using typescript-language-server, use the following setting in your settings.json:

"JavaScript": {
  "language_servers": ["!vtsls", "typescript-language-server", "..."]
},
  • Added a more detailed message in place of the generic checking... messages when Rust-analyzer is running.

  • Added a rate limit for language server status messages, to reduce noisiness of those updates.

  • Added a cancel language server work action which will cancel long-running language server tasks.

  • Added the ability to cancel a cargo check by clicking on the status bar item.

Vim

  • Added pending keys to the mode indicator in Vim mode.
    • See it in action here.
  • Added support for register selection "a-"z, "0-"9, "-. "_ and "% (#11511).
  • Added support for multicursor registers (#11687).
  • Added support for the "/ register.
  • Added gv to restore previous visual selection (#12888).
  • Added support for ctrl-r X to paste in insert mode (#4308).
  • Fixed home and end in visual mode (#13068).
  • Fixed inserting a 0 in insert mode with a count (#9383).
  • Fixed gi when the insert ended at the end of a line (#12162).
  • Fixed gl when the first match is at the end of a line.
  • Fixed behavior of dw at the end of a soft wrapped line.
  • Fixed ci" on keyboards where typing a " requires the IME (#12523).
  • Fixed an issue where held-down modifier keys (such as Shift) would interrupt continuous key events, affecting navigation and selection behavior (#12566).

Bug Fixes

  • Fixed some syntax highlighting bug in Python (#12578).
Before
Before
After
After
  • Fixed auxiliary details in completions returned by VTSLS (#13043).
  • Fixed a bug where the selected tab was not always shown when cycling between tabs with ctrl-tab.
  • Fixed a bug where the command palette was not scrolling down to the last element.
  • Fixed a bug where "Find all references" editor had cursor placed on the first line of the first excerpt in the multibuffer instead of having it on the first reference.
  • Fixed a possible hang when opening a worktree in a .git directory.
  • Fixed snippet completions sometimes being treated as plain text completions when using VTSLS (#12920).
  • Fixed the Hide Copilot context menu item to modify the appropriate setting.
  • Fixed a panic when editing C code (#13128).