0.169.3
01/21/2025
Keep up with the weekly Zed releases.
0.169.2
01/15/2025
workspace::OpenFiles
action to enable opening individual files on Linux and Windows (#22625)debug: open language server logs
to display more language server data (#22797)TERM
to xterm-256color
in Zed's built-in terminal (#22777)RemoveFromProject
action to remove all selected items (#22455; thanks pepyakin).ExpandExcerpts
action (shift+enter
by default) so it expands all excerpts that have selected text, rather than just excerpts that contain the end of a selection (#22748).file://
URLs with line numbers in the Zed terminal (#22559).pip
commands inside a virtual environment on Windows 11. (#22587; thanks TorratDev)typescript-language-server
completion details rendering (#23034)end >= start
in lsp::Range
(fixes some Zig zls crashes; perhaps others) (#22690; thanks unexge).gopls
path construction on Windows 11 (#22727; thanks TorratDev).aq
/iq
"any quote" text objects that are the smallest of a"
, a'
or <code>a`</code> (#22263; thanks oca159).Y
so it yanks entire line instead of selection (#22416; thanks 0x2CA).ctrl-x ctrl-c
will quit emacs in terminal not zed)alt-;
Toggle Commentsalt-^
Join Linesctrl-/
Undoalt-.
GotoDefinition and alt-,
GoBackalt-<
/ alt->
Goto End/Beginning of Bufferalt-g g
or alt-g alt-g
Goto Line Numberctrl-x h
SelectAllctrl-x b
Switch Tabsctrl-g
Menu::cancelctrl-x 5 0
CloseWindowctrl-x 5 2
as workspace::NewWindow {
"context": "Workspace",
"bindings": {
"alt-z": ["app_menu::OpenApplicationMenu", "Zed"],
"alt-f": ["app_menu::OpenApplicationMenu", "File"],
"alt-e": ["app_menu::OpenApplicationMenu", "Edit"],
"alt-s": ["app_menu::OpenApplicationMenu", "Selection"],
"alt-v": ["app_menu::OpenApplicationMenu", "View"],
"alt-g": ["app_menu::OpenApplicationMenu", "Go"],
"alt-w": ["app_menu::OpenApplicationMenu", "Window"],
"alt-h": ["app_menu::OpenApplicationMenu", "Help"]
}
}
cmd-shift-e
/ ctrl-shift-e
) so it works in more contexts (#22713).#[test]
attribute (#22823; thanks RemcoSmitsDev).settings.json
is a symlink (#22660; thanks 0xtimsb.TERM
from the parent environment (#22615; thanks JuliusDeBoer).blur_radius
of 0 would not render (#22441).zed
cli crash (ScreenCaptureKit
library not loaded) on older macOS versions (#22515; thanks huacnlee).robotgo
failing when Zed window is open on Linux (#22348; thanks 0xtimsb).OpenFile
action to OpenSelectedFilename
for clarity (#22494).<tab>
at start of line when an inline completion (Copilot, Supermaven, ...) is visible. If the cursor is before the suggested indentation, <tab>
now indents the line instead of accepting the visible completion. (#22892).0.168.3
01/13/2025
0.168.2
01/08/2025
<!--
and -->
for Markdown files (#22352; thanks Rusydy).workspace::ToggleRightDock
open the assistant panel if no right-dock panel has yet been activated (#22346).cmd-n
now opens a new terminal instead of a new file (#22253).cmd-k e
/ cmd-k t
(macOS) or ctrl-k e
/ ctrl-k t
(Linux) (#22402).OpenAI o1
model (non-preview) in GitHub Copilot Chat (#22376; thanks chirpcel).using
(#22479; thanks jaydenseric).zls
renames applying duplicate edits (#22512).zls
not working properly when typos
extension is installed (#22511).terminal::ToggleViMode
action which is bound by-default to ctrl-shift-space
(#22103; thanks agomezl).
) and macro playback of insertions in diagnostics and assistant (#22210).d(
and d)
), which would previously delete the whole line instead of just a sentence. (#22289)*
and #
vim bindings) (#22213).Failed to start language server
errors when starting from dekstop entry on Linux (#22335; thanks 0xtimsb).0.167.1
01/01/2025
.prettierignore
support to the Prettier integration (#21297; thanks 0xtimsb)MoveItemToPane
and MoveItemToPaneInDirection
actions (#21760; thanks Igonato).editor::OpenUrl
to also handle the selected portion of a URL (#21825; thanks 0xtimsb).// Assuming you have a task labeled "echo hello"
"ctrl--": ["task::Spawn", { "task_name": "echo hello", "target": "center" }]
<shift-tab>
and the active entry in the completion menu with <tab>
(#21858, #22069, #22077, #22093)..pyx
, .pxd
and .pxi
files (#22053; thanks lgeiger).Editor::DuplicateSelection
action. Bound to cmd-d
/ ctrl-d
in JetBrains/SublimeText keymaps (#21154 and #21976; thanks CharlesChen0823)Editor && selection
context for keybindings that are active when there is a text selection (#21927; thanks ozanmakes).ToggleRegex
action (macos: cmd-alt-x
, linux: ctrl-alt-x
) for buffer search (#21799; thanks CharlesChen0823):g/<pattern>/<cmd>
and :v/<pattern>/<cmd>
(#22177)<esc>
(#22075).ctrl-a
/ ctrl-e
/ home
/ end
behavior (#21923)ctrl-s
/ ctrl-r
/ ctrl-g
for navigating buffer search results (#21923)hover_popover_delay
to control the delay before showing hover boxes (#22006; thanks AaronFeickert).lsp_highlight_debounce
to configure delay for querying highlights from language server (#21702; thanks xzbdmw).horizontal_scroll_margin
and scrollbar.axis
settings (#19495; thanks frqubit).max_tabs
to limit the maximum number of open tabs (#18933; thanks BuonOmo).task::Spawn
sort order so project tasks are shown first. (#21706; thanks IViktorov).Failed to run direnv
messages showing up in case Zed restored a window that contained a worktree with a single file (#22246.0.166.2
01/01/2025
Failed to run direnv
messages showing up in case Zed restored a window that contained a worktree with a single file. https://github.com/zed-industries/zed/issues/219720.166.1
12/18/2024
left_neighbour
option to the tabs.activate_on_close
setting to activate the left adjacent tab on tab close (#21800; thanks MrSubidubi).show_completions_on_input
and show_completion_documentation
per-language settings. These settings were available before, but were not configurable per-language (#21722).editor: insert uuid v4
and editor: insert uuid v7
actions for inserting generated UUIDs into the editor (#21656)."project_panel": {"show": "always"}
) to display error and warning indicators in tabs (#21383; thanks nilskch).editor::OpenContextMenu
action to open context menu at current cursor position (#21494).*.C
and *.H
(uppercase) to be recognized as C++ (#21647; thanks budde25).context
and suite
methods for mochajs framework (#21719; thanks RemcoSmitsDev).[ c
& ] c
to select prev/next git modified file within the project panel (#20941; thanks Anthony-Eid).[ d
& ] d
to select prev/next file with diagnostics from an LSP within the project panel (#20941; thanks Anthony-Eid).{
& }
to select prev/next directory within the project panel (#20941; thanks Anthony-Eid).musl
dependency required to build from source on ArchLinux (#21830; thanks connortsui20).completion_documentation_secondary_query_debounce
setting, which is now deprecated (#21716).cmd-escape
could act like .
(#21667).panel.background
color was not used in the file tree (#21559; thanks nilskch).editor::ShowInlineCompetion
is now option-tab
on macOS (not option-/
). editor::{Next,Previous}Completion
are option-tab
and option-shift-tab
(not option-[
and option-]
). This fixes typing characters generated by option-{/,[,]} on keyboards like Croatian (#21669)."use_layout_keys": true
is now the default. If you want to opt-out of this behaviour, set "use_key_equivalents": true
to have keys mapped for your keyboard (#21662). See documentation.0.165.4
12/11/2024
zed --uninstall
via the CLI binary (#21213; thanks WeetHet).completionItem/resolve
calls done in the completion menu (#21286).autoscroll_on_clicks
to configure this behavior. (#20287; thanks haruleekim)Trash
action for remote projects. (#21300; thanks Moshyfawn)show_user_picture
setting (default: true) to allow users to hide their profile picture in titlebar (#21526).editor::FoldFunctionBodies
action to fold all function bodies (textobject languages only) (#21504).pcss
files are now recognized as CSS (#21402; thanks MrSubidubi)==
indent line (#21490)highlight_on_yank
or highlight_on_copy
(#21479; thanks RustyDev24).[[
, []
, ]]
, ][
for navigating by section, [m
, ]m
, [M
, ]M
for navigating by method, and [*
, ]*
, [/
, ]/
for comments. These currently only work for languages built in to Zed, as they are powered by new tree-sitter queries (#20924).ic
, ac
for inside/around classes, if
,af
for functions/methods, and g c
for comments. These currently only work for languages built in to Zed, as they are powered by new tree-sitter queries (#20924).multi_cursor_modifier
is cmd_or_ctrl
(#20949; thanks remixz).0.164.2
12/04/2024
file_scan_inclusions
setting to force Zed to index files that match the provided globs, even if they're gitignored (#16852; thanks Hawkbawk).show_summary
/ show_command
(#20920; thanks omennia).ctrl-k
/ ctrl-y
alternate cut/yank buffer on macOS (#21003).string.doc
python syntax highlighting to class and module-level docstrings. (#20486; thanks clwainwright)=
operator, for auto-indent (#21427)ctrl-w _
and ctrl-w =
(#21227).ctrl-w {+,-,>,<}
for resizing the current pane (#21038; thanks AidanV).]}
, ])
, [{
and [(
(#21098; thanks helgemahrt).vii
, vai
and vaI
for selecting indent-text-object
(#21121; thanks vultix).:
on the welcome screen (#20937)dia
to mean "delete in argument" instead of "delete within angle brackets". (#20918)
To keep this in your own keymap use:
{
"context": "vim_operator == a || vim_operator == i || vim_operator == cs",
"use_layout_keys": true,
"bindings": {
"a": "vim::AngleBrackets"
}
}
code_actions_on_format
setting when used with a language server like ZLS (#20847; thanks Techatrix).ctrl-home
/ ctrl-end
(MoveToBeginning
, MoveToEnd
) (#21007).cmd-shift-\
(cmd-|
) not working for MoveToEnclosingBracket (#21207).pane::RevealInProjectPanel
/ project_panel::ToggleFocus
) to better my VSCode behavior (#21228).always_treat_brackets_as_autoclosed
enabled. (#21482)0.163.3
12/02/2024
0.163.2
11/27/2024
editor: open docs
action to open links to documentation via rust-analyzer (#19233; thanks wanlufun)."file_finder": {
"modal_width": "medium"
},
editor::SelectAllMatches
compatibility bind (find_all_under
). Mac: ctrl-cmd-g
and Linux: alt-f3
(#20866)..env.*
files as Shell Scripts by default (#20429).ui-density
(#19076; thanks Aaron-212).{"assistant": {"show_hints": false}}
) (#20824).:<range>cpplink
to copy a permanent git link to the highlighted range to the clipboard (#20707).%
to jump between pairs of tags (#20536; thanks hrou0003).ctrl-o
in insert mode to enter temporary normal mode (#19454; thanks axelcarl).function.definition
matches the highlight for e.g. rust, function.call
is new (thanks clwainwright).@
symbol is punctuation, and now the decorator itself has a function.decorator
tag) (thanks clwainwright).cls
a special variable (like self
) (thanks clwainwright).ellipsis
as a built-in constant (thanks clwainwright).?
and :
in ternary expressions as operator (#20573; thanks Huliiiiii).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).0.162.5
11/22/2024
0.162.4
11/21/2024
0.162.3
11/20/2024
cmd-shift-p
debug: Open Key Context View
(#20530).{"languages": {"Go": {"inline_completions_disabled_in": ["comment", "string"]}}}
(#20508).rootFontSize
for the tailwindcss-language-server
. Example settings: {"lsp": {"tailwindcss-language-server": {"settings": { "rootFontSize": 50}}}}
(#20500).open settings
and revert selected hunks
to JetBrains keymap (#20414; thanks trin94).project panel: remove from project
action so that users can now add a keybinding to trigger it: project_panel::RemoveFromProject
(#20360).terminal.working_directory
when editing settings.json or other non-project files (#18251).repl::
actions for editors after a session has been created (#20396)./delta
without new changes (#20356).python-lsp-server
as a secondary built-in language server (#20358).detect_venv.directories
being ignored by a worktree (#20227; thanks SirSilver).editor::Rewrap
now preserves cursors and only inserts whitespace by using character-level diff instead of line-level diff (#20368).language server logs
menu only showing a single entry when using SSH remoting (#20495)."node"
(#20428).[]
was considered a clickable link in the terminal (#20386; thanks MrSubidubi).tab
not working to jump to the next placeholder in the snippet (#20300).We have made a number of changes to keyboard shortcuts to support non-US keyboard layouts. See the blog post for more information on our general approach, or the issue for details about what changed.
All builtin shortcuts that were bound to alt-[a-z]
have been rebound, as these shortcuts intefered with typing on non-US keyboards. You can restore these by adding them to your keymap file. The complete list of changes is:
Old Binding | Mapped To | Function |
---|---|---|
alt-b | alt-right | editor::MoveToNextWordStart |
alt-d | alt-delete | editor::DeleteToNextWordEnd |
alt-f | alt-left | editor::MoveToNextWordEnd |
alt-shift-f | ctrl-shift-f | project_panel::SearchInDirectory |
alt-h | alt-backspace | editor::DeleteToPreviousWordStart |
alt-m | ctrl-shift-m | assistant::ToggleModelSelector |
alt-q | cmd-k q / ctrl-k q | editor::Rewrap |
alt-t | cmd-shift-r / ctrl-shift-r | task::Spawn |
alt-shift-t | alt-cmd-r / ctrl-alt-r | task::Rerun |
alt-v | ctrl-shift-v | ["editor::MovePageUp", { "center_cursor": true }] |
alt-z | cmd-k z / ctrl-k z | editor::ToggleSoftWrap |
Note that alt-t
and alt-shift-t
have been kept as secondary bindings for Tasks but we may remove them completely in the future.
macOS: (For non-US keyboards). Shortcuts are now automatically localized in the same way they are on macOS. For example on QWERTZ keyboards cmd-[
is now cmd-ö
and cmd-]
is cmd-ä
. This allows anyone to access all of our builtin shortcuts.
macOS: (For non-Latin keyboards). All keyboard shortcuts now trigger based on the command layout of your keyboard. This fixes ctrl-a
on a Cyrillic keyboard, and allows you to use Vim's normal mode on an IME-based keyboard like Japanese.
macOS: Key repeat is now always enabled in the Terminal. This disables the character picker that typically shows up when you hold down a key. This was previously enabled only on a best-effort basis.
Linux: Use ctrl-right
instead of cmd-right
as the default for editor::AcceptPartialInlineCompletion
(#20443).
0.161.2
11/14/2024
0.161.1
11/13/2024
🍂🎉 We squashed some bugs during last week's Quality Week, and half of these fixes have made their way into this week's stable release! 🐛🐞🐜 + 🔨💥 = 😵⚰️!
auto_indent_on_paste
setting, which can be used on a per-language basis, to configure whether indentation should be adjusted when pasting. This setting is enabled by default for languages other than YAML and Markdown (#20193)."no_focus"
. If used, the tasks terminal panel will be opened and shown, but not focused (#19901).editor: spawn nearest task
action that spawns the task with a run indicator icon nearest to the cursor. It can be configured to also use a reveal
strategy (#19901).{
"context": "EmptyPane || SharedScreen || vim_mode == normal",
"bindings": {
", r t": ["editor::SpawnNearestTask", { "reveal": "no_focus" }],
}
}
workspace::SendKeystrokes
to support re-binding keys. For example you can now do: "x": ["workspace::SendKeystrokes", "\" _ x"]
in vim mode to ensure that x
does not clobber your clipboard (#20277).null
as a value for optional settings instead of showing a warning (#20192).debug: open theme preview
action to the command palette to preview the current theme's styles (#20039).ignore_indent
parameter to editor::ToggleComments
to place comment characters at the left margin. You can make this the default by adding "ctrl-/": ["editor::ToggleComments", { "ignore_indent": true }]
to your keymap.json in the Editor
context (#19746; thanks NichtJens).debug: Open Key Context View
action to command palette to help debug custom key bindings (#19872).\u2028
and \u2029
as invisible characters. Previously these were treated as \n
(#19712)./selection
) in the assistant panel (#19988; thanks marechaux)./tab
, /file
slash commands in the Assistant Panel. Use /diagnostics
to include them if desired (#20297).{}
and single quotes ''
in Shell Scripts (#20278).go test ./...
and go generate ./...
commands to run in the go module directory rather than the current package directory (#20190; thanks rpadaki).go generate
commands (#19987; thanks rpadaki).r
and a
as aliases for [
and <
text objects (copying vim-surround) (#20104; thanks mike-lloyd03).ctrl-v
/ctrl-q
to type any unicode code point. For example ctrl-v escape
inserts an escape character(U+001B), or ctrl-v u 1 0 E 2
types ტ (U+10E2). As in vim ctrl-v ctrl-j
inserts U+0000 not U+000A. Zed does not yet implement insertion of the vim-specific representation of the typed keystroke for other keystrokes (#19585).ctrl-shift-v
as an alias for paste on Linux (#19585).ctrl-w
to work in non-editor contexts. E.g. markdown preview and screen shares (#20058).r
, ~
etc. appearing to modify readonly buffers (#20264).q
and @
in visual mode (#20261).d G
in not deleting until the actual end of the document if soft-wrap is turned on (#20160).o
not scrolling new head into view (#20054).gu$
missing last character of the line (#20057).b
/B
/r
/a
anywhere you could use (
, {
, [
, <
(#20104; thanks mike-lloyd03).@vtsls/language-server
may not have been updated to the latest version (#20197).*.sql
, as it would rename to .sql.s
(#20195). As a side effect you can no longer save a new file as *sql.s
. We hope to remove this workaround when the operating system fixes its bug; in the meantime you can either set "use_system_path_prompts": false
in your settings file to skip the macOS dialogues, or create new files by right clicking in the project panel.tcsh
(#20220).preview_tabs
disabled (#20154).active_pane_magnification
value is no longer used, it should be migrated to active_pane_modifiers.magnification
.g
(#20104; thanks mike-lloyd03).0.160.7
11/06/2024
zed://ssh/<connection>/<path>
(#19970).gitlab
somewhere in the host in order to be recognized."enable_experimental_live_diffs": true
is set in the "assistant"
section of settings.json
(#19900). This button takes the place of the previous /workflow
command, but it is experimental and may change!/tab
, /file
slash commands in the Assistant Panel. Use /diagnostics
to include them if desired. (#20297).///
or //!
in C++ (#19858).menu::SelectNext
and menu::SelectPrev
(#20083).0.159.10
11/04/2024
menu::SelectNext
and menu::SelectPrev
(#20083).0.159.6
10/31/2024
0.159.5
10/30/2024
Today we're excited to launch Zed SSH Remoting in Beta. 💻🌐🎉
For remote hosts, we support macOS remotes (both Intel x86_64 and ARM aarch64) and Linux on x86_64 or ARM: Ubuntu 20/22/24, Raspbian, Debian 11/12, Fedora 40/41/42, ArchLinux, Alpine, NixOS, SUSE/OpenSUSE as well as RedHat 8.x/9.x, and clones (Rocky Linux, CentOS Stream, AlmaLinux, Amazon Linux, Oracle Linux).
Blog Post: https://zed.dev/blog/remote-development Docs: https://zed.dev/docs/remote-development
Note: The original version of remote development sent traffic via Zed's servers. As of Zed v0.157, you can no longer use that mode.
cmd-k, cmd-<number>
, Linux: ctrl-k, ctrl-<number>
(#19750).cmd-shift-y
/ ctrl-shift-y
(#19749)..editorconfig
support (#19455)..postcss
files as CSS (#19416).Fix with assistant
appearing when assistant was disabled (#19553).o
and O
commands did not respect the extend_comment_on_newline
setting (#19766).terminal.option_as_meta
default from true
to false
for better out-of-the-box experience on non-US keyboards. Terminal Emacs users will want to set this to true
(#19364).0.158.1
10/23/2024
editor: format selections
action that allows formatting only the currently selected text via the primary language server (#18752; thanks terziele).editor: reload file
command (#18395; thanks schpet).en_US.UTF-8
(#18967; thanks shish).ctrl-shift-space
, enabling basic motions to navigate the terminal's scrollback buffer (#18715; thanks NukaCody).:e[dit]
, :e[dit]!
, which call the editor: reload file
command (#18395; thanks schpet).z
keybindings for scrolling (#18928; thanks syndesis)./
in Vim mode to always reset the search options in the search bar back to regex-only. That means using *
(in normal or visual mode) still works with its options, but the next /
will reset the search options. That makes it much closer to how /
behaves in Vim (#19058).\<...\>
. This allows easier toggling of whole-word search, and it also works without enabling the regex mode (#18725; thanks osa1).regex
option to vim::Search
command to allow disabling regex search by default in the keymap (#19177; thanks osa1).Example usage:
{
"context": "VimControl && !menu",
"bindings": {
"/": ["vim::Search", { "regex": false }],
}
}
direnv
(#19144; thanks WeetHet).\s
in regex search not behaving correctly (#19241).tabs.activate_on_close = neighbour
settings to activate adjacent tabs, if you prefer that behavior (#19150).Window->Zoom
(#18921; thanks henryhchchc).cursor_shape
from underscore
to underline
(#19028).0.157.5
10/16/2024
0.157.4
10/16/2024
Example task configuration:
[
{
"label": "Run ${ZED_STEM}",
"command": "gcc",
"args": [
"$ZED_FILE",
"-o",
"${ZED_DIRNAME}/${ZED_STEM}.out",
"&&",
"${ZED_DIRNAME}/${ZED_STEM}.out"
],
"tags": ["c-main"]
}
]
regex
and caseSensitive
arguments to vim::MoveToNext
and vim ::MoveToPrev
commands, for toggling regex and case sensitive search (#18429; thanks osa1).Example:
{
"context": "VimControl && !menu",
"bindings": {
"*": ["vim::MoveToNext", { "regex": false, "caseSensitive": false }],
"#": ["vim::MoveToPrev", { "regex": false, "caseSensitive": false }]
}
}
$PATH
of a project (#18611).option-t
and option-shift-t
in terminal on macOS (#18749).tabs.git_status
setting (#18733; thanks Daste745)..proto
file (#18704).0.156.1
10/10/2024
0.156.0
10/09/2024
cmd-k cmd-l
), fold every fold (cmd-k cmd-0
) unfold every fold (cmd-k cmd-j
) to fold recursively (cmd-k cmd-[
) and unfold recursively (cmd-k cmd-]
).snippets: configure snippets
command to create and modify snippets (#18453; thanks loczek).snippets: open folder
command for opening the ~/.config/zed/snippets
directory (#18453; thanks loczek).{"terminal": {"cursor_shape": "block"}}
. Possible values: block
, bar
, hollow
, underline
(#18530).
editor.document_highlight.bracket_background
field to the theme to set background color of highlighted brackets. This will fall back to editor.document_highlight.read_background
, if not set (#17566; thanks thataboy).direnv export json
) mode by default instead of relying on a shell hook (#18536; thanks WeetHet).view the release notes
button in the update toast to trigger the auto update: view release notes locally
action (#18486).ui_font_weight
and buffer_font_weight
settings to require values to be between 100
and 950
(inclusive) (#18594; thanks JunkuiZhang).pyright
if available (#18353).uv.lock
files with the TOML language (#18426; thanks thorbenk).:fo[ld]
, :foldo[pen]
and :foldc[lose]
(#18424).za
to toggle fold under cursor (#18421).zO
/zC
/zA
to open, close and toggle folds recursively (and fixed zc
to not recurse into selections) (#18421).zR
/zM
to open/close all folds in the buffer (#18421).Reveal in Finder/File Manager
, Copy Path
, Copy Relative Path
and Copy file location
actions not working with multibuffers (#18626).{"terminal": {"blinking": "[on|off|terminal_controlled]"}
to work correctly and to work correctly when custom cursor_shape
is set (#18538).
terminal.cursor_shape
only controls the default shape of the terminal, not the blinking.terminal.blinking = on
means that it's always blinking, regardless of what terminal programs wantterminal.blinking = off
means that it's never blinking, regardless of what terminal programs wantterminal.blinking = terminal_controlled (default)
means that it's blinking depending on what terminal programs want. when a terminal program resets the cursor to default, it sets it back to terminal.cursor_shape
if that is set.direnv
mode is set to direct
and .envrc
is not allowed (#18473; thanks WeetHet).go to definition
would scroll the editor even when the definition was already within the viewport (#18441; thanks osa1).low_speed_timeout_in_seconds
for Ollama (#18417).use_on_type_format
setting not working when defined inside "languages"
in the settings. This change will now change the default behavior for C, C++, and Markdown, by turning language server's OnTypeFormatting
completions off by default (#18387).{"cursor_shape": "..."}
setting is removed. This does not apply to Vim mode (#18379).alt-enter
in terminal (#18363).{"lsp":{"<lsp-name>":{"binary":{"path": "_"}}}}
will now work for all language servers including those defined by extensions (#18318).cmd-O
to correctly open files on the remote host (#18308).:{range}yank
(#18424).proto
to Proto
under file_types
and languages
(#18559).{"lsp":{"<lsp-name>":{"binary":{"ignore_system_version": true}}}}
(#18318). Previously this was {"lsp":{"<lsp-name>":{"binary":{"path_lookup": false}}}}
. Note that this setting still does not apply to extensions.0.155.2
10/02/2024
assistant.inline_alternatives
setting to configure additional models that will be used to perform inline assists in parallel (#18098).Fix with Assistant
action on code with errors or warnings (#18163).qwen2.5-coder
model (#18290; thanks thehamsti).cmd-o
to correctly open files on the host (#18308).{"node": {"disable_path_lookup": true}}
in your settings. We do not yet use system/project-local node_modules (#18172).0.154.4
10/01/2024
0.154.3
09/27/2024
0.154.2
09/25/2024
0.154.1
09/25/2024
"tabs": {"file_icons": true}
to settings
(#17115; thanks Daste745).editor: rewrap
command for rewrapping text to the maximum line width (#17909).assistant::CopyCode
action (cmd-k c
/ ctrl-k c
) to copy to the clipboard, or the assistant::InsertIntoEditor
action (cmd-<
/ ctrl-<
) to insert into editor (#17853; thanks thataboy).git diff
inside the built-in terminal (#17446; thanks watsoncj).ctrl-shift-pageup
, right: ctrl-shift-pagedown
) like Chrome (#15583; thanks tepek2).pane::JoinAll
action (#17673).cursor_shape
. Can be bar
, block
, underline
, or hollow
. Default is bar
(#17572; thanks thataboy).inlay_hints.show_background
setting to allow displaying backgrounds for inlay hints in the editor (#18010).
false
.hint.background
color from the theme.editor: rewrap
when working with a selection that contained comments at different indentation levels (#18146).auto update: view release notes locally
feature by displaying release notes for each patch version associated with the installed minor version (#18108).ui_font_size
and buffer_font_size
to require values to be between 6px and 100px (inclusive) (#17829).tab_size
setting to require values be between 1 and 16 (inclusive) (#17882; thanks ihavecoke).rust-analyzer
support to look up rust-analyzer
binaries by default in $PATH
. That changes the default value to something users requested (#17926).ctrl-a
/ctrl-x
(#17644; thanks hekmyr).OpenFile
(gf
in Vim mode) and the word under the cursor is not an existing file path, we now fall back and additionally check whether a file called <word-under-cursor>.<language-specific-path-suffixes>
exists. That's similar to Vim's suffixesadd
option (#17805)./delta
command to re-insert changed files that were previously included in a context (#17903).low_speed_timeout_in_seconds
option to 600
for OpenAI provider to accommodate recent o1 model release (#17804).~/.cache/zed
instead of ~/Library/Caches/Zed
(#17949).editor: toggle comments
command didn't use the right comment syntax in JSX and TSX elements (#17734).ctrl-b
not moving the cursor (#17808).initialization_options
being passed as workspace/Configuration
for the vtsls, TypeScript, and YAML language servers (#17757).is
and ...
highlights for TypeScript (#17787; thanks AlbertMarashi).gv
after > and < in visual mode (#17986).vtsls
being initialized the wrong way, which would mean the wrong options were used to enable completions or inlay hints (#18259).0.153.6
09/19/2024
DeleteToPreviousWordStart
and DeleteToNextWordEnd
interactions around newlines. You can opt-in into the previous behavior by adding {"ignore_newlines": true} to either action's binds in your keymap (#16848; thanks kjzl).display_name
for custom models in OpenAI and Google Gemini AI providers (#17508).search
settings section to configure default options enabled in buffer and project searches (#17179; thanks thataboy).:y[ank]
(#17448).s
keybind to open with default app (#17231; thanks KorigamiK).:diff
and :revert
(that work with '<,'>
) to open the selected diff and revert it (#17456).d o
to open the diff and d p
to revert (spiritually similar to vim's do/dp, though obviously not the same) (#17456).ctrl-p
and ctrl-n
to summon the autocomplete menu in insert mode (#17456).(
and )
for sentence motion (#17425)./file
command when pressing tab (#17652).tabs.file_icons
default value (#17629; thanks kachick).low_speed_timeout_in_seconds
was not respected (#17423)."_
register writes overwriting "
register (#17419).Y
to vim behavior. If you want the neovim version (as a built in mapping to y$
) you must configure it in your settings (#17563; thanks vbhavsar).:3 d
(#17474).0.152.4
09/16/2024
0.152.3
09/10/2024
REPL: Added button to open full text output in a separate buffer (#16971).
Improved the Zed CLI zed
to pass along the environment as it was on the CLI to the opened Zed project. That environment is then used when opening new terminals, spawning tasks, or language servers (#17075). Specifically:
zed my-folder
, a terminal spawned with workspace: new terminal
will inherit these environment variables that existed on the CLI$PATH
(such as gopls
, zls
, rust-analyzer
if configured, ...) will look up the language server binary in the CLI environment too and use that environment when starting the process.RA_LOG=info zed .
and it will be picked up by the rust-analyzer that was spawned.Added multiuser support for up to 100 users on the same machine (#14143; thanks samsonjs).
Linux: Added an editor setting to toggle middle-click pasting (enabled by default) (#16572; thanks micahscopes).
Linux: Improved GPU detection (#17022).
prompts/get
responses, displayed as slash command labels (#17077; thanks dsp-ant).New Context
opening a new file when focused in the editor pane (#17106; thanks ramipellumbi).max_output_tokens
handling) (#17168).workspace::ActivatePaneInDirection
could not activate the center pane (i.e. one couldn't navigate from terminal or assistant panel to the center pane) after loading Zed (#17140).use_system_prompts: false
(#17027).go.mod
) was in a nested folder (#17108; thanks glaudiston). Pre-defined Go tasks now run in the package's directory. That means go test ./package -run MyTest
will run in ./package
and execute go test -run MyTest
. Also, go test ./...
will run in the package directory, not at the root of the Zed project, which is a small breaking change. In case one wants to run go test ./...
from the root, one can spawn a manual task that does this.