What’s new in Microsoft Visual Studio Code 1.33

Microsoft regularly updates Visual Studio Code. This changelog chronicles the key updates from version 1.17 through version 1.33.

1 2 Page 2
Page 2 of 2
The October 2018 update to Visual Studio Code, Version 1.29, added the following major features:
  • Regular expression searches support multi-line mode. You can now match for an expression that spans one or more line breaks by including a newline literal (\n) in a search expression. It’s also now possible to use back references and look-ahead assertions in regex, although you need to set the search.usePCRE2 option to “true” first.
  • MacOS support now includes full-screen mode control. You can use either MacOS’s native full-screen mode or Visual Studio Code’s implementation of full-screen mode, which doesn’t create a MacOS space on the desktop. Visual Studio Code also has improved support for MacOS Mojave Dark Mode; the theming of Visual Studio Code more closely matches Dark Mode’s own theming when Dark Mode is enabled.
  • Stack frames in the debugger can be collapsed for faster browsing of the call stack.
  • A new fast command, List All References, opens a new sidebar view that provides a browsable list of references to a particular function or variable.
  • Many new features are available for builders of extensions for Visual Studio Code, and the code samples in Microsoft’s repository have been cleaned up and made more consistent. Further, you can now build extensions without having to explicitly name a publisher—handy if you’re just throwing together an extension for internal use. 

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

The September 2018 release of Visual Studio Code, Version 1.28, provides improvements to the code editor’s behavior, its convenience functions, and Git integration. Among the most notable improvements:

  • Code snippets, a way to save and re-use common bits of boilerplate, can now be saved as part of a project and shared with others. Snippet titles, or prefixes, are no longer limited to a single string, making it easier to find a snippet by typing in one of a number of possible prefixes for it.
  • Git now provides a more detailed UI for handling conflicting deletes, allows the length of a Git commit message to be constrained, has validation rules for the names of branches provided by way of a regular expression, and allows the latest stash to be applied to the workspace by executing a global command palette action.
  • The editor now supports a wider range of suggestions for tab completion (including Shift-Tab to move backwards through suggestions), can automatically jump to the last edit location in a file by way of a keybinding, and allows files to be saved without autoformatting. This last is useful when editing a file provided by another team with different linting rules.
  • TypeScript code can now be quickly refactored to use async/await commands.

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

The August 2018 release of Visual Studio Code, Version 1.27, includes many UI and UX improvements, debug extension changes, and additions to editing CSS and JSON files.

The GUI-based user settings editor, rolled out in previous builds as an experimental feature, is now the default way to edit Visual Studio Code settings. It is still possible to edit the underlying JSON directly, but the settings editor provides options for a value, field validation, and other useful feedback.

When editing CSS files, path completions for CSS, SCSS, and Less @import statements now appear automatically, and clicking on links defined by @import and url() statements jump to their definitions. JSON editing now supports features available in the latest schema draft, such as conditional evaluation of schemas.

A feature contributed by the Node.js debug extension, the ability to see all loaded scripts in a dynamically updated view, is now available as a built-in debugger feature for all languages that can make use of such a metaphor.

Newly proposed Extension APIs offer the ability to know which source control instances are selected, and include providers for inline comments in documents or workspaces (for instance, for Gitter-like chat between developers).

Other changes of note include the following:

  • Many new features for authoring extensions, such as an update to the Language Server Protocol that allows menu entries to be populated based on announcements from the language server.
  • Enhanced customization of title bars and menus, so that (for instance) dark themes apply consistently, keyboard navigation behaves better in the menu bar, and the menu bar itself is less intrusive.
  • Breadcrumb navigation within edited files, introduced in the last build, now honors editor themes and file exclusions.
  • The “Tasks” menu, now named “Terminal,” now encompasses more functions from the integrated terminal.
  • Key bindings can now be per-platform.
  • Auto-closing of bracket characters in the editor can now be customized further.

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

The July 2018 release of Visual Studio Code, Version 1.26, offers improvements including breadcrumbs navigation, for jumping to files and symbols in a workspace.

Breadcrumbs show the file path and, using extensions, the symbol path to the cursor position. Symbols shown match the Outline view and Go to Symbol. Developers can customize the appearance of breadcrumbs.

To begin using breadcrumbs, enable it by choosing View > Toggle Breadcrumbsor via the breadcrumbs.enabledsetting.

