Enhancements
General
- Added the ability to format unsaved buffers with Prettier. This requires setting a Prettier parser in the user settings. Example for JSON:
{ "languages": { "JSON": { "prettier": { "allowed": true, "parser": "json" } } } }
(#4529).- Check it out: video.
- Changed the behavior of
workspace::CloseActiveItem
: when you're using macOS and there are no open tabs, it now closes the window (#5322). This can be controlled with a new setting,when_closing_with_no_tabs
, to disable it on macOS, or enable it on other platforms. - Improved file finder search sorting (#11970).
- Improved editing of file names in the project panel. Now, the file icon is shown as soon as the file extension is typed, even before the rename is confirmed.
- Added a
proxy
setting (#5032, #6701, #8650, #9424, #9422, #11890). - Added a
Duplicate
action to the project panel (#5304).- Check it out: video
- Added the ability to create directories in
open->file
dialog on macOS.
-
Added a
New Window
item to the dock menu (#11651). -
Standardized CLI application startup to match non-CLI application startup behavior: both now open an empty file or show the welcome page if no previous workspace exists and no path is provided.
-
Added glob support for
file_types
configuration (#10765).
file_types
can now be written like this:
"file_types": {
"Dockerfile": [
"Dockerfile",
"Dockerfile.*",
]
}
- Added
Cut
,Copy
, andPaste
actions to the editor context menu (#4280). - Changed middle mouse down to trigger columnar selection, creating a rectangle of multicursors over a dragged region (#11990).
- Improved performance of editing the assistant panel and untitled buffers with many edits.
- Added font feature values. Now you can set font features like
"cv01": 7
. - Changed context menus in editors to no longer scale with
buffer_font_size
. - Added support for all
OpenType
font features to macOS. - Changed the default ESLint configuration to include the following in order to silence warnings/errors:
{"codeAction": { "disableRuleComment": { "enable": true, "location": "separateLine", }, "showDocumentation": { "enable": true } }}
AI
- Added
editor::AcceptInlineCompletion
action (bound to Tab by default). To prevent accepting inline completions with tab, add{"context": "Editor && inline_completions", "bindings": {"tab": "editor::Tab"}}
(#6788).
Tasks
- Added coloration to task icons in terminal based off status (#11968).
Languages
- Added support for autoclosing of HTML tags in local projects (#5267). This feature is enabled by default, but can be disabled with the following snippet in your
settings.json
:
"lsp": {
"vscode-html-language-server": {
"settings": {
"html": { "tagAutoclosing": false }
}
}
}
- Added built-in Go runnables and tasks that allow users to run Go test functions, test packages, or run
main
functions. - Added
gopls
support when openinggo.mod
orgo.work
files. - Added test runnable detection for PHP (PHPUnit & Pest).
- Added task for running selected PHP code.
- Added
describe
,test
, andit
functions to buffer symbols to support Pest runnable in PHP. - Added
yield
keyword to PHP keyword mapping. - Added GraphQL icon for
.gql
and.graphqls
files. - Added ability to pass
initialization_options
to Ruby language servers (solargraph and ruby-lsp). - Added ability to configure own build of
tailwindcss-language-server
in Zed settings. Example:{"lsp":{"tailwindcss-language-server":{"binary":{"arguments":["/absolute/path/to/tailwindcss-language-server/bin/tailwindcss-language-server", "--stdio" ]}}}}
- Fixed documentation not showing up for completion items coming from
tailwindcss-language-server
(#10532).
Bug Fixes
- Fixed
$ZED_SELECTED_TEXT
variable in Tasks ignoring whether visual-line-mode in Vim was used. - Fixed language servers (such as
gopls
) not starting up correctly when opening a single file in Zed (#11361, #8764). - Fixed Zed's internal Node runtime not being put in
$PATH
correctly when running language servers and other commands withnode
(#11890). - Fixed
gopls
not working correctly when thego.mod
file was in a subfolder and not the root folder of the project opened in Zed (#10224). - Fixed backtick characters not getting autoclosed in Golang files (#12025).
- Fixed keybinding for rename in project panel context menu to be
F2
(#11608). - Fixed a bug where lsp completion requests were sometimes being made twice.
- Fixed default Prettier not respecting Zed's
hard_tabs
settings. - Fixed multiple save modals appearing for the same file being closed (#10192).
- Fixed a theme-specific bug with highlighting of variable in Python files (#11666).