Enhancements
General
- Improved app responsiveness with large number of diagnostics (#23122).
- Improved visibility of errors from language servers by reporting them in the UI when the user invokes an LSP action (#23011).
- Improved formatting of selection by adding support for multiple cursors (#22933).
- Improved diagnostic excerpts by using syntactic info to determine the context lines to show (#22858).
- Added an error toast that is shown when a dev extension fails to install (#22914).
- Added the process ID (PID) to terminal tab tooltips (#21955; thanks Angelk90).
- Added
project_panel.entry_spacing
setting to configure spacing between entries in the project panel:comfortable
(default) orstandard
(#16255; thanks mikesun). - Improved keymap settings file with enhanced JSON schema information, enabling better
json-language-server
completions and tooltips, especially for actions requiring input (#23044).
Language Support
- Added support for checking for
yaml-language-server
on the$PATH
(#22036; thanks henryhchchc). - Changed default formatter for C/C++ to be the primary language server, not Prettier. Format-on-save is still disabled by default for C/C++, but if one uses the
editor: format
command now, it will default to the language server.clangd
can format C++ files, whereas prettier cannot (#23112, #23119). - Fixed rename symbols action when the language server does not have the capability to prepare renames - such as
luau-lsp
(#23000). - Added configuration sent on initialization to the
Server Info
section of the language server logs (#23084). - Improved LSP debug logs by defaulting to soft wrap and folding a suffix of long lines. Also adds autoscroll, so if the cursor is on the last line of the logs they will scroll like
tail
(#22996).
AI
Vim, Emacs, and Keybinds
- Vim: Added SubWord TextObject (#22387; thanks 0x2CA).
- Vim: Added support for the popular vim_sneak plugin. This is disabled by default and can be enabled by binding a key to the
Sneak
andSneakBackward
operators (#22793; thanks nilehmann). - Emacs: Added support for
ctrl-t
transposing characters on Linux (#22974). - Added
Diagnostics
key context allowing Diagnostic pane-specific keybinds (#23043; thanks everdrone). - macOS: Added
fn-f
keyboard shortcut for fullscreen toggle (#23184).
Bug Fixes
- Fixed a bug binding to
fn-X
(where X is a printing key) on macOS (#23070). - Fixed highlighting of "tool" directives in go.mod (#22995).
- Fixed error message about shell environment failing to load when joining projects in collaboration (#23138).
- Fixed Vim
dxG
delete to line (#23053; thanks 0x2CA). - Fixed handling of selection ranges when formatting selections within a multibuffer (#22929).
- Fixed result count in branch picker searches (#22908; thanks AaronFeickert).
- Fixed issue with project-specific env not being found via .envrc (direnv) on Linux (#22803; thanks 0xtimsb).
- Fixed outline items not scrolling properly (#22890).
- Fixed extend/shrink selection in JetBrains keymap on macOS (#22814; thanks narqo).
Breaking changes
- Renamed Github Copilot Chat "o1-preview" model to "o1" (#23038; thanks SkywardSyntax).