Welcome to the March 2024 release of Visual Studio Code. There are many updates in this version that we I you’ll like, this include:

Custom labels for open editors

VS Code now let you customize the display label for editor tabs and the Open editors view. This functionality can be useful to distinguish between editors for files with the same name.

You can tailor these labels to your preference by adding entries under the workbench.editor.customLabels.patterns setting. Each entry should include a glob pattern that matches file paths and a template that defines the new name for the editor tab. This customization only applies when a file’s path matches the specified pattern. Whether a pattern matches, depends on if it’s defined as a relative or absolute file path pattern.

Templates can incorporate variables such as ${filename}${extname}${dirname}, and ${dirname(N)}, which are dynamically replaced with values from the file’s path.

To enable or disable these custom labels, use the workbench.editor.customLabels.enabled setting. This enables you to switch to the original editor names at any time, without having to remove your custom patterns.

Locked scrolling

You can now synchronize scrolling across all visible editors by using the View: Toggle Locked Scrolling Across Editors command. This means that when you scroll in one editor, all the other editors scroll by the same amount, keeping everything aligned. This feature can be useful if you need to compare files side-by-side.

If you want more control for enabling and disabling locked scrolling, you can choose to only activate the scrolling sync when you’re holding down a specific keybinding. Set up a keyboard shortcut for the workbench.action.holdLockedScrolling command, and you’re able to temporarily lock the scrolling across editors whenever you need it.

Restart extensions

When an extension is updated, you can now restart extensions instead of having to reload the window.

Restart extensions instead of reloading the window

Note: When you are connected to a remote server like WSL or SSH or Dev Container, you still need to reload the window to update extensions.

Minimap section headers

The minimap now recognizes and renders sections defined by folding markers, such as //#region in TypeScript, or comments that use MARK:. This lets you quickly scan and navigate across large files.

Screenshot that shows folding marker regions defined in the editor in the minimap

Quick Search improvements

Sticky file paths

Now In Quick Search, the file name separators are now sticky to make it clearer which file a search result is associated with. This can be useful when you have many occurrences of a search term in a file.

File path separator buttons

When you hover over the file results of a particular file, or if you arrow down to a result, the buttons (for example, to open the file) also appear for the file path separator.

Run cells in section

To more easily run related cells in a notebook, you can now run cells that are grouped together by a markdown section header with the Run Cells in Section action. This action is available on the notebook Outline view and for Sticky Scroll elements.

Within Sticky Scroll elements, right-click the header of your choice, and run the section via the action in the context menu. Within the Outline view, select the toolbar icon that appears on hover or selection, and then run a single cell or a section of cells via the presented actions.

GitHub Copilot

Inline Chat improvements s

Inline Chat now starts as a floating control, making it more lightweight. After the first request, the control expands to take up more space. We have also adjusted the rendering to be more consistent with other chat experiences, such as the Chat view or Quick Chat.

Inline Chat As Content Widget floating over the editor textTheme: GitHub Light Colorblind (Beta)

We’ve repositioned the rerun and feedback controls, and made the toggle control for viewing diffs more prominent alongside the Accept and Discard buttons.

Screenshot of the Copilot Inline Chat, showing the repositioned controls.Theme: GitHub Light Colorblind (Beta)

Notebook kernel state as context
When you are in a notebook, the kernel state (for example, variables and available packages) is now automatically included as context in Inline Chat. This lets Copilot use the current state of the notebook to provide more relevant completions.

Leave a Reply

Trending