What’s new in Microsoft Visual Studio Code

Microsoft regularly updates Visual Studio Code. Keep track of the updates’ key capabilities in this changelog

Microsoft’s open source development tool is an important piece of the developer’s toolkit. Built using GitHub’s cross-platform Electron framework, Visual Studio Code is a full-featured development editor that supports a wide selection of languages and platforms, from the familiar C and C# to modern environments and languages like Go and Node.js, with parity between Windows, MacOS, and Linux releases.

Microsoft regularly updates Visual Studio Code. Keep track of the updates’ key features in this changelog.

Where to download Visual Studio Code

To download the editor for Windows, MacOS, and Linux, go to Microsoft’s Visual Code Studio website. It’s also available in Anaconda Python as an option in Distribution 51.

Current version: What’s new in Visual Studio Code 1.34

Visual Studio Code 1.34 arrived in May 2019, with these new features and improvements:

  • CodeLens, which provides actionable contextual information in source code, has received an enhancement in which CodeLens locations are cached and restored immediately after switching editors.
  • For debugging, the new showSubSessionsInToolBar setting controla whether debug subsessions are shown in the debug tool bar. When the setting is false, the stop command on a subsession stops the parent session. This setting default is false.
  • CSS property values with dash, such as -ms-grid now come after grid completion.
  • The revealProblems task property lets developers automatically show the Problems panel. The property values are always, never, and onProblem.
  • For extension authoring, developers can debug more than one extension at a time. This helps when developing a set of tightly coupled or interdependent extensions.
  • The “Deploy Python to Azure Functions” tutorial describes how to create serverless Azure functions.

Previous version: What’s new in Visual Studio Code 1.33

Microsoft released Visual Studio Code 1.33 in April 2019 with the following new features and improvements. 

  • It is now easier to configure the display language. Running the Configure Display Language commands will open a Quick Pick listing of available locales based on the language picks installed, instead of having to open the JSON file. When a selection is made, the locale will be updated and the user prompted to restart Visual Studio Code.
  • The Source Control view has been aligned to behave as other views, such as the File Explorer and Open Editors views. Repositories can be made visible or hidden using context menu actions. Order and sizing can be preserved. The Source Control view also resizes itself up to a certain number of source control providers.
  • There are new settings to customize the IntelliSense display. The suggest.filteredTypes setting, for example, filters specific types from IntelliSense, with keywords filtered with: { "keyword": false }.
  • A default document formatter can be designated.
  • The Go To Definition behavior can be customized.
  • A “Convert to named parameters” refactoring for TypeScript allows for quickly organizing long function parameters lists by converting the function to take a single named parameter object.
  • A completion.triggerPropertyValueCompletion setting allows for disabling property value completion.
  • Debugging support has been added for subsessions. Debug sessions can be displayed as a tree in the debugger UI. This functionality is available through a new extension API, meaning it requires adoption by debugger extensions. Only the Node.js debugger supports it now.
  • A capability to automatically open a URL in a browser as soon as a specific message output is detected has been moved out of preview stage. This feature is useful for debugging web server source code.
  • Extension activation failure notification has been improved when Visual Studio Code detects a missing extension dependency. An action is provided to install the missing dependency.

Previous version: What’s new in Visual Studio Code 1.32

Microsoft released Visual Studio Code 1.32 in March 2019. Its new features include:

  • Developers can preview and apply color and file icon themes right after installing an extension that provides them. There is no need to reload.
  • It is now possible to edit the when clause of a key binding in the Keyboard Shortcuts editor.
  • The Command bar with Quick Fix and Peek Problem actions was added to the Problems hover. Quick fixes can be applied from the hover while Peek Problem opens the peek view in the editor. Developers can navigate to the previous and next error or warning from a problem peek view.
  • Extensions can mark a Code Action as “preferred” to indicate that it is the most-reasonable fix for a problem.
  • You can configure the font size and family, and the line height in the Debug Console using settings including: console.fontSize, debug.console.fontFamily, and debug.console.lineHeight.
  • HTML IntelliSense (smart completions) has been improved for ARIA (accessible rich internet applications) attributes.
  • The Vetur extension provides IntelliSense for Vue.js interpolations.
  • ES6 (ECMAScript 2015) is targeted in the new version of the editor. ES6 is much closer to TypeScript and produces less code, for faster loading times. (Visual Studio Code is written in TypeScript.) The editor now supports dynamic loading of TypeScript plugin extensions.
  • Visual Studio Code 1.32 includes TypeScript 3.3.3, a small update with some bug fixes.

