VS Code update includes experimental fish shell, sticky scroll, and TypeScript 4.8

Microsoft has updated Visual Studio Code to version 1.71, with a string of new features including experimental support for the fish shell.

Fish (“friendly interactive shell”) is primarily for Unix-like operating systems such as Linux and macOS, but can also be installed on Windows via Cygwin, Windows Subsystem for Linux, or MSYS2 (based on a modified Cygwin). Fish has its own scripting language though users coming from bash will find it familiar. Installation into VS Code requires manual editing of config.fish, the fish configuration file.

The Git Bash terminal is also now available on an experimental basis. Git Bash is an implementation of Bash for Windows, suitable for running git commands in a Bash environment.

Sticky scroll is a feature which was experimental in version 1.70 but now fully released – though not enabled by default. The name does a poor job of describing it, but once enabled it is an excellent feature. If you are in the editor gazing at a wodge of code it is possible to lose track of which block it is in. Perhaps the developer started looking at one function but has scrolled to the next one. Sticky scroll shows the current scope, such as the function name, at the top of the editor. How the current scope is defined depends on the content. In a Markdown file, it shows the heading hierarchy, which might be several “sticky” lines. Similarly, in HTML it will show the hierarchy from the top html element to the current div. The settings specify the maximum number of lines that can be sticky.

Configuring Sticky Scroll in VS Code 1.71

VS Code users will also benefit from a new Code Action control, which is the pop-up menu that shows quick fixes and refactorings. The new control includes subheads and links to documentation.

Embedded into VS Code is a media player, which uses the open source FFmpeg library. Previously this was used only for Flac audio files, but now supports video in H.264 format and audio in other formats including MP3, Vorbis and WAV. This is useful for notebooks or webviews in the editor.

TypeScript 4.8, released late last month, was shipped with VS Code in this update. TypeScript 4.8 has a number of improvements which we looked at here, including more helpful error reporting and a few breaking changes.

Another key feature in this update is a new “Open in merge editor” button that appears automatically in files that have a source control conflict.