Other capabilities in Visual Studio Code 1.26 include:

  • Quick fixes from the Problems panel let developers apply code fixes while reviewing errors and warnings.
  • TypeScript and JavaScript error messages are now clearer.
  • JSX tags are closed automatically when developers type > in a TypeScript or JavaScript file. This behavior matches what was already being done with HTML files.
  • The user setup package for Windows is now available in a stable mode; administrator privileges are not needed to install it.
  • Background updating is smoother.
  • Column selection is supported in the integrated terminal, using Alt-click.
  • The Add Missing Import quick fix can be applied to all missing imports in a JavaScript/TypeScript file. The fix only adds imports for symbols with a single potential definition. If there are potentially multiple definitions, developers must quick-fix the individual error and select the specific import.
  • Searching for extensions been made easier by adding IntelliSense autocompletions to the extension search field.
  • Extension packs can be managed as a single unit or by individual extension.
  • A new settings editor, still in beta, includes a new header user experience and setting descriptions rendered as markdown.
  • TypeScript 3.0.1 ships with the release.

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

The June 2018 release of Visual Studio Code, Version 1.25, promotes several preview features to stable and introduces some new editor layout functionality. The new features: 

  • Editors can now be laid out horizontally and vertically in a grid format. There are some behavioral changes in the ways editors are opened, manipulated, and closed, but people using only one or two editors at a time should not notice major changes. 
  • Outline view, now out of preview, allows a file’s contents to be shown in an overview format by way of a new API. For instance, you can now display a program file’s functions, constants, and attribute methods in a tree view. Users of IDEs like Eclipse have long enjoyed outline views, but some equivalent of it hasn’t been available in Visual Studio Code until now. 
  • Instances of Visual Studio Code can now be run from a self-contained directory, such as a USB drive or network share. 
  • Network traffic to and from services that implement the Language Server Protocol (LSP) can be inspected and analyzed. This is mostly for those developing LSP implementations, such as an extension for implementing LSP support for a given language. 
  • Python users have a new tutorial for making use of the Flask web framework.  

New in beta this time around is the Settings Editor. Normally, manually changing settings in Visual Studio Code involves editing JSON files that describe the settings—a tedious and error-prone process. The Settings Editor provides a more readable and navigable GUI front end for those files. 

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

The May 2018 release of Visual Studio Code, Version 1.24, focuses on variable detection, file refactoring, and new editing functionality. Its new featuries include:

  • The unused variable detection capability grays out these variables in JavaScript and TypeScript files. Parameters and imports are grayed out as well. Developers can use a Quick Fix to remove them automatically.
  • For file refactoring, developers can pull classes and functions into their own files.
  • Import paths in JavaScript and TypeScript are automatically updated when a file is moved or renamed. The feature requires TypeScript 2.9, which now ships with the editor.
  • The Duplicate Workspace in New Window command does what it says: Duplicates the current workspace in another window.
  • IntelliSense is being provided for variables, with predefined variables suggested as completions inside string values for json and launch.json configuration files.
  • Font zoom commands increase or decrease the editor’s font size while the rest of UI is left as is. This feature helps with pair programming and presentations.
  • Syntax-aware folding is enabled by default for TypeScript and JavaScript.

Beta features being previewed in Version 1.24 include:

  • The Settings Editor provides a GUI to discover and modify Visual Studio Code settings.
  • The Outline view capability shows the symbol tree of the currently active editor.
  • The debug toolbar location feature can float, dock or hide the toolbar.
  • The editor grid layout feature allows for opening editors vertically and horizontally without limits. This feature will be available in the editor’s beta release early this month.

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

The April 2018 release of Visual Studio Code, Version 1.23, focuses on API work to support extension authors. Its featuries include:

  • Highlighted indent guides to visualize source-code indenting.
  • Extension authors can develop custom Activity Bar items.
  • The NPM code-explorer capability supports running and debugging NPM scripts in a project.
  • The codeActionsOnSave setting lets developers configure a set of code actions to be run when a file is saved.
  • The editor has improved Unicode support.
  • The problems-view filtering lets developers choose files that will display warnings and errors.
  • For CSS, region folding allows creation of regions in CSS/SCSS/Less code. This provides helpful code folding. Also, new property support in CSS has been improved, with suggestions for experimental properties.
  • The TypeScript and JavaScript Organize Imports feature is now in production, no longer in beta. Used this feature to remove unused imports and sort remaining imports in source code.
  • TypeScript 2.8.3 ships with the upgrade, fixing some bugs.
  • In the workbench, Git clone workflow has been improved
  • Markdown has added support for workspace symbol search.
  • For debugging, logpoint expressions support smart completions and displaying of structured objects.

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

