News

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 at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube