What's New in VS Code April 2019 (Version 1.34)
For the April 2019 update of Visual Studio Code, v1.34, the dev team primarily concentrated on a preview of extension tools to facilitate remote development, though several other new features were added to the open source, cross-platform code editor.
As we detailed earlier this month (see "Remote Development Tools Unveiled for VS Code"), the remote development extensions enable developers to work with VS Code:
Otherwise, as detailed in a new blog post, v1.34 changes affect many parts of VS Code, including:
- Editor: Stable CodeLens -- "VS Code now optimistically caches CodeLens locations and restores them immediately after switching editors. This fixes an issue where CodeLens lines would shift slightly when switching between editors."
- Languages: Lower rank for CSS property values with vendor prefix -- "CSS property values prefixed with dash
'-' (such as
-ms-grid), now come after
grid in auto completion."
- Debugging: debug.showSubSessionsInToolBar -- "We have introduced the setting
debug.showSubSessionsInToolBar which controls whether the debug sub-sessions are shown in the debug tool bar. When this setting is false, the stop command on a sub-session will also stop the parent session. This setting default is false."
- Terminate all tasks -- "The Tasks: Terminate Task command has a new option to terminal all tasks if there are multiple tasks running. If this is an action you do often, you can create a keyboard shortcut for the command with the
- Automatically show Problems panel -- "The new
revealProblems task property allows you to automatically show the Problems panel. The property values are
- Extension authoring:
- Multi-extension debugging -- "In this milestone, we've added support for debugging more than one extension at a time. This is useful if you are developing a set of tightly coupled or interdependent extensions."
- Command links in notifications -- "It was always possible to include links in notification messages via the syntax
[link name](http://link), but this only worked for links that open in a browser. Now you can also invoke a command from a link with the syntax
[link name](command:<command id>). The command with the provided identifier will be triggered when the user clicks the link."
- Links in notifications allow for title -- "You can now add a title to links in notifications that will be shown when the user hovers over the link. The syntax is
[link name](link "<the title>").
- Proposed extension APIs:
- vscode.workspace.workspaceFile -- "There is a new workspace property returning the location of the workspace file. For example:
untitled:1555503116870 for a workspace that is untitled and not yet saved."
- Machine-specific settings -- "If you have settings that allow users to customize an executable path and if these paths need to be scoped to the machine they are running on, you can now classify such settings as
- Engineering: Rewritten filesystem provider for local files -- "Extensions have been able to provide their own filesystem implementations for custom resources (read more here). However, VS Code's own implementation for local files was not implemented with the same extension APIs. This resulted in subtle differences when dealing with local file resources compared to resources coming from extensions. Over the last two milestones, we rewrote our local file system provider to use the extension APIs for consistency."
- New documentation: Python Azure Functions -- "There is a new Deploy Python to Azure Functions tutorial that describes how to create and deploy Python serverless Azure Functions."
- Miscellaneous: Language Server Protocol -- The Language Server Protocol has proposed support for the following new features:
- Selection ranges: to compute selection ranges for an array of positions. Sent from client to server.
- Call hierarchy: to compute a call hierarchy for a given symbol. Sent from client to server.
- Progress: to initiate progress reporting from the server. Sent from server to client.
The post also details many notable fixes, ranging from terminal crashes on Mac OS to strange scrolling behavior in the debug window.
David Ramel is the editor of Visual Studio Magazine.