Software 43104 Published by

A new version of the Zed editor has been released, featuring a range of enhancements and bug fixes. The updates encompass the incorporation of persistence in editor folds, the introduction of an editor::CopyAndTrim action, a go_to_definition_fallback setting, the addition of a scrollbar to the extensions page, the capability to configure a language server's environment variables, enhancements in user menu placement, optimized memory usage related to installed monospace fonts, refined Regex syntax highlighting, improved scrolling for editor::SelectLargerSyntaxNode, enhanced autocomplete suggestions in settings.json, and better selection of actions in keymap.json.

The language server has been enhanced, enabling Python to identify runnable modules, execute Python-specific tasks, and display tasks from the Python plugin for standalone files. Improvements have been made to JavaScript and TypeScript, including the recognition of APKBUILD files as "Shell Script."



The Gemini 2.5 Pro Experimental model now includes AI enhancements, while the assistant panel features Claude Sonnet 3.7 Thought. Additionally, Copilot has been updated to utilize the official @github/copilot-language-server.

Recent updates address several issues, including the resolution of hunks being skipped during rapid staging, the insertion of invisible scrollbar tracks in the editor, enhancements to code block highlighting and indentation in Markdown preview, and the problem of color swatches shrinking when a color-related property is re-added. Furthermore, files that exceed 6GB in size will not open, presenting a temporary solution for the ineffective management of large files, which leads to significantly elevated memory consumption.

Here is the announcement:

Zed 0.180.2

Enhancements

  • Added persistence to editor folds to preserve them between restarts. ( #27252)
  • Added an editor::CopyAndTrim action to trim selections when copying. ( #27206)
  • Added a go_to_definition_fallback setting, which can be assigned find_all_references (default) or none. ( #27426)
  • Added a scrollbar to the extensions page. ( #27303)
  • Added the --system-specs flag to the Zed binary (not the CLI!), to retrieve the system specs we ask for in GitHub issues without needing to open Zed. ( #27285)
  • Added option to copy extension author's name and email from extension context menu. ( #27221)
  • Added the ability to set a language server's environment variables. For example: {"lsp": {"rust-analyzer": {"binary": {"path": "/some/abs/path/rust-analyzer", "env": {"RA_PROFILE": "*>100"} }}}}. ( #27213; thanks  davidbarsky)
  • Added a notification when saving the tasks.json file while in an invalid state. ( #27185)
  • Improved user menu placement. ( #27329; thanks  huacnlee)
  • Improved memory usage around installed monospace fonts. On Arch Linux with the nerd-fonts package installed (which provides around 2000 monospaced fonts), it decreases RAM usage from ~800MB to around ~300MB. ( #27362; thanks  AlvaroParker)
  • Improved Regex syntax highlighting. ( #25332; thanks  chbk)
  • Improved scrolling of editor::SelectLargerSyntaxNode for better visibility. ( #27295)
  • Improved autocomplete suggestions in settings.json, now the whole string is queried instead of just the last word of the string, which filters out a lot of false positives. ( #27175)
  • Improved selection of action in keymap.json, where now you can double click to only select certain parts of an action, instead of selecting the whole action. ( #27175)
  • Removed the stderr-prefix of a language server's stderr logs. ( #27213; thanks  davidbarsky)

Languages

  • Python: Added detection for runnable Python modules. ( #26462; thanks  griendt)
  • Python: Added Python-specific task to run a Python file as a module from inside the project's scope. ( #26462; thanks  griendt)
  • Python: File, line references from Python, like File "file.py", line 8 are now clickable in the terminal. ( #26903; thanks  thorbenk)
  • Python: Show tasks from Python plugin for standalone files. ( #27183)
  • JavaScript / TypeScript: Improved autocomplete suggestions for imports. ( #27235)
  • Added recognition for APKBUILD files as "Shell Script". ( #27099; thanks  vixalien)
  • Improved language server autocomplete to show more possible matches. ( #27199)
  • Updated bun.lock files to be recognized as JSONC. ( #27359; thanks  A-caibird)

Vim

  • Added ' and " marks (last location jumped from in the current buffer, and location when last exiting a buffer). ( #27231; thanks  AidanV)
  • Added :marks which brings up a list of current marks. ( #26885; thanks  AidanV)

AI

  • Added support for Gemini 2.5 Pro Experimental model to Zed AI. ( #27468)
  • Added support for Claude Sonnet 3.7 Thought in the assistant panel. ( #27085)
  • Added support for Claude Sonnet 3.7 Thought to GitHub Copilot Chat. ( #27409; thanks  jiahaoxiang2000)
  • Updated Copilot to use the official  @github/copilot-language-server. ( #27401)
  • Inline assistant will now expand empty selections to the block under the cursor. ( #27282)

Bug Fixes

  • Git: Fixed hunks being skipped when staging too quickly. ( #27552)
  • Git: Fixed crash when staging a hunk that overlaps multiple unstaged hunks. ( #27545)
  • Fixed invisible scrollbar tracks being inserted into the editor when scrollbars are explicitly disabled via settings. ( #27467; thanks  MrSubidubi)
  • Fixed an issue where code block highlight and indentation in Markdown preview was rendered incorrectly. ( #27463)
  • Fixed an issue where Markdown preview was not rendering bullet points beginning with HTML. ( #27018; thanks  nilskch)
  • Fixed color swatches shrinking upon re-adding a color-related property. ( #27450)
  • Fixed a conflict between LaTeX and cspell extensions affecting code formatting on save. ( #27286; thanks  lnay)
  • Fixed an issue where exceptfinallyelse, and elif control flow keywords in Python would be incorrectly indented when entered at the correct level of indentation. ( #27428)
  • Fixed a bug where inactiveRegions didn't replace existing diagnostics anymore when using the clangd language server. ( #26737; thanks  naim94a)
  • Fixed an issue where both the predict edit and git onboarding banners would show at the same time. ( #27412)
  • Fixed a rare panic in the project diff view. ( #27395)
  • Fixed an issue with JSX tag auto-close where components containing a . access like <Foo.Bar> would be auto-closed as </> instead of </Foo.Bar>. ( #27374)
  • Fixed images in the Markdown preview appearing not at all or too often. ( #25592; thanks  not-my-profile)
  • Fixed an issue with context server paths not being interpreted relative to the extension's work dir. ( #27201)

Breaking Changes and Notices

  • Files that are 6GB or larger will now not open. This is a temporary workaround for inefficient handling of large files resulting in extremely high memory usage, often resulting in system freezing, requiring a restart of Zed or the entire system. ( #27458)
  • Changed Markdown default to soft_wrap at window width instead of preferred_line_length. ( #27205)

Screenshot_from_2024_07_12_09_18_19

v0.180.2