0.178.5
03/19/2025
- Fixed issue where Zed would show mac native tabs when opening new fullscreen windows on macOS. (#26774)
Keep up with the weekly Zed releases.
0.178.5
03/19/2025
0.178.4
03/19/2025
git.hunk_style
setting to control whether staged or unstaged
hunks are hollow. (26816; thanks jakcharvat)alt-shift-enter
to interact with the button on the new status toasts, toast::RunAction
. (#26420)Open Remote...
to File
menu. (#26288)cmd
on macOS and ctrl
off of macOS. (#26390)Open With
menu. (#26357)workspace/executeCommand
for actions' data. (#26239)cmd-click
in terminal to find more paths. (#26174)npm
from PATH is newer than 18.0.0). (#26209)@variable.special
syntax highlights. (#26271; thanks edwloef)ctrl-o
) work by default in terminal. (#26479)inactiveRegions
extension. (#26146; thanks naim94a)vtsls
and typescript-language-server
to the list of available language servers. (#26046; thanks sacki5)<count>%
motion. (#25839; thanks 5brian):reg[isters]
to show the current values of registers. (#25945; thanks AidanV)ctrl-a
/ctrl-x
. (#25997; thanks 5brian)path/to/file.ext:row:col:description or error message
would not be correctly identified as file paths due to the colon & additional text at the end. (#26401)Go to Line
palette is open would cause it to jump to the previous scroll position. (#26362)txt
files. (#25420; thanks MrSubidubi)!!
to rerun the last command. (#26122; thanks dinocosta)cmd+click
on a URL was not working sometimes. (#26128)Cmd+Click
on a file import. (#26120)()
or []
would not be highlighted properly. (#26695)cmd-click
s. (#26582)shift-i
) in visual modes. (#25603; thanks 5brian)cursor_shape
settings. (#25439; thanks 0x2CA).
repeat for remapped surrounds/exchange actions. (#26101)"seed_search_query_from_cursor" : "selection"
. (#26107; thanks 0x2CA)x g ctrl-a
step. (#26023; thanks 0x2CA)ctrl-alt-f
not correctly toggling search filters in project search. (#25917; thanks GuilhermeRGoncalves)vim::Backspace
and vim::Space
actions to vim::WrappingLeft
and vim::WrappingRight
respectively. The old names are still available, but they are marked as deprecated and users are advised to use the new names. (#25694; thanks asqarslanov)0.177.11
03/18/2025
0.177.10
03/17/2025
0.177.9
03/14/2025
multibuffer
key context. (#26264)editor::MoveToStartOfNextExcerpt
and editor::MoveToEndOfPreviousExcerpt
. (#26264)cmd-down
and cmd-shift-down
on Mac now move to the end of the last line of a singleton buffer instead of the beginning. In multibuffers, these now move to the start of the next excerpt. (#26264)vim::PreviousSectionEnd
(bound to [ ]
) to move to the beginning of the line, matching the behavior of vim::NextSectionEnd
. (#26264)0.177.8
03/13/2025
editor::ToggleGitBlame
to git::Blame
. (#26565)soft_wrap
setting not applying to buffers starting with a different language. (#25880; thanks alexozer)0.177.7
03/12/2025
🚀 Zed now has built-in Git support! 🚀
You can view your diff, stage changes, commit, and push from within the editor. For more information, check out the blog post.
stop_at_indent
to Editor::DeleteToBeginningOfLine
. (Thanks @felixpackard)"inlay_hints": {
/// A set of modifiers which, when pressed, will toggle the visibility of inlay hints.
/// If the set is empty or not all the modifiers specified are pressed, inlay hints will not be toggled.
"toggle_on_modifiers_press": {
"control": false,
"shift": false,
"alt": false,
"platform": false,
"function": false
}
}
copy permalink
action for self-hosted GitHub enterprise instances. (#26482)ssh_config
files (ssh -F ssh_config
) in connection string. (#25619)zed-remote-server
with busybox wget (Alpine, etc). (#25621)ZED_WORKTREE_ROOT
fallbacks. (#25605)always_show_close_button
key to show_close_button
and introduced a new hidden
value, that allows never displaying the close button. (#23880; thanks @Morgandri1)package.json
and tsconfig.json
. (#25826)``
not recognized as object. (#24999; thanks @yichengliu)editor::OrganizeImports
action to organize imports (sort, remove unused, etc.) for supported LSPs. You can trigger it by using the alt-shift-o
key binding. (#25793)enabled_in_assistant
setting. (#25767)edit_predictions.disabled_globs
.buffer: deploy search
after using Vim search (*
& #
) which enable all search options. (#25838)active_pane_modifiers
settings would be applied to a parent pane if one of its child panes was active. (#25836)Zed.log
could grow excessively large during long sessions of Zed. (#25768)editor: copy permalink to line
to now use the upstream of the current branch instead of origin
. (#26398)j/k
on folded multibuffer header. (#25944)d u/d U
for staging/unstaging in the project diff view. d o/d O
to show hide/toggle staged in the editor and d p
for restoring the hunk. (#26045)GoToPrevHunk
→ GoToPreviousHunk
, TabPrev
→ Backtab
, etc). Your existing configured keybindings will still work. You can click "Backup and Update" at the top of your keymap file to easily update to the new actions. (#25909)0.176.3
03/06/2025
0.176.2
03/04/2025
GoToPrevHunk
→ GoToPreviousHunk
, TabPrev
→ Backtab
, etc.). Your existing configured keybindings will still work. You can click "Backup and Update" at the top of your keymap file to easily update to the new actions. (#25909, 25931)0.176.1
03/03/2025
Today, we are launching our private beta for enhanced Git integrations. We'll gradually invite users from the Git beta waitlist daily. Keep an eye out for an invite email from our team in the coming days.
editor::RevertSelectedHunks
and editor::RevertFile
to git::Restore
and git::RestoreFile
for consistency with git (#25197)editor::ExpandAllHunkDiffs
action to editor::ExpandAllDiffHunks
(#25369)allow_rewrap
setting to control the editor::Rewrap
behavior for a given language. (#25173)on_last_window_closed
setting, that allows users to quit the app when the last window is closed (#25185)stop_at_indent
option for MoveToBeginningOfLine and SelectToBeginningOfLine. (#25428)package-version-server
on the $PATH
. (#23849; thanks matthewpi)chromium.googlesource.com
for Git blames and permalinks. (#24881; thanks hferreiro)raw
keyword to Rust language highlights (see the Rust 1.82.0 announcement). (#25342)true
and false
to match boolean
highlight defined in themes for C, C++, Go, JSON, JSONC, Python, and Rust. (#25338; thanks everdrone)@variable
syntax highlights to be less intense. (#25464)@variable
syntax highlights. (#25468)vim-exchange
(#24678; thanks thomasheartman)Vim::CurrentLine
for replace with register mode (grr
) (#24678; thanks thomasheartman)gr
in visual mode (#25301; thanks 0x2CA)assistant: insert into editor
was missing the selected range. (#25133; thanks rien7)editor: copy
was missing the selected range. (#25133; thanks rien7)alt-m
(back-to-indentation
). (#25428)alt-{
and alt-}
paragraph navigation. (#25284)ctrl-_
) not working by default in Terminal on macOS. (#25578)ctrl-b
being broken in the Terminal on Linux by default. (#25476)cmd-up
now moves to the previous multibuffer excerpt start, and cmd-down
moves to the next multibuffer excerpt end. For normal buffers these behave the same as before, moving to the beginning or end. (#25299)--target-dir
for Rust tasks (#24725; thanks bnjjj)cargo test
task for a tests
module in lib.rs
, main.rs
, or mod.rs
(#25092):
. (#25437)LICENSE.md
and LICENCE.md
files to license detection. (#25422; thanks pngdrift)This Buffer
option when predictions are disabled for its language. (#25566)edit_prediction_provider
is set to none
. (#25505)GoToDefinitionSplit
action where splitting wouldn't happen if the definition was in the same active editor. (#24990)copy_recursive
ran infinitely when copying a folder into its subfolder. (#25317)~/.hushlogin
exists (#25224)buffer_line_height
. (#25172)shift-
modifier symbol (#25238; thanks 0x2CA)editor::SelectLargerSyntaxNode
is called repeatedly in multi buffer. (#25585)menu::SelectLast
action (#25160; thanks pjtatlow)auto_indent_on_paste
was set to false
in certain languages. (#25447)0.175.6
02/27/2025
0.175.5
02/26/2025
We are currently working to integrate Git more deeply into Zed. Join the waitlist for the private beta, and we will pull you in when it's ready!
Andromeda
, Atelier
, Rosé Pine
, Sandcastle
, Solarized
& Summercamp
. If you would like to continue using one of these extensions (#24589):
zed: extensions
zed-legacy-themes
extensionshift-click
in the terminal. (#25143)alt-shift
while mouse is down. (#25096).bats
files as Shell Script
. (#24877; thanks bersace)keybindings.json
file:
"cmd-=": ["zed::IncreaseBufferFontSize", { "persist": true }]
"cmd-+": ["zed::IncreaseBufferFontSize", { "persist": true }]
"cmd--": ["zed::DecreaseBufferFontSize", { "persist": true }]
"cmd-0": ["zed::ResetBufferFontSize", { "persist": true }]
.rdata
and .RData
files. (#24925; thanks aymennasri).sln
).suo
).csproj
).fsproj
).vbproj
).cr
, .ecr
) files. (#24903; thanks nobodywasishere)aq
, iq
, ab
, and ib
motions to work more like mini.ai plugin. (#24167; thanks oca159)select all matches
in search (to be consistent with ga
). (#24897; thanks dinocosta)edit_prediction_conflict
context without modified keybinds for AcceptEditPrediction
. (#25015).dev.vars
files from edit prediction. (#24838)restore_unsaved_buffers: true
). (#25106)editor: split selection into lines
was adding an extra line at the end of the selection. (#25053)elixir-ls
, tailwindcss
, phpactor
) failing to start up due to an unfilled root_uri property in the InitializeParams. (#25290)next-ls
in the process. (#25344)cmd-click
on links/files when terminal is not focused. (#25104)cmd
, when switching to another application and back. (#25104)ci{
. (#25138)gr
with dot repeat. (#24932; thanks xzbdmw):wq
in a multibuffer. (#24603)F10
and Alt+Fn
. (#24745; thanks gim913)0.174.8
02/25/2025
0.174.7
02/25/2025
0.174.6
02/20/2025
zed: increase buffer font size
and zed: decrease buffer font size
commands would alter the user's settings.json
file. Now, by default, using these commands will not alter your settings file, but you can opt into persistence by adding some of the following keybindings to your keybindings.json
file:
"cmd-=": ["zed::IncreaseBufferFontSize", { "persist": true }]
"cmd-+": ["zed::IncreaseBufferFontSize", { "persist": true }]
"cmd--": ["zed::DecreaseBufferFontSize", { "persist": true }]
"cmd-0": ["zed::ResetBufferFontSize", { "persist": true }]
0.174.5
02/19/2025
Recent Branches
button. (#24809)0.174.4
02/19/2025
Last week, we introduced the public beta of Edit Prediction. To support the launch of this beta, we accelerated the release of all preview features and bug fixes to the stable version. This resulted in a more substantial stable release last week, followed by a smaller update this week. Check out today's preview release (v0.175.0
) for more action.
0.173.11
02/18/2025
0.173.10
02/14/2025
task::Spawn
opened the task selector instead of executing the task. (#24902)0.173.9
02/14/2025
0.173.8
02/13/2025
Introducing Edit Prediction. Powered by Zeta, our open-source, open-dataset language model.
To learn more, check out the blog post.
.bicep
) (#24757; thanks jezikk)..cs
) (#24711; thanks sethstha).cue
) (#24711; thanks sethstha)gitlab-ci.yml
) (#24711; thanks sethstha).luau
) (#24711; thanks sethstha).md
, .markdown
) (#24648).mjsx
, .cjsx
, .mtsx
, .ctsx
) (#24659, thanks twlite).sol
) (#24711; thanks sethstha).svelte
) (#24644)stylelint.config.cjs
, stylelint.config.js
, stylelint.config.mjs
, etc.) (#24605; thanks radmorecameron){
"icon_theme": {
"mode": "system",
"light": "Zed (Default)",
"dark": "Zed (Default)"
}
}
ToggleStagedSelectedDiffHunks
action for staging and unstaging individual diff hunks (#24606).editor: copy file name
and editor: copy file name without extensions
(#22174; thanks ankddev).editor: select all matches
(#23993).NODE_EXTRA_CA_CERTS
environment variable through to NPM when installing language servers (#23662; thanks jswny).project_panel::NewSearchInDirectory
to search the parent directory when triggered on a file (#23696; thanks wblazer).debug::OpenSyntaxTreeView
action by automatically opening in split to the right (#24452).keymap.json
file.e
for entire file object. yae
to copy entire file (#24039).ctrl-w a
to close all items in the current pane (#24162).gr
for replace with register (#24326).normal
mode after pressing escape during a pending visual-surround
operation (#24484; thanks roycrippen4).:set
with support for [no]wrap
, [no]number
, [no]relativenumber
(#24209; thanks maxbucknell).eslint.config.js
) would not have their specific icon without a leading .
(.eslint.config.js
) (#24391).
in hover popovers (#24388; thanks WeetHet).select_next_git_entry
project panel action would only select a previous entry or the currently selected entry (#24217; thanks Anthony-Eid).json
file icon could not be replaced via icon themes (#24432; thanks sethstha).outline_panel::Open
(#24535).editor::GoToDiagnostics
action stuck when multiple diagnostics groups belong to the same place (#24697).editor::SelectPrevious
twice in a row (#24660).ctrl-{<,>,+,-}
for resizing docks in addition to panes (#23874; thanks AidanV).inline_completions > disabled_globs
setting would not be respected when manually requesting a completion (editor: Show inline completion
) (#24121)./
/?
, n
/N
, gn
/gN
,*
/#
in project search results (#23819).0.172.11
02/10/2025
0.172.10
02/07/2025
0.172.9
02/07/2025
0.172.8
02/05/2025
Users have been asking us for a long time to give them the ability to customize their file icons:
With today's release of icon themes, this is now possible! 🎉
icon theme selector: toggle
action to switch between installed icon themes.alt+click
) (#22896; thanks 0xtimsb).Open File
action in file menu for Linux and Windows (#23707; thanks 0xtimsb).show_tab_bar_buttons
setting, under tab_bar
, that enables hiding the pane tab bar buttons (#23752).editor: open selections in multibuffer
(alt-enter
) command (#23644).o3-mini
and remove support for o1-mini
(#24080; thanks SkywardSyntax).Copy Permalink
menu item by disabling it when not in a Git repository (#23350; thanks Swiftaff).workspace: new window
action to now bring app to foreground (#24015).inline_completions.disabled_globs
(#24051).yaml-language-server
as YAML formatter (#23612).ab
/ib
"AnyBrackets" text objects that are the smallest of a(
, a[
or a{
or i(
, i[
or i{
(#23679; thanks oca159).ctrl-g
and {count} ctrl-g
to show the filename in the status bar (#23562).project_panel::NewDirectory
, editor:: NewlineAbove
in TextMate keymap (#23825; thanks huacnlee)..gitignore
d files filter occasionally not working in context file picker (#23777).ZED_WORKTREE_ROOT
incorrectly pointing to a file. Now points to a directory when current file is a project or unset when in out-of-project files (settings.json, tasks.json, etc) (#23150; thanks aborg-dev).GoToLine
and caret position (#23654).The path /.../tsserver.js doesn't point to a valid tsserver install. Falling back to bundled TypeScript version.
pop-up appearing (#23525).editor: open excerpts split
key binding to cmd-alt-enter
on macOS and ctrl-alt-enter
on Linux, to be more consistent with other actions that open files in a new split (#23646).0.171.6
02/01/2025
0.171.5
02/01/2025
0.171.4
01/31/2025
0.171.3
01/29/2025
editor: swap selection ends
action which swaps the cursor location from the beginning/end of a given selection (#23428).workspace: activate next window
and workspace: activate previous window
actions for cycling between windows (#23356; thanks 0xtimsb).workspace: move focused panel to next position
(#23317; thanks dinocosta).bindings
will take precedence. The default keymaps have been updated accordingly (#23378).@function.arguments
, @function.kwargs
, @type.class.inheritance
, @keyword.definition
, @attribute.builtin
and @type.builtin
(#21454; thanks elisiariocouto).o1-preview
to o1
for OpenAI provider (#23425).ctrl-space
/ ctrl-@
to set mark; ctrl-x ctrl-x
to swap mark/cursor) (#23297).:!
, :<range>!
and :r!
support (#23169).!
operator in normal/visual mode (#23169).%
in Vim mode not working correctly for multi-char brackets, such as do/end
in Elixir or \begin
and \end
in LaTeX (#23471).editor: copy path
not work in ssh remote (#23235; thanks CharlesChen0823).assistant
setting (#23190).selection
keyboard context has been replaced with selection_mode
(#23297).0.170.4
01/27/2025
0.170.3
01/27/2025
0.170.2
01/23/2025
0.170.1
01/22/2025
project_panel.entry_spacing
setting to configure spacing between entries in the project panel: comfortable
(default) or standard
(#16255; thanks mikesun).json-language-server
completions and tooltips, especially for actions requiring input (#23044).yaml-language-server
on the$PATH
(#22036; thanks henryhchchc).editor: format
command now, it will default to the language server. clangd
can format C++ files, whereas prettier cannot (#23112, #23119).luau-lsp
(#23000).Server Info
section of the language server logs (#23084).tail
(#22996).Sneak
and SneakBackward
operators (#22793; thanks nilehmann).ctrl-t
transposing characters on Linux (#22974).Diagnostics
key context allowing Diagnostic pane-specific keybinds (#23043; thanks everdrone).fn-f
keyboard shortcut for fullscreen toggle (#23184).fn-X
(where X is a printing key) on macOS (#23070).dxG
delete to line (#23053; thanks 0x2CA).ctrl-right
to ctrl-cmd-right
on macOS, because ctrl-right
is already bound to jump to the end of the line (#23357)0.169.3
01/21/2025
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.2
01/06/2025
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/21972