Version 1.22 of Visual Studio Code, released in March 2018, offers improved syntax-aware code-folding as well as better support for large files.

For syntax-aware code-folding, folding ranges in HTML, Less and Scss stylesheets, JSON, and Markdown now are computed by default based on the language’s syntax. The ranges no longer rely on well-formed indentation. You can also enable this feature for TypeScript and JavaScript via the setting ”typescript.experimental.syntaxFolding”: true. You also can switch back to indentation-based folding if desired. Microsoft is also proposing a new API for extensions so other languages can provide syntax-aware folding providers.

The Version 1.22 upgrade’s other new features include:

  • It is now easier to open large files. Previously, opening files in the 2GB range or more prompted a relaunch from the command line with a flag. Now, a notification appears that enables quick relaunch with more memory available.
  • Automatic background updating in Windows is enabled.
  • Improvements have been made to discoverability of JavaScript and TypeScript suggested code actions, with changes proposed to help improve source code. An example suggestion includes conversion of ECMAScript 5 classes to ECMAScript 6.
  • Navigation of errors and warnings via F8 accounts for all reported errors. Rather than looping inside one file, it goes to the next file with errors and back.
  • The new Auto Attach feature has been added to the editor’s Node.js debugger, which automatically attaches to Node.js processes launched in debug mode from the Visual Studio Code integrated terminal. Developers must enable this feature.
  • A new command is featured to navigate to reference search results. Trigger Find All References on a symbol and use F4 and Shift-F4 This is useful for making edits in all places that reference a symbol, without having to move your fingers off the keyboard.
  • Initial work is included in the development of logpoints. A logpoint is a variant of a breakpoint that does not break into the debugger but logs a message to the console. These are useful for injecting logging when debugging of production servers cannot be halted.
  • The editor’s extension API now supports creation of “hint” diagnostics, which are suggestions on how to improve a project by, for example, running a particular refactoring.
  • The editor now ships with TypeScript 2.8.
  • The terminal now has command tracking, which tries to guess when a command is run and allows “easy” navigation and selection between them.
  • A beta version of the Organized Imports command for JavaScript and TypeScript is provided; it removes unused imports and sorts remaining imports.

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

The February 2018 release of Visual Studio Code, Version 1.21, offers these new features:

  • A notifications UI, to manage notifications.
  • Integrated terminal splitting, in which the terminal can support multiple views at once, for easier terminal management.
  • The Markdown preview capability adds bidirectional scrolling.
  • Improvements to large file support, in which the text buffer has optimizations for large files.
  • A centered editor layout capability to help developers stay focused on code while providing the most screen space for the editor.
  • The ability to drag fies from the Windows File Explorer into a specific space of open folders. Files also can be dragged from the desktop into an open editors space.
  • HTML path completion, to ease the import files in HTML.
  • A beta horizontal search results view.
  • A tutorial on deploying serverless Azure Functions in the Azure cloud.

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

Released in January 2018, Version 1.20 of Visual Studio Code features the ability to run actions on different files simultaneously. Other new features include:

  • Developers can select multiple files in the File Explorer and Open Editors view, to run actions on multiple items.
  • Error indicators are shown in the File Explorer and Open Editors view.
  • The editor now ships with TypeScript 2.7.1.
  • The Quick Fix capability for errors in JavaScript and TypeScript is included, with developers able to apply the same fix to all occurrences within a file.
  • The improved Settings search capability uses natural language search to find the right setting.
  • The Git submodule support debuts, to perform operations on nested Git repos.
  • Files that need administrator privileges can be saved.
  • Files larger than 256MB can be saved.
  • Debugging for multiroot workspaces is added, to manage configurations among multiple projects.
  • For extension authoring, custom views have been improved with additions to the API.
  • Global snippets can be created; these are snippets not scoped to a single language but that can target any kind of files.
  • Developers can zoom in on image previews.
  • Terminal screen reader support is added,  first step to making terminal use easier for people with vision impairment.

Features in notable Visual Studio extensions

What’s new in the C/C++ for Visual Studio Code extension

In late February 2018, Microsoft made avaiable the C/C++ for Visual Studio Code extension that makes it easier to read code in Visual Studio Code. It grays out inactive code regions, which are controlled by conditional-compilation directives. Other features in the Version 0.15.0 extension include:

  • Updates for the IntelliSense compiler with more C++ 17 support and bug fixes.
  • Fixes for the highest-hitting crashes, which had impacted IntelliSense and Qt projects.
  • Repair of a stuck IntelliSense process during shutdown.
  • Addition of more macros for hint.
  • Fixing of error popup appearing with non-workspace files when using compile-commands.json.
  • Defining Unicode by default on Windows platforms.

