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 -moz-grid or -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."
  • Tasks:
    • 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 terminateAll argument."
    • Automatically show Problems panel -- "The new revealProblems task property allows you to automatically show the Problems panel. The property values are always, never, and onProblem."
  • Contributions to extenions: Vetur -- "The Vetur extension now offers semantic diagnostics, hover information, jump to definition, and find references for the JavaScript expression inside Vue's template interpolation region."
  • 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: file:///Users/name/Development/myProject.code-workspace or 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 machine scoped."
  • 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.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


  • Uno Platform Ports Windows Calculator to Linux

    Uno Platform has ported the famed Windows Calculator, open sourced last year, to Linux as part of a continuing "proof point" effort to demonstrate the reach of what it describes as the sole UI offering available to target Windows, WebAssembly, iOS, macOS, Android and Linux with single-codebase applications coded in C# and XAML.

  • ASP.NET Core OData 8 Preview Supports .NET 5, but with Breaking Changes

    ASP.NET Core OData, which debuted in July 2018, is out in a v8.0 preview that for the first time supports the upcoming .NET 5 milestone release.

  • VS Code Java Team Details 5 Best Dev Practices

    Microsoft's Visual Studio Code team for Java development added a new Coding Pack for Java installer and detailed best practices for setting up a development environment.

  • Binary Classification Using PyTorch: Defining a Network

    Dr. James McCaffrey of Microsoft Research tackles how to define a network in the second of a series of four articles that present a complete end-to-end production-quality example of binary classification using a PyTorch neural network, including a full Python code sample and data files.

  • Blazor Debugging Boosted in .NET 5 RC 2

    In highlighting updates to ASP.NET Core in the just-launched second and final Release Candidate of .NET 5, Microsoft pointed out better debugging for Blazor, the red-hot project that allows for C# coding of web projects.

Upcoming Events