Releases: zed-industries/zed
Releases · zed-industries/zed
v0.134.4
v0.135.1-pre
v0.135.0-pre
Enhancements
General
- Added
editor::ToggleHunkDiff
(cmd-'
) andeditor::ExpandAllHunkDiffs
(cmd-"
) actions to browse git hunk diffs in Zed. - Added an
editor: convert to opposite case
command. - Added a
stop_at_soft_wraps
setting forEditor::move_to_{beginning|end}_of_line
. Whentrue
, it causes movement to the either end of the line (via, for example Home or End), to go to the logical end, as opposed to the nearest soft wrap point in the respective direction (#10888). - Changed the branch picker to always show the current branch as the default selected entry.
- Check it out: video
- Changed inline git blame information to not show up on empty lines.
- Check it out: video
Tasks
- Added buttons to the gutter to run tests in Rust files.
Vim
- Added
shift-k
to show the hover tooltip.
Languages
- Added syntax highlighting to regular expressions inside of Go.
- Added ESLint as a default language server for Svelte.
- Added brackets and missing operators to syntax highlighting in Python code (#4341).
- Added support for function call completion when using
typescript-language-server
. This will result in parameters being added, which can then be changed and navigated with<tab>
. For this to work withtypescript-language-server
, the documentation for a given completion item needs to be resolved, meaning that if one types very quickly and accepts completion beforetypescript-language-server
could respond with the documentation, no full function completion is used.- Check it out: video
Bug Fixes
- Fixed terminals always using the global shell even when local settings specified a different shell (#7599).
- Fixed false-positive hunks appearing in files with
\r\n
endings (#11452). - Fixed a bug where the Collab panel context menu could not be dismissed with
Escape
key (#11413). - Fixed Copilot suggestions preventing completions from appearing on completion trigger inputs (#8766).
- Fixed
alt-shift-left
andalt-shift-right
in the Textmate default keybindings (#10242). - Restored the ability to confirm a prompt by pressing "Enter" when deleting/trashing files.
- Fixed detection of JSDoc to only do syntax highlighting in block comments (#7826).
- Vim: Fixed last character of reversed mouse selections (#8492).
v0.134.3
v0.134.2
Enhancements
General
- Added the ability to open directories using context menu (Right click -> Open With -> Zed).
- Added support for avatars in git blame for repositories hosted on codeberg (#11043).
- Added diagnostics for main-thread hangs on macOS. These are only enabled if you've opted into diagnostics.
- Added support for replacing the current preview tab when using code navigation (
enable_preview_from_code_navigation
). - Added icons for JS, React, C, and C++ file types.
- Improved the behavior of launching an empty already-running Zed application by respecting the user's
restore_on_startup
setting.
(#10812).- Check it out: video
- Added a new
project_panel::Trash
action and changed the default behavior forbackspace
anddelete
in the project panel to send a file to the systems trash, instead of permanently deleting it (#7228, #5094). The original behavior can be restored by adding the following section to your keybindings:
{
"context": "ProjectPanel",
"bindings": {
"backspace": "project_panel::Delete",
"delete": "project_panel::Delete",
}
}
- Added displaying of cursor markers in the scrollbar. They can be switched on/off by the
scrollbar.cursors
setting.- Check it out: video
- Improved rendering performance of list elements inside the markdown preview (#10824).
- Changed the diagnostics view to always update its excerpts eagerly when not focused.
- Added an indicator to the project diagnostics view's toolbar, showing when diagnostics have been changed.
Tasks
- Improved the
task::Rerun
action to toggle the tasks modal when no tasks have been scheduled so far.- Check it out: video
Vim
- Added support for line ranges in Vim replace commands (#9428).
Languages
- Added highlighting to TypeScript's triple-slash reference directives (#11001).
- Added
@operator
,@lifetime
and@punctuation.delimiter
captures to Rust highlights file. - Added support for configuring ESLint's
rulesCustomizations
settings, ie.{"lsp": {"eslint": {"settings": {"rulesCustomizations": [{"rule": "*", "severity": "warn"}]}}}}
.- Check it out: video
- Added ESLint support for Vue.js files by starting it as a language server on
.vue
files. (#9934).
Bug Fixes
- Fixed an issue where the project diagnostics view could update its excerpts while you were typing in it.
- Fixed bugs where the project diagnostics view could show the wrong excerpts.
- Fixed (maybe) a rare crash in watching settings files (#11168).
- Fixed a bug where inline diagnostic messages were still visible after folding surrounding code(#4659).
- Fixed ghostly artifacts in transparent window backgrounds.
- Fixed sluggishness with blurred window backgrounds.
- Fixed inline git blame information moving when horizontally scrolling.
- Fixed error messages being logged due to inline git blame not working on an empty buffer that hasn't been saved yet.
- Vim
Breaking Changes
- Removed built-in support for Elixir, in favor of making it available as an extension.
v0.134.1-pre
v0.133.7
v0.134.0-pre
Enhancements
General
- Added the ability to open directories using context menu (Right click -> Open With -> Zed).
- Added support for avatars in git blame for repositories hosted on codeberg (#11043).
- Added diagnostics for main-thread hangs on macOS. These are only enabled if you've opted into diagnostics.
- Added support for replacing the current preview tab when using code navigation (
enable_preview_from_code_navigation
). - Added icons for JS, React, C, and C++ file types.
- Improved the behavior of launching an empty already-running Zed application by respecting the user's
restore_on_startup
setting.
(#10812).- Check it out: video
- Added a new
project_panel::Trash
action and changed the default behavior forbackspace
anddelete
in the project panel to send a file to the systems trash, instead of permanently deleting it (#7228, #5094). The original behavior can be restored by adding the following section to your keybindings:
{
"context": "ProjectPanel",
"bindings": {
"backspace": "project_panel::Delete",
"delete": "project_panel::Delete",
}
}
- Added displaying of cursor markers in the scrollbar. They can be switched on/off by the
scrollbar.cursors
setting.- Check it out: video
- Improved rendering performance of list elements inside the markdown preview (#10824).
- Changed the diagnostics view to always update its excerpts eagerly when not focused.
- Added an indicator to the project diagnostics view's toolbar, showing when diagnostics have been changed.
Tasks
- Improved the
task::Rerun
action to toggle the tasks modal when no tasks have been scheduled so far.- Check it out: video
Vim
- Added support for line ranges in Vim replace commands (#9428).
Languages
- Added highlighting to TypeScript's triple-slash reference directives (#11001).
- Added
@operator
,@lifetime
and@punctuation.delimiter
captures to Rust highlights file. - Added support for configuring ESLint's
rulesCustomizations
settings, ie.{"lsp": {"eslint": {"settings": {"rulesCustomizations": [{"rule": "*", "severity": "warn"}]}}}}
.- Check it out: video
- Added ESLint support for Vue.js files by starting it as a language server on
.vue
files. (#9934).
Bug Fixes
- Fixed an issue where the project diagnostics view could update its excerpts while you were typing in it.
- Fixed bugs where the project diagnostics view could show the wrong excerpts.
- Fixed (maybe) a rare crash in watching settings files (#11168).
- Fixed a bug where inline diagnostic messages were still visible after folding surrounding code(#4659).
- Fixed ghostly artifacts in transparent window backgrounds.
- Fixed sluggishness with blurred window backgrounds.
- Fixed inline git blame information moving when horizontally scrolling.
- Fixed error messages being logged due to inline git blame not working on an empty buffer that hasn't been saved yet.
- Vim
Breaking Changes
- Removed built-in support for Elixir, in favor of making it available as an extension.
v0.133.5
Enhancements
General
- Added an
editor::ExpandExcerpts
action (bound toshift-enter
by default), which can expand the multi-buffer excerpt the cursor is currently in by 3 lines (#5377). You can customize the number of lines by rebinding this action like so:
// In your keybindings array...
{
"context": "Editor && mode == full",
"bindings": {
"shift-enter": ["editor::ExpandExcerpts", { "lines": 5 }],
}
}
- CLI now accepts an optional name of release channel as its first argument. For example,
zed --stable
will always use your Stable installation's CLI. Trailing args are passed along (#10851). - Changed
cmd-w
to close the window when there are no open tabs (#5322).- See it in action here.
- Added a setting to determine the minimum column where the inline blame information is shown. Example:
{{"git": {"inline_blame": {"min_column": 80}}}
. (#10555).- Check it out here.
- Added a setting to show/hide the Project Panel button in the status bar:
{"project_panel": {"button": false}}
. - Added
drop_target_size
setting. This should be a fractional percent (e.g.,0.5
). - Improved the hitboxes for drop targets.
- Updated drop targets to respect the alpha channel of the
drop_target.background
color. - Improved buffer search workflow:
cmd-f
will select the query string when the buffer search editor is focused. - Exposed Rust traits as
type.interface
for individual syntax theming.
Collaboration
- Improved Markdown preview in channel notes to re-render when another collaborator changes the content.
Git
- Added GitHub avatars to tooltips that appear when hovering over a
git blame
entry (either inline or in the blame gutter).- Check it out here.
- Added links to GitHub pull requests to the git blame tooltips, if they are available.
- Check it out here.
Tasks
- Added tooltips entries in the
task: spawn
modal.
Languages
- Added
language_servers
setting to language settings for customizing which language server(s) run for a given language. - Added auto-installation for the HTML extension on startup.
- This can be disabled by adding
{ "auto_install_extensions": { "html": false } }
to your settings.
- This can be disabled by adding
- Added ReScript as a suggested extension for
.res
and.resi
files. - Added LOG as a suggested extension for
.log
files. - Added support for finding the Ruby language server
solargraph
in the user's$PATH
as it is whencd
ing into a project's directory (#9811). - Added support for configuring the
path
andarguments
forsolargraph
language server manually. Example from settings:{"lsp": {"solargraph": {"binary": {"path":"/Users/thorstenball/bin/solargraph","arguments": ["stdio"]}}}}
(#9811).
Bug Fixes
- Fixed an issue where the wrong language server could be used for formatting (#10902).
- Fixed Rust tasks using incorrect package name (#10925).
- Fixed a bug where non-focused windows weren't showing a hover state for clickable areas (#9784).
- Fixed a bug that caused disabled navigation buttons to show up in terminal panel.
- Fixed a bug where the UI would stutter when dragging tabs over any element that stopped event propagation.
- Fixed a bug where the user's selection was changed when using the language server's
rename
action. - Fixed a bug where multiple terminals were being opened on
workspace::NewTerminal
calls (#4567). - Fixed a bug where
project panel: collapse all entries
was expanding collapsed worktrees. - Fixed a bug where terminal file paths could not be clicked when the column portion of path was malformed (#10688).
Breaking Changes
- Moved
project_panel::OpenInTerminal
intoworkspace::OpenInTerminal
action and added it in editors, tab context menus, and proper panel file entries (#4566) - Removed built-in support for Deno, in favor of making it available as an extension.
- Removed task status indicator and added a
Spawn task
action to terminal panel context menu.