github zed-industries/zed v0.163.2

latest release: nightly
9 hours ago

Enhancements

General

  • Added an editor: open docs action to open links to documentation via rust-analyzer (#19233; thanks wanlufun).
  • Added a setting to adjust the width of the file finder modal (#18682; thanks isaacdonaldson).
    "file_finder": {
        "modal_width": "medium"
    },
  • Added indication of deleted files. Files deleted outside of Zed will have a strikethrough in the title of the tab (#20711).
  • Sublime Keymap: Added editor::SelectAllMatches compatibility bind (find_all_under). Mac: ctrl-cmd-g and Linux: alt-f3 (#20866).
  • Sublime Keymap: Improved tab switching (#20547; thanks ShinyChang).
  • Enabled snippet parsing to successfully parse snippets with choices (#13958; thanks Anthony-Eid).
  • Show completion menu when tabbing to a snippet variable with multiple choices (#13958; thanks Anthony-Eid).
  • Improved detection of .env.* files as Shell Scripts by default (#20429).
  • Improved the vertical movement behavior when reaching the start or end of a document. The selection goal is now maintained, aligning with native text field functionality (#20705; thanks lord).
  • Improved handling of externally deleted files: auto-save will be disabled, multibuffers will treat this as a save conflict, and single buffers will ask for restore confirmation (#20742).
  • Changed the tab bar height according to ui-density (#19076; thanks Aaron-212).
  • Updated Copilot's underlying version to Copilot.vim 1.41.0 (#20520).
  • Linux: Added Support for Back/Forward multimedia keys (#20695).

AI

  • Added inline hints that guide users on how to invoke the inline assistant and open the assistant panel. (These hints can be disabled by setting {"assistant": {"show_hints": false}}) (#20824).
  • Updated the Assistant to show more details in error cases (#20740).

Vim

  • Added :<range>cpplink to copy a permanent git link to the highlighted range to the clipboard (#20707).
  • Added support for % to jump between pairs of tags (#20536; thanks hrou0003).
  • Added support for ctrl-o in insert mode to enter temporary normal mode (#19454; thanks axelcarl).

SSH Remoting

  • Improved environment variable handling for SSH remotes (#20641).

Languages

  • Python: Improved syntax highlighting (#20487, #20763):
    • Differentiated between function and method calls and definitions. function.definition matches the highlight for e.g. rust, function.call is new (thanks clwainwright).
    • Differentiated between class calls and class definitions (thanks clwainwright).
    • Better highlighting of function decorators (the @ symbol is punctuation, and now the decorator itself has a function.decorator tag) (thanks clwainwright).
    • Made cls a special variable (like self) (thanks clwainwright).
    • Added ellipsis as a built-in constant (thanks clwainwright).
    • Added syntax highlighting for attribute docstrings (thanks JaagupAverin).
  • Python: Added pytest-based test discovery and runnables (#18824; thanks jrderuiter).
  • Python: Added a configurable option for switching between unittest and pytest as a test runner under Python language settings. Set "TASK_RUNNER" to "unittest" under task settings for Python if you wish to use unittest to run Python tasks; the default is pytest (#18824; thanks jrderuiter).
  • Python: Improved toolchain selection for Conda environments (#20702; thanks wolffiex).
  • Python: Improved handling of triple-quote strings (#20664).
  • Python: Improved detection of Poetry-based environments (#20669).
  • Python: tasks now use active toolchain to run (#20667).
  • HTML: Added injections for Markdown syntax highlighting (#20527; thanks uncenter).
  • JavaScript, TypeScript, and TSX: Highlighted ? and : in ternary expressions as operator (#20573; thanks Huliiiiii).
  • Added some more common Prettier plugin base paths (#20758; thanks sweetppro).

Bug Fixes

  • Fixed ESLint 404 downloads (#21233).
  • Fixed for cmd-shift-\ (cmd-|) not working for MoveToEnclosingBracket on macOS (#21207).
  • Fixed cmd-shift-e / ctrl-shift-e (pane::RevealInProjectPanel / project_panel::ToggleFocus) to better my VSCode behavior (#21228).
  • Fixed a crash when opening a file containing a very large number of ascii control characters on one line (#20841).
  • Fixed Rust LSP adapter on FreeBSD (#20736; thanks CalebHeydon).
  • Fixed quirks around dropping project entries into tab bar that might have led to tabs being pinned sometimes (#20722).
  • Fixed rendering of dragged project panel entries (#20686).
  • SSH Remoting: Fixed accidental use of GNU netcat instead of nc provided by macOS (#20751).
  • SSH Remoting: Correctly show an error when SSH'ing into a 32-bit arm system (#20618).
  • (macOS) Fixed a panic when using the Pinyin keyboard with emojis (#20969)

Breaking Changes and Notices

  • Removed the low_speed_timeout setting from LLM provider settings, since it was only used to increase the timeout to give LLMs more time, but since we don't have any other use for it, we simply remove the setting to give LLMs as long as they need (#20681).

Don't miss a new zed release

NewReleases is sending notifications on new releases.