Previously disabled both scrollbars, but horizontal scrolling is still
needed when
lines exceed the viewport width. Now editors can disable a single scroll
axis, not just both.
Release Notes:
- N/A
Ben Brandt
created
8faeb34
Rename `assistant_settings` to `agent_settings` (#31513)
Click to expand commit body
This PR renames the `assistant_settings` crate to `agent_settings`, as
well a number of constructs within it.
Release Notes:
- N/A
Marshall Bowers
created
61a40e2
evals: Allow threads explorer to search for JSON files recursively (#31509)
Click to expand commit body
It's just more convenient to call it from CLI this way.
+ minor fixes in evals
Release Notes:
- N/A
Oleksiy Syvokon
created
239ffa4
debugger: Improve keyboard navigability of variable list (#31462)
Click to expand commit body
This PR adds actions for copying variable names and values and editing
variable values from the variable list. Previously these were only
accessible using the mouse. It also fills in keybindings for expanding
and collapsing entries on Linux that we already had on macOS.
Release Notes:
- Debugger Beta: Added the `variable_list::EditVariable`,
`variable_list::CopyVariableName`, and
`variable_list::CopyVariableValue` actions and default keybindings.
Cole Miller
created
a4978ee
Restore Checkpoint now appears if you press Cancel (#31310)
Click to expand commit body
## Before
https://github.com/user-attachments/assets/0da54afd-78bb-4fee-ab0c-f6ff96f89550
## After
https://github.com/user-attachments/assets/e840e642-714b-4ed7-99cf-a972f50361ba
Release Notes:
- In the Agent Panel, Restore Checkpoint now appears if you press Cancel
during generation.
This PR is a follow-up to
https://github.com/zed-industries/zed/pull/31415 that fixes the model ID
for Claude Sonnet 4.
With the release of the Claude 4 models, the model version now appears
at the end.
Release Notes:
- N/A
Quick docs refinement as a follow-up to
https://github.com/zed-industries/zed/pull/31472.
Release Notes:
- N/A
Danilo Leal
created
05763b2
debugger beta: Fix install detection for Debugpy in venv (#31339)
Click to expand commit body
Based on my report on discord when chatting with Anthony and Remco:
https://discord.com/channels/869392257814519848/1375129714645012530
Root Cause: Zed was incorrectly trying to execute a directory path
instead of properly invoking the debugpy module when debugpy was
installed via package managers (pip, conda, etc.) rather than downloaded
from GitHub releases.
Solution:
- Automatic Detection: Zed now automatically detects whether debugpy is
installed via pip/conda or downloaded from GitHub
- Correct Invocation: For pip-installed debugpy, Zed now uses python -m
debugpy.adapter instead of trying to execute file paths
- Added a `installed_in_venv` flag to differentiate the setup properly
- Backward Compatibility: GitHub-downloaded debugpy releases continue to
work as before
- Enhanced Logging: Added logging to show which debugpy installation
method is being used (I had to verify it somehow)
I verified with the following setups (can be confirmed with the debug
logs):
- `conda` with installed debugpy, went to installed instance
- `uv` with installed debugpy, went to installed instance
- `uv` without installed debugpy, went to github releases
- Homebrew global python install, went to github releases
Release Notes:
- Fix issue where debugpy from different environments won't load as
intended
Raphael LΓΌthy
created
7ec61ce
agent: Indiciate files and folders in `list_directory` (#31448)
Click to expand commit body
Otherwise, the agent confuses directories with files in cases where dirs
are named like files (`TODO`, `task.js`, etc.)
Release Notes:
- N/A
Oleksiy Syvokon
created
119beb2
Update default models to newer versions (#31415)
Click to expand commit body
Follow up to: https://github.com/zed-industries/zed/pull/31209
Changes default models across multiple providers:
- Zed.dev Default Models in settings: claude-3-7-sonnet-latest β
claude-4-sonnet-latest
- Bedrock Default Model: Claude 3.5 Sonnet v2 β Claude Sonnet 4
- Google AI Default Fast Model: Gemini 1.5 Flash β Gemini 2.0 Flash
Release Notes:
- N/A
Ben Brandt
created
0d3fad7
Fix some completion docs render delays (#31486)
Click to expand commit body
Closes #31460
While this is now much better than it was, the documentation still
flickers when changing selection. Hoping to fix that, but it will be a
much more involved change. So leaving release notes as "N/A" for now, in
anticipation of the full fix.
Release Notes:
- N/A
Michael Sloan
created
450a10f
Revert to calling .update in eval fixture (#31483)
Click to expand commit body
Looks like I accidentally touched a line of code in an eval fixture in
#31479, despite intentionally trying to avoid that code. Thanks
@cole-miller!
Release Notes:
- N/A
Joseph T. Lyons
created
c208532
Use read-only access methods for read-only entity operations (#31479)
Thanks @mgsloan for introducing `stop_mouse_events_except_scroll` which
is exactly what we want here!
Release Notes:
- Fixed being unable to scroll editors when the cursor is positioned on
diff hunk controls.
Cole Miller
created
03071a9
debugger: Add an action to rerun the last session (#31442)
Click to expand commit body
This works the same as selecting the first history match in the new
session modal.
Release Notes:
- Debugger Beta: Added the `debugger: rerun last session` action, bound
by default to `alt-f4`.
Closes #31317
Release Notes:
- Debugger Beta: Fixed a bug that prevented keybindings for the
`StepOut` action from working.
Cole Miller
created
62545b9
debugger: Fix wrong port used for SSH debugging (#31474)
Click to expand commit body
We were trying to connect on the user's machine to the port number used
by the debugger on the remote machine, instead of the randomly-assigned
local available port.
Release Notes:
- Debugger Beta: Fixed a bug that caused connecting to a debug adapter
over SSH to hang.
Cole Miller
created
5e72c2a
editor: Show hidden mouse cursor on window activation (#31475)
Click to expand commit body
Closes #31349
Release Notes:
- Fixed issue where hidden mouse cursor would stay hidden even after
switching windows.
Smit Barmase
created
2a8242a
editor: Add Python auto-indent test for same row bracket pair (#31473)
Click to expand commit body
We [recently](https://github.com/zed-industries/zed/pull/31260) added a
condition which fixes certain edge cases detecting indent ranges when a
bracket pair is on the same row for suggested indent languages. This PR
adds a test for that so we don't regress in the future. Ref:
https://github.com/zed-industries/zed/issues/31362
https://github.com/zed-industries/zed/blob/f9592c6b9273738808210c3a2ab7a366258c7f71/crates/language/src/buffer.rs#L2910
Release Notes:
- N/A
Smit Barmase
created
d211f88
agent: Add sound notification when done generating (#31472)
Click to expand commit body
This PR adds the ability to hear a sound notification when the agent is
done generating and/or needs user input. This setting is turned off by
default and can be used together with the visual notification. The
specific sound I'm using here comes from the [Material Design 2 Sound
Library](https://m2.material.io/design/sound/sound-resources.html#).
Release Notes:
- agent: Added the ability to have a sound notification when the agent
is done generating and/or needs user input.
Danilo Leal
created
fe0bcd1
Activate last item if item's number is greater than the last one's (#31471)
Click to expand commit body
Release Notes:
- N/A
Kirill Bulatov
created
e844636
Highlight file finder entries according to their git status (#31469)
Click to expand commit body
Configure this with the
```json5
"file_finder": {
"git_status": true
}
```
settings value.
Before:
<img width="864" alt="before"
src="https://github.com/user-attachments/assets/5943e30f-1105-445e-9398-ea6dd35877c8"
/>
After:
<img width="864" alt="image"
src="https://github.com/user-attachments/assets/56b2fad6-8cdc-4f28-b238-920745231b1f"
/>
After with search matches:
<img width="577" alt="image"
src="https://github.com/user-attachments/assets/8c414575-7daf-43a8-89c2-98137d52b7a0"
/>
Release Notes:
- Start highlighting file finder entries according to their git status
Kirill Bulatov
created
24809c4
editor: Ensure minimap top offset is never `NaN` (#31466)
Click to expand commit body
(Late) Follow-up to
https://github.com/zed-industries/zed/pull/26893#discussion_r2073427393
The mentioned issue of needed zero-division for scrollbars is now fixed
via #30189.
However, whilst the linked PR fixed the issue for the layouting of the
scrollbar thumb, I sadly did not address the (somewhat rare) case of
`document_lines == visible_editor_lines` within the calculation of the
minimap top offset.
This PR adds coverage for that case and ensures that the
`minimap_top_offset` never ends up being `NaN`.
Release Notes:
- N/A
Finn Evers
created
f8365c5
Move to splits more ergonomically (#31449)
Click to expand commit body
Part of https://github.com/zed-industries/zed/discussions/24889
Release Notes:
- Made `workspace::MoveItemToPaneInDirection` and
`workspace::MoveItemToPane` to create non-existing panes
Kirill Bulatov
created
2c80492
language_tools: Increase available space for language server logs (#30742)
Click to expand commit body
This PR contains some small improvements for the language server log
editors. Due to the large gutter as well as the introduction of the
minimap, the horizontally available space was rather small. As these
editors soft wrap at the editor width, it resulted in the logs becoming
vertically larger and somewhat harder to read.
The improvement here is to disable all elements in the gutter that will
never appear or be used in the logs anyway. Furthermore, I opted to
disable the minimap altogether, since from my point of view it did not
contain any valuable information about the logs being shown.
First image is the current main, second is this branch. I put these
below each other so the difference is easier to spot.


Release Notes:
- N/A
Finn Evers
created
6840a4e
Parse `./`/`a/`/`b/`-prefixed paths more leniently in the file finder (#31459)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/15081
Closes https://github.com/zed-industries/zed/issues/31064
Release Notes:
- Parse `./`/`a/`/`b/`-prefixed paths more leniently in the file finder
Kirill Bulatov
created
5b320d6
Be more lenient when looking up gitignored files in file finder (#31457)
Click to expand commit body
The lookup was disabled due to concerns of being forced to traverse many
gitignored file entries. Since Zed does not index these eagerly, but
only contents of the directories that are parent to the gitignored file
entries, it might be not that bad β let's see how much improvement it
provides.
Closes https://github.com/zed-industries/zed/issues/31016
Release Notes:
- Improved file finder to include indexed gitignored files in its search
results
Kirill Bulatov
created
534bb06
Use `read()` over `read_with()` to improve readability in simple cases (#31455)
Click to expand commit body
Follow up to: #31263
Release Notes:
- N/A
Joseph T. Lyons
created
5bafb2b
Add holding opt/alt for fast scrolling (#31056)
Click to expand commit body
Fixes #14612
This was a feature I dearly missed from VSCode, so adding this helped me
migrate to Zed without disrupting my workflow. I found that `4.0` was a
nice goldilocks multiplier and felt close/the same as the speed in
VSCode.
Release Notes:
- Added faster scrolling in the editor while holding opt/alt
Alistair Smith
created
ee415de
debugger: Add keyboard navigation for breakpoint list (#31221)
Click to expand commit body
Release Notes:
- Debugger Beta: made it possible to navigate the breakpoint list using
menu keybindings.
Cole Miller
created
4acb473
Tolerate edits ending with `</edits>` instead of `</new_text>` (#31453)
Click to expand commit body
Release Notes:
- Improve reliability of the agent when a model outputs malformed edits.
Antonio Scandurra
created
4567360
Allow LSP adapters to decide, which diagnostics to underline (#31450)
4c396bc
theme: Add colors for minimap thumb and border (#30785)
Click to expand commit body
A user on Discord reported an issue where the minimap thumb was fully
opaque:
<img
src="https://github.com/user-attachments/assets/5049c6a3-f89a-4ceb-9d1b-ec06e7fe9151"
height="300">
This can happen because the scrollbar and its thumb might not
neccessarily be transparent at all.
Thus, this PR adds the`minimap.thumb.background` and
`minimap.thumb.border` colors to themes so theme authors can specify
custom colors for both here.
Furthermore, I ensured that the minimap thumb background fallback value
can never be entirely opaque. The values were arbitrarily chosen to
avoid the issue from occuring whilst keeping currently working setups
working. With the new properties added, authors (and users) should be
able to avoid running into this issue altogether so I would argue for
this special casing to be fine. However, open to change it should a
different approach be preferrred.
Release Notes:
- Added `minimap.thumb.background` and `minimap.thumb.border` to themes
to customize the thumb color and background of the minimap.
- Fixed an issue where the minimap thumb could be opaque if the theme
did not specify a color for the thumb.
Finn Evers
created
8a24f9f
agent: Refine naming for the panel `default_view` setting (#31446)
Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/31353. Just
ensuring we're walking toward a more consistent use of the multiple
terms we have floating around in the AI realm. In this case, `thread` is
the term for the now default view, the one that has agentic features;
`text_thread` is the term for the original view, the one where it's just
text. The settings now reflect this. Also took advantage of the
opportunity to add some docs, too.
Release Notes:
- N/A
Danilo Leal
created
f4b361f
language: Select language based on longest matching path extension (#29716)
Click to expand commit body
Closes #8408
Closes #10997
This is a reboot of [my original
PR](https://github.com/zed-industries/zed/pull/11697) from last year. I
believe that I've addressed all the comments raised in that original
review, but Zed has changed a lot in the past year, so I'm sure there
will be some new stuff to consider too.
- updates the language matching and lookup to consider not just "does
the suffix/glob match" but also "... and is it the longest such match"
- adds a new `LanguageCustomFileTypes` struct to pass user globs from
settings to the registry
- _minor/unrelated:_ updates a test for the JS extension that wasn't
actually testing what is intended to
- _minor/unrelated:_ removed 2 redundant path extensions from the JS
lang extension
**Languages that may use this**
- Laravel Blade templates use the `blade.php` compound extension
-
[apparently](https://github.com/zed-industries/zed/issues/10765#issuecomment-2091293304)
Angular uses `component.html`
- see also https://github.com/zed-industries/extensions/issues/169
- _hypothetically_ someone could publish a "JS test" extension w/ custom
highlights and/or snippets; many JS tests use `test.js` or `spec.js`
**Verifying these changes**
I added a number of assertions for this new behavior, and I also
confirmed that the (recently patched) [Laravel Blade
extension](https://github.com/bajrangCoder/zed-laravel-blade) opens as
expected for `blade.php` files, whereas on `main` it does not.
cc @maxbrunsfeld (reviewed my original PR last year), @osiewicz and
@MrSubidubi (have recently been in this part of the code)
Release Notes:
- Added support for "compound" file extensions in language extensions,
such `blade.php` and `component.html`. Closes #8408 and #10997.
claytonrcarter
created
649072d
Add a live Rust style editor to inspector to edit a sequence of no-argument style modifiers (#31443)
Click to expand commit body
Editing JSON styles is not very helpful for bringing style changes back
to the actual code. This PR adds a buffer that pretends to be Rust,
applying any style attribute identifiers it finds. Also supports
completions with display of documentation. The effect of the currently
selected completion is previewed. Warning diagnostics appear on any
unrecognized identifier.
https://github.com/user-attachments/assets/af39ff0a-26a5-4835-a052-d8f642b2080c
Adds a `#[derive_inspector_reflection]` macro which allows these methods
to be enumerated and called by their name. The macro code changes were
95% generated by Zed Agent + Opus 4.
Release Notes:
* Added an element inspector for development. On debug builds,
`dev::ToggleInspector` will open a pane allowing inspecting of element
info and modifying styles.
Michael Sloan
created
6253b95
agent: Fix creating files with Gemini (#31439)
Click to expand commit body
This change instructs models to wrap new file content in Markdown fences
and introduces a parser for this format. The reasons are:
1. This is the format we put a lot of effort into explaining in the
system prompt.
2. Gemini really prefers to do it.
3. It adds an option for a model to think before writing the content
The `eval_zode` pass rate for GEmini models goes from 0% to 100%. Other
models were already at 100%, this hasn't changed.
Release Notes:
- N/A
Oleksiy Syvokon
created
bffde7c
nix: Make zeditor symlink in package output (#31354)
Click to expand commit body
home-manager expects a `zeditor` binary to wrap (because the nixpkgs
derivation names the CLI `zeditor` instead of `zed`)
Release Notes:
- N/A
jvmncs
created
7e87916
Fix VS Code settings file location on Linux (#31242)
Click to expand commit body
Refs #30117
Release Notes:
- N/A
ADmad
created
29f0762
Add `block_comment` to JS, TSX, and TS (#31400)
Click to expand commit body
This is the first step of ["Solution proposal for folding multiline
comments with no
indentation"](https://github.com/zed-industries/zed/discussions/31395):
> 1. Add block_comment in the config.toml for the languages javascript,
typescript, tsx. These are simple languages for this feature, and I am
already familiar with them.
The next step will be:
> 2. Modify the function `crease_for_buffer_row` in `DisplaySnapshot` to
handle multiline comments. `editor::fold` and `editor::fold_all` will
handle multiline comments after this change. To my knowledge,
`editor::unfold`, `editor::unfold_all`, and the **unfold** indicator in
the gutter will already work after folding, but there will be no
**fold** indicator.
Release Notes:
- N/A
8e5d50b
agent: Add a setting choose the default view (#31353)
Click to expand commit body
Related discussions #30240 #30596
Release Notes:
- Added an option on the settings file to choose either the `agent`
panel or the `thread` panel as the default assistant panel when you
first open it. On `settings.json`:
```json
{
"agent": {
"default_view": "thread", // default is agent
}
}
```
Follow up to https://github.com/zed-industries/zed/pull/30140 and
https://github.com/zed-industries/zed/pull/31236
This PR introduces an inline code action indicator that shows up at the
start of a buffer line when there's enough space. If space is tight, it
adjusts to lines above or below instead. It also adjusts when cursor is
near indicator.
The indicator won't appear if there's no space within about 8 rows in
either direction, and it also stays hidden for folded ranges. It also
won't show up in case there is not space in multi buffer excerpt. These
cases account for very little because practically all languages do have
indents.
https://github.com/user-attachments/assets/1363ee8a-3178-4665-89a7-c86c733f2885
This PR also sets the existing `toolbar.code_actions` setting to `false`
in favor of this.
Release Notes:
- Added code action indicator which shows up inline at the start of the
row. This can be disabled by setting `inline_code_actions` to `false`.
Smit Barmase
created
5a0a8ce
extension: Update to wasm32-wasip2 target (#30953)
Click to expand commit body
Cleans things up now that wasm32-wasip2 is a supported target.
Before we merge, I will need to test against the current extensions to
make sure this is fine.
However, since our wit world isn't using any wasi package imports, this
shouldn't be a breaking change.
Release Notes:
- N/A