Microsoft cautioned that Linux 32-bit support for Visual Studio Code will end soon. Developers are advised to update to the 64-bit version.

The company also said it was making progress on reducing strict null errors in the editor.

Previous version: What’s new in Visual Studio Code 1.31

Microsoft released Visual Studio Code 1.31 in February 2019 with these major changes:
  • The editor no longer has to be reloaded whenever an extension is installed or updated. Reloads interrupted workflow and would disrupt the state of any running code within the editor. Note that extensions that rely on other extensions may require the editor to be reloaded, but most extensions should upgrade seamlessly. Also, many new extension authoring additions are available, such as the ability to open resources in a system web browser (e.g., a PDF file), or the ability to suggest changes via Visual Studio Code's Quick Fixes system.
  • The tree widget used in the editor (e.g., for the Explorer pane) has been rewritten from scratch to be faster, and to support new features including type to navigate within a tree, instead of only being able to use the search widget; more flexible command bindings for extensions that use the tree widget; expand/collapse all by holding the Alt key when opening/closing tree nodes; customizable indent sizes for tree nodes; and much more.
  • The Problems panel now shows multi-line results in an expandable/collapsible view. This is useful for complex errors that involve showing code in context and for other detailed feedback.
  • The integrated terminal reflows lines correctly when its width is changed. Previously, the output would become mangled. Windows users have the option to use the native Windows Console API for the terminal to solve many compatibility issues. Type-to-search in the terminal has also been improved. For example, type-to-search now finds all instances of a term used multiple times on a single line.
  • Task and debug configurations can now accept user inputs -- for instance, as a way to interactively choose which subfolder to run tests from. Also, Tasks can now be configured to provide output in a subdivided version of the current integrated terminal window instead of an entirely new one.

Other changes include:

  • A new “screencast mode” provides more visual feedback for the cursor and keystrokes.
  • The Go menu for the application includes more commonly used options.
  • The References system (for looking up the use of functions, etc.) has added a history, allowing for quick lookups of previously used code.

Previous version: What’s new in Visual Studio Code 1.30

Visual Studio Code 1.30 was released in mid-December 2018. Some of the major additions in this version include the following:

  • Visual Studio Code extensions can be easily reverted to a prior version if the current one proves buggy. You can do this by way of the Install Specific Version action from the Command Palette, or by selecting “Install Another Version” from the gear icon next to the extension in the Extensions view.
  • TypeScript 3.2.2 is now supported. With this comes better support for callbacks in JavaScript and TypeScript (they are now shown with more context), improved handling of renames in both languages (renames now work in the context of a destructuring), and other useful JavaScript/TypeScript features.
  • Search boxes in the UI now accept multi-line input, either pasted or typed by pressing Shift+Enter to insert a newline. Searches for multiline matches also don’t need regular expressions; they work as-is.
  • The Find All References view, used to show all the places in a project that refer to a given variable or routine, now has a search history of its own. This was previously considered a preview feature, but is now promoted to full use.
  • Debugging is now easier to set up for a new project — for instance, by making it easier to specify user input variables for debug configurations. It’s also now possible to clear old debug consoles, and debug Node.js processes directly from Visual Studio Code’s Process Explorer.

Other improvements:

  • Buggy extensions that hang Visual Studio Code are profiled. If an extension is chronically unresponsive, Visual Studio Code encourages the user to file an issue with the extension developer.
  • Menus now have overflow hints and scroll hints, to accommodate menus potentially larger than the display.
  • Snippets can now insert block comments with proper syntax for the language in use.
  • Tasks can be configured to run automatically whenever a given folder is opened in Visual Studio Code.

Previous version: What’s new in Visual Studio Code 1.29

To continue reading this article register now