89e527c
Fix typo in default settings (#38123)
Click to expand commit body
This PR fixes a typo in the default settings file. Release Notes: - N/A
Marshall Bowers created
89e527c
Fix typo in default settings (#38123)
This PR fixes a typo in the default settings file. Release Notes: - N/A
Marshall Bowers created
c50b561
Expose REPL Settings (#37927)
Closes #37829 This PR introduces and exposes `REPLSettings` to control the number of lines and columns in the REPL. These settings are integrated into the existing configuration system, allowing for customization and management through the standard settings interface. #### Changes - Added `REPLSettings` struct with `max_number_of_lines` and `max_number_of_columns` fields. - Integrated `REPLSettings` with the settings system by implementing the `Settings` trait. - Ensured compatibility with the workspace and existing settings infrastructure. Release Notes: - Add configuration "repl" to settings to configure max lines and columns for repl. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Casper van Elteren , Marshall Bowers , and Kirill Bulatov created
13113ab
Add setting to show/hide title bar (#37428)
Closes #5120 Release Notes: - Added settings for hiding and showing title bar https://github.com/user-attachments/assets/aaed52d0-6278-4544-8932-c6bab531512a
Ben Gubler created
01f1813
language_models: Remove unnecessary LM Studio connection refused log (#37277)
In zed logs you can see these logs of lmstudio connection refused.
Currently zed connects to lmstudio by default as there is no credential
mechanism to check if the user has enabled lmstudio previously or not
like we do with other providers using api keys.
This pr removes the below annoying log and makes the zed logs less
polluted.
```
2025-09-01T02:11:33+05:30 ERROR [language_models] Other(error sending request for url (http://localhost:1234/api/v0/models)
Caused by:
0: client error (Connect)
1: tcp connect error: Connection refused (os error 61)
2: Connection refused (os error 61))
```
Release Notes:
- N/A
---------
Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
d046016
collab: Add Orb cancellation date to `billing_subscriptions` table (#38098)
This PR adds an `orb_cancellation_date` column to the `billing_subscriptions` table. Release Notes: - N/A
Marshall Bowers created
e43ad85
Add debug methods for visually annotating ranges (#38097)
This allows you to write `buffer_snapshot.debug(ranges, value)` and it will be displayed in the buffer (or multibuffer!) until that callsite runs again. `ranges` can be any position (`usize`, `Anchor`, etc), any range, or a slice or vec of those. `value` just needs a `Debug` impl. These are stored in a mutable global for convenience, and this is only available in debug builds. For example, using this to visualize the captures of the brackets Tree-sitter query: <img width="1215" height="480" alt="image" src="https://github.com/user-attachments/assets/c1878fc7-f6b3-4e27-949e-ecf67a7906b9" /> Release Notes: - N/A
Michael Sloan created
ded6467
Refactor the scrollbar component (#36105)
Closes https://github.com/zed-industries/zed/issues/37621
Improves https://github.com/zed-industries/zed/issues/24623
Adding scrollbars withing Zed's UI currently is rather cumbersome, as it
requires the copying of a lot of code in order for these to work. Wiring
up settings for scrollbar visibilty always has to be done at the call
site and the state has to be saved and maintained by the caller as well.
Similarly, reserving space has to also be handled by the caller.
This PR changes the way scrollbars work in Zed fundamentally by making
use of the new `use_keyed_state` APIs: Instead of saving the state at
the call site, the window now keeps track of the state corresponding to
scrollbars. This enables us to add scrollbars with e.g. one simple call
on divs:
```rust
div()
.vertical_scrollbar(window, cx)
```
will add a scrollbar to the corresponding container. There are some more
improvements regarding tracking of scrollbar visibility settings (which
is now handled by a trait for each setting that supports this) as well
as reserving space.
Additionally, all needed stuff for layouting, catching events and
reserving space is also now managed by the scrollbar component instead.
This drastically reduces the amount of event listeners and makes
layouting of two scrollbars easier.
Furthermore, this paves the way for more improvements to scrollbars,
such as graceful auto-hide. Only downsight here is that we lose some
customizability in a few areas. However, once this lands, we gain the
ability to quickly follow these up without breaking stuff elsewhere.
This also already fixes a few bugs:
- Scrollbars no longer flicker on first render.
- Auto-hide now properly works for all scrollbars.
- If the content size changes, the scrollbar is updated on the same
frame. Both of these happened because we were computing the scrollbar
sizes too early, causing us to use the sizes from the previous frame or
unitialized sizes.
- The project panel no longer jumps if scrolled all the way to the
bottom and the scrollbar actually auto-hides.
Still TODO:
- [x] Fix scrolling in the debugger memory view
- [x] Clean up some more in the scrollbar component and reduce clones
there
- [x] Ensure we don't over-notify the entity the scrollbar is rendered
within
- [x] Make sure auto-hide properly works for all cases
- [x] Check whether we want to implement the scrollbar trait for
`UniformList`s as well
- ~~ [ ] Use for uniformlist where possible~~ Postponed
- [x] Improve layout for cases where we render both scrollbars.
Release Notes:
- N/A
Finn Evers created
53c5db4
Highlight Zed log file by default if log language is available (#38091)
This ensures that we highlight the log file with the log extension should the extension be installed. If it is not installed, we just fallback to the default of no highlighting, but also log no errors. Release Notes: - N/A
Finn Evers created
cd2ecbb
Add logging of missing or unexpected capture names in Tree-sitter queries (#37830)
Now logs warnings for unrecognized capture names and logs errors for missing required captures. Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev>
Michael Sloan and Max created
e71012a
Automatically uninstall release extension prior to dev extension install (#38088)
Closes https://github.com/zed-industries/zed/issues/31106 This fixes an issue where you would have to manually uninstall the release extension before installing the dev extension in case that is locally installed. Release Notes: - Installing a dev extension will now automatically remove the release extension should it be installed.
Finn Evers created
b9cf588
Run doctests in CI and fix up existing doctests (#37851)
Follows on from https://github.com/zed-industries/zed/pull/37716#pullrequestreview-3195695110 by @SomeoneToIgnore After this the doctests will be run in CI to check that the examples are still accurate. Note that doctests aren't run by Nextest: you can run them locally with `cargo test --doc`. Summary: * Run tests from CI * Loosen an exact float comparison to match approximately (otherwise it fails) * Fixed one actual bug in the tests for `dilate` where the test code assumed that `dilate` mutates `self` rather than returning a new object * Add some `must_use` on some functions that seemed at risk of similar bugs, following the Rust stdlib style to add it where ignoring the result is almost certainly a bug. * Fix some cases where the doc examples seem to have gone out of date with the code * Add imports to doctests that need them * Add some dev-dependencies to make the tests build * Fix the `key_dispatch` module docstring, which was accidentally attached to objects within that module * Skip some doctest examples that seem like they need an async environment or that just looked hard to get running AI usage: I asked Claude to do some of the repetitive tests. I checked the output and fixed up some things that seemed to not be in the right spirit of the test, or too longwinded. I think we could reasonably run the tests on only Linux to save CI CPU-seconds and latency, but I haven't done that yet, partly because of how it's implemented in the action. Release Notes: - N/A
Martin Pool created
174a0b1
Fix line indicator format setting (#38071)
Closes #ISSUE Release Notes: - Fixed an issue where the `line_indicator_format` setting would not update based on the value in `settings.json`
Ben Kunkle created
e4b754a
settings ui: Fix dropdown menu rendering the same entries for different settings (#38083)
Using `window.use_state` made the element IDs match between elements, thus causing the same menu to be shared for drop down menus. I switched to `window.use_keyed_state` and used a value's path as it's element id Release Notes: - N/A
Anthony Eid created
5f20b90
Add support for named folder icons (#36351)
Adds a `named_directory_icons` field to the icon theme that can be used
to specify a collection of icons for collapsed and expanded folders
based on the folder name.
The `named_directory_icons` is a map from the folder name to a
`DirectoryIcons` object containing the paths to the expanded and
collapsed icons for that folder:
```json
{
"named_directory_icons": {
".angular": {
"collapsed": "./icons/folder_angular.svg",
"expanded": "./icons/folder_angular_open.svg"
}
}
}
```
Closes #20295
Also referenced
https://github.com/zed-industries/zed/pull/23987#issuecomment-2638869213
Example using https://github.com/jacobtread/zed-vscode-icons/ which I've
ported over from a VSCode theme,
<img width="609" height="1307" alt="image"
src="https://github.com/user-attachments/assets/2d3c120a-b2f0-43fd-889d-641ad4bb9cee"
/>
Release Notes:
- Added support for icon themes to change the folder icon based on the
directory name.
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Jacob and Marshall Bowers created
4c758bd
fix command name for hover in docs (#38084)
Release Notes: - N/A
Karl-Erik Enkelmann created
4b7595c
git: Add git stash picker (#35927)
Closes #ISSUE This PR continues work from #32821 by adding a stash entry picker for pop/drop operations. Additionally, the stash pop action in the git panel is now disabled when no stash entries exist, preventing error logs from attempted pops on empty stashes. Preview: <img width="1920" height="1256" alt="Screenshot From 2025-09-11 14-08-31" src="https://github.com/user-attachments/assets/b2f32974-8c69-4e50-8951-24ab2cf93c12" /> <img width="1920" height="1256" alt="Screenshot From 2025-09-11 14-08-12" src="https://github.com/user-attachments/assets/992ce237-43c9-456e-979c-c2e2149d633e" /> Release Notes: - Added a stash picker to pop and drop a specific stash entry - Disabled the stash pop action on the git panel when no stash entries exist - Added git stash apply command - Added git stash drop command
Alvaro Parker created
2143c59
svg_preview: Ensure preview properly updates in follow mode (#38081)
This fixes an issue where we would not update neither the path nor the editor that was listened to during follow mode, which in turn would cause the preview to become stale. Fix here is to update the subscription whenever the active item changes and also update the associated path accordingly. Release Notes: - Fixed an issue where the SVG preview would not update when following the active editor.
Finn Evers created
2b3ca36
Fix flicker in short context menus that have documentation aside (#38074)
Menu items in the context menu component have the ability to display a documentation aside popover. However, because this docs aside popover was setup as a sibling flex container to the actual menu popover, if the menu had a short amount of items and the docs popover is bigger than the menu, this flickering would happen, making it essentially unusable: https://github.com/user-attachments/assets/74956254-fff6-4c5c-9f79-02998c64a105 So, this PR makes the docs aside popover in wide window sizes absolutely-positioned relative to the menu container, which removes all flickering. On top of that, I'm adding a `DocumentationEdge` enum that allows to control the edge anchor of the docs aside, which is useful in this particular mode selector example to make the layout work well. https://github.com/user-attachments/assets/a3e811e1-86b4-4839-a219-c3b0734532b3 When the window is small, the docs aside continue to be a sibling flex container, which causes a super subtle shift in the items within the menu popover. This is something I want to pursue fixing, but didn't want to delay this PR too much. Release Notes: - N/A
Danilo Leal created
85f7bb6
extension_host: Replace backslashes with forward slashes for cwd on Windows (#38072)
Instead of passing CWD verbatim from the Windows host with backslashes and all, we now rewrite it into a more POSIX-happy format featuring forward slashes which means `std::path::Path` operations now work within WASI with Windows-style paths. Release Notes: - N/A
Jakub Konka created
7377a89
project_panel: Allow dragging folded directories onto other items (#38070)
In https://github.com/zed-industries/zed/pull/22983 we made it possible to drag items onto folded directories. This PR handles the reverse: dragging folded directories onto other items. Release Notes: - Improved drag-and-drop support by allowing folded directories to be dragged onto other items in Project Panel.
Smit Barmase created
8ebe812
Format CONTRIBUTING.md (#38073)
This PR formats `CONTRIBUTING.md` using Prettier. Release Notes: - N/A
Marshall Bowers created
7f1c7c1
Update CONTRIBUTING to reflect reality (#38016)
Release Notes: - N/A
Conrad Irwin created
503284d
Update oo7 to 0.5.0 (#38043)
Resolves Incorrect Secret error in Secret Service integration Closes #34024 Release Notes: - Fixed Secret Service integration sometimes producing `Incorrect secret` error
bemyak created
2aa564e
Remove ACP feature flags (#38055)
This removes the `gemini-and-native` and `claude-code` feature flags. Also, I removed a bunch of unused agent1 code that we do not need anymore. Initially I wanted to remove much more of the `agent` code, but noticed some things that we need to figure out first: - The inline assistant + context strip use `Thread`/`ContextStore` directly - We need some replacement for `ToolWorkingSet`, so we can access available tools (as well as context server tools) in other places, e.g. the agent configuration and the configure profile modal Release Notes: - N/A
Bennet Bo Fenner created
cba9ff5
Helix Select Mode (#37748)
Please credit @eliaperantoni, for the original PR (#34136). Merge after (#34060) to avoid conflicts. Closes https://github.com/zed-industries/zed/issues/33838 Closes https://github.com/zed-industries/zed/issues/33906 Release Notes: - Helix will no longer sometimes fall out into "normal" mode, will remain in "helix normal" (example: vv) - Added dedicated "helix select" mode that can be targeted by keybindings Known issues: - [ ] Helix motion, especially surround-add will not properly work in visual mode, as it won't call `helix_move_cursor`. It is possible however to respect self.mode in change_selection now. - [ ] Some operations, such as `Ctrl+A` (increment) or `>` (indent) will collapse selection also. I haven't found a way to avoid it. --------- Co-authored-by: fantacell <ghub@giggo.de> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Romans Malinovskis , fantacell , and Conrad Irwin created
a577128
Update acp to 0.2.1 (#38068)
Release Notes: - N/A
Agus Zubiaga created
687c2c8
Fix experimental audio volume being significantly too low (#38062)
The rodio channelcount convertor halves the volume. This addresses that in most cases by using the default channelcount for the system microphone which is usually 2. A proper fix will follow later as part of the de-noising PR Release Notes: - N/A
David Kleingeld created
2a03b6b
terminal: Fix `test_basic_terminal` test (#38059)
`echo` isn't a program on windows, so we need to spawn a shell that executes it for the test Release Notes: - N/A
Lukas Wirth created
e68aa18
project: Fix task arguments being quoted incorrectly for nushell and powershell (#38056)
Release Notes: - Fixed task arguments being quoted incorrectly for nushell and powershell Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Lukas Wirth and Piotr Osiewicz created
592b013
language: Split LSP installation handling into a separate trait (#38046)
Part of reworking our installation handling to allow for multiple different versions to be handled Release Notes: - Fixed pre-release lsp fetching setting not having an affect until restarting Zed
Lukas Wirth created
1142408
language_models: Add provider options for OpenRouter models (#37979)
Supersedes: #34500 Also this will allow to fix this: #35386 without the UX changes but providers can now be control through settings as well within zed. Just rebased the latest main and docs added. Added @AurelienTollard as co-author as it was started by him everything else remains the same from original PR. Release Notes: - Added ability to control Provider Routing for OpenRouter models from settings. Co-authored-by: Aurelien Tollard <tollard.aurelien1999@gmail.com>
Umesh Yadav and Aurelien Tollard created
8201f3d
Use \x00 representation instead of literal null characters (#38033)
When working on the git stash picker PR (#35927) I notice that my test
was detected as a binary file on the git diff view and on GitHub. This
was due to the fact that I was using the literal char \0 (instead of a
proper representation like `\x00` or `\u{0000}`) character in my test
strings. This causes problems with git diff and GitHub's diff viewer,
and a reviewer might even assume that the file is corrupted, not
viewable or even malicious.
Looking at the rest of the codebase, only at `crates/git/src/commit.rs`
this character was used, so I replaced it with `\x00` which is a more
common representation of the null character in Rust strings.
It can also be seen that the PR that introduced this code, can't be
viewed properly on Github:
https://github.com/zed-industries/zed/pull/27636/files#diff-31114f0b22306b467482573446f71c638277510b442a10e60dd9a8667ccd93c3
Closes #ISSUE
Release Notes:
- Use `\x00` representation instead of literal null character in strings
to improve compatibility with git diff and GitHub's diff viewer.
Since the file is not viewable from the "Files changed" tab on Github,
this is the changed code:
https://github.com/zed-industries/zed/blob/dcd743aca494ec0217a2d7751150ca9e456012f4/crates/git/src/commit.rs#L66-L74
Alvaro Parker created
fcfc54c
Allow SplitAndMove on panes (#38034)
Updates #19350
Release Notes:
- Add `pane::SplitAndMove{Up,Down,Left,Right}` to allow creating a split
without cloning the current buffer.
Conrad Irwin created
ffb85d7
Update crash handling docs (#38026)
Also removed the symbolicate script, which we could replace with a `minidump-stackwalk` wrapper that downloaded sources/unstripped binaries from github releases if that's helpful for folks. Release Notes: - N/A
Julia Ryan created
405d7d7
Don't send contents of large `@mention`-ed files (#38032)
<img width="598" height="311" alt="Screenshot 2025-09-11 at 9 39 12 PM" src="https://github.com/user-attachments/assets/b526e648-37cf-4412-83a0-42037b9fc94d" /> This is for both ACP and the regular agent. Previously we would always include the whole file, which can easily blow the context window on huge files. Release Notes: - When `@mention`ing large files, the Agent Panel now send an outline of the file instead of the whole thing.
Richard Feldman created
bdf44e5
Prevent Discord URL preview in good first issue notifications (#38030)
Release Notes: - N/A
Joseph T. Lyons created
45ee132
Add handling of git's core.excludesFile (#33592)
Taking over from #28314. Part of https://github.com/zed-industries/zed/issues/4824 Co-authored-by: Paul Nameless <reacsdas@gmail.com> Release Notes: - Zed now respects git's `core.excludesFile` (~/.config/git/ignore) in addition to .gitignore. --------- Co-authored-by: Paul Nameless <reacsdas@gmail.com>
Cole Miller and Paul Nameless created
b60e705
Fix auto update not defaulting to true (#38022)
#37337 Made `AutoUpdateSetting` `FileContent = AutoUpdateSettingsContent` which caused a deserialization bug to occur because the field it was wrapping wasn't optional. Thus serde would deserialize the wrapped type `bool` to its default value `false` stopping the settings load function from reading the correct default value from `default.json` I also added a log message that states when the auto updater struct is checking for updates to make this easier to test. Release Notes: - fix auto update defaulting to false
Anthony Eid created
2bb50ac
Add action to send good first issues to discord (#38021)
Release Notes: - N/A
Joseph T. Lyons created
87f5e72
python: Add built-in support for Ty (#37580)
- **Rename PythonLSPAdapter to PyrightLspAdapter** - **ah damn** - **Ah damn x2** Release Notes: - Python: Added built-in support for [ty](https://docs.astral.sh/ty/) language server (disabled by default). --------- Co-authored-by: Lukas Wirth <lukas@zed.dev> Co-authored-by: Zsolt Dollenstein <zsol.zsol@gmail.com> Co-authored-by: Cole Miller <cole@zed.dev>
Piotr Osiewicz , Lukas Wirth , Zsolt Dollenstein , and Cole Miller created
11b7913
Refactor/optimize tree-sitter utilities for finding nodes enclosing ranges (#37943)
#35053 split out these utility functions. I found the names / doc comments a bit confusing so this improves that. Before that PR there was also a mild inefficiency - it would walk the cursor all the way down to a leaf and then back up to an ancestor. Release Notes: - N/A
Michael Sloan created
ff2eebf
settings ui: Add basic support for drop down menus (#38019)
Enums with six or less fields can still use toggle groups by adding a definition. I also renamed the `OpenSettingsEditor` action to `OpenSettingsUi` Release Notes: - N/A
Anthony Eid created
c4d75ea
Windows: Fix issues with paths in extensions (#37811)
### Background Zed extensions use WASI to access the file-system. They only have read-write access to one specific folder called their work dir. But extensions do need to be able to *refer* to other arbitrary files on the user's machine. For instance, extensions need to be able to look up existing binaries on the user's `PATH`, and request that Zed invoke them as language servers. Similarly, extensions can create paths to files in the user's project, and use them as arguments in commands that Zed should run. For these reasons, we pass *real* paths back and forth between the host and extensions; we don't try to abstract over the file-system with some virtualization scheme. On Windows, this results in a bit of mismatch, because `wasi-libc` uses *unix-like* path conventions (and thus, so does the Rust standard library when compiling to WASI). ### Change 1 - Fixing `current_dir` In order to keep the extension API minimal, extensions use the standard library function`env::current_dir()` to query the location of their "work" directory. Previously, when initializing extensions, we used the `env::set_current_dir` function to set their work directory, but on Windows, where absolute paths typically begin with a drive letter, like `C:`, the [`wasi-libc` implementation of `chdir`](https://github.com/WebAssembly/wasi-libc/blob/d1793637d8afcdc730408e7b6a19a050c3336ce7/libc-bottom-half/sources/chdir.c#L21) was prepending an extra forward slash to the path, which caused `current_dir()` to return an invalid path. See https://github.com/bytecodealliance/wasmtime/issues/10415 In this PR, I've switched our extension initialization function to *bypass* wasi-libc's `chdir` function, and instead write directly to wasi-libc's private, internal state. This is a bit of a hack, but it causes the `current_dir()` function to do what we want on Windows without any changes to extensions' source code. ### Change 2 - Working around WASI's relative path handling Once `current_dir` was fixed (giving us correct absolute paths on Windows), @kubkon and I discovered that without the spurious leading `/` character, windows absolute paths were no longer accepted by Rust's `std::fs` APIs, because they were now recognized as relative paths, and were being appended to the working directory. We first tried to override the `__wasilibc_find_abspath` function in `wasi-libc` to make it recognize windows absolute paths as being absolute, but that functionality is difficult to override. Eventually @kubkon realized that we could prevent WASI-libc's CWD handling from being linked into the WASM file by overriding the `chdir` function. wasi-libc is designed so that if you don't use their `chdir` function, then all paths will be interpreted as relative to `/`. This makes absolute paths behave correctly. Then, in order to make *relative* paths work again, we simply add a preopen for `.`. Relative paths will match that. ### Next Steps This is a change to `zed-extension-api`, so we do need to update every Zed extension to use the new version, in order for them to work on windows. Release Notes: - N/A --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Max Brunsfeld and Jakub Konka created
d5d30b5
python: Add built-in support for Ruff (#37804)
Release Notes: - python: The Ruff native language server is now available without installing an extension. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Cole Miller and Piotr Osiewicz created
7655e22
Fix panics from unicode slicing in license detection (#38015)
Closes #37954 Release Notes: - N/A
Michael Sloan created
7a83a7f
Fix congratsbot (#38013)
We need a PAT to have permission to check team information. Also, the COAUTHOR_TEMPLATES didn't feel quite right. Skipping this for now. Release Notes: - N/A
Joseph T. Lyons created
3cb3f01
languages: Pass fs into the init function (#38007)
Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev>
Piotr Osiewicz and Cole Miller created
46aa05e
Fix regex syntax in matching os-release (#38010)
From https://github.com/zed-industries/zed/pull/37712#issuecomment-3281970712, thank you @zywo Release Notes: - N/A
Martin Pool created
a33af4e
Remove legacy panic handling (#37947)
@maxdeviant We can eventually turn down the panic telemetry endpoint, but should probably leave it up while there's still a bunch of stable users hitting it. @maxbrunsfeld We're optimistic that this change also fixed the macos crashed-thread misreporting. We think it was because the `CrashContext::exception` was getting set to `None` only on macos, while on linux it was getting a real exception value from the sigtrap. Now we've unified and it uses `SIGABRT` on both platforms (I need to double check that this works as expected for windows). We unconditionally set `RUST_BACKTRACE=1` for the current process so that we see backtraces when running in a terminal by default. This should be fine but I just wanted to note it since it's a bit abnormal. Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Julia Ryan and Conrad Irwin created
116c654
project_panel: Make rest of the project panel drag and drop target (#38008)
Closes #25854 You can now drag-and-drop on the remaining space in the project panel to drop entries/external paths in the last worktree. https://github.com/user-attachments/assets/a7e14518-6065-4b0f-ba2c-823c70f154f4 Release Notes: - Added support for drag-and-drop files and external paths into the empty space of the project panel, placing them in the last folder you have added to the project.
Smit Barmase created