What’s new in the Visual Studio Code Debugger for Java extension

Visual Studio Code has added new support for Java development. The 0.5.0 release of the Debugger for Java extension for Visual Studio Code adds expression evaluation and support step filters. With expression evaluation, developers can see the value of simple variables, single-line expressions, and short code fragments in the running context. Developers then can monitor and validate the change of a value while code is executed.

Support step filters let developers configure packages to filter in a launch.json configuration file. Step filters usually are used to filter out types that developers do not want to see or step through when debugging.

In the Debugger for Java 0.5.0 release, binaries can be published to a central Maven repository. 

Where to download Visual Studio Code extensions

You can download extensions from the Visual Studio Marketplace. Here are popular extensions:

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

Visual Studio Code 1.19, the November 2017 release of the editor, focuses on product performance, data collection tools for better reporting, and GitHub issue cleanup.

Key features include:

  • Quicker startup.
  • Addition of a command-line argument that prints diagnostics information to the terminal. This information can be shared with Microsoft in GitHub issues, with the intent of providing a better understanding of the editor at the time of the issue.
  • New diagnostics, logging, and extension monitoring.
  • Tabbed headers that can scale to available space.
  • The IntelliSense capability remembers previous suggestion choices.
  • The output of a terminal command can be piped directly into Visual Studio Code.
  • Changes to images can be viewed side by side in a Git repository.
  • Recipes for debugging Next.js and Meteor projects and applications.

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

The October 2017 release of Visual Studio Code, aka version 1.18, offers faster Windows startup, support for handling multiple projects via multiroot workspaces, and improvements to decorations (upon which features are built such as word highlights) that reduce slowdowns and memory usage.

Other improvements include:

  • Recommended extensions are identified by a badge to distinguish them from others in a list.
  • Auto import for JavaScript and TypeScript is available to speed up coding with imports. TypeScript 2.6 is required for this capability.
  • The source control status of a file shows up in the File Explorer.
  • The Git status in File Explorer shows modified, added, conflicting, and ignored files with different colors and badges.
  • Vertical panel layout lets developers move around the terminal and debug console, as well as switch between horizontal and vertical views. Developers also can access hidden panels when space is limited.
  • The inline pending change review capability lets developers view source code changes in the standard editor. This feature is enabled in Git repositories out of the box, but requires support from other repositories.

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

The September 2017 release of Visual Studio Code, aka version 1.17, arrived with many improvements, including region markers to the code folding support and boosted performance of the built-in terminal.

With code folding, developers can hide away regions of source code using folding icons on the gutter between the line numbers and the start of a line of code. The region markers allow you to specify with comments exactly where your foldable blocks begin and end. Markers have been defined for TypeScript, JavaScript, C and C++, C#, F#, PowerShell, and Visual Basic.

Also new in the 1.17 release is a canvas-based rendering engine in the integrated terminal capability, improving rendering from five to 45 times, depending on the situation. “This change reduces the input latency, power usage, and increases the frame rate of the terminal significantly,” Microsoft said. The integrated terminal provides a convenience that can save developers from having to switch windows or alter an existing terminal state in order to quickly perform a command-line task.

Other improvements in the September release include enhanced debugging messages, with output messages in the debug console optionally displaying the originating source location. Clicking on this origin opens the source file. Version 1.17 now automatically shows module and path suggestions for JavaScript and TypeScript.

Visual Studio Code now has a source control providers section that provides an overview of multiple active repositories, which can be fed by multiple SCM providers. Git repositories, for example, could be maintained side-by-side with Microsoft Team Foundation Server workspaces. Users can leverage Ctrl+click or Shift-click capabilities to select multiple repositories, which appear as split views.

For Mac users, Visual Studio Code 1.17 adds support for showing actions in the MacOS Touch Bar. Actions have been added to navigate in editor history and to control the debugger. Also, extensions can be used to add commands to the Touch Bar via the touchBar menu identifier. Native window tabs support has been added for MacOS Sierra as well.

Finally, Visual Studio Code now offers new online documentation for Java developers. Java debugging recently was added to Visual Code via an extension.

Copyright © 2019 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
InfoWorld Technology of the Year Awards 2023. Now open for entries!