Microsoft’s Visual Studio Code has become one of the most popular developer tools around. Built using GitHub’s cross-platform Electron framework, Visual Studio Code is a full-featured, extensible, open source code editor that supports a wide selection of programming languages and frameworks, from the familiar C, C++, and C# to modern languages like Go, Rust, and Node.js. And Visual Studio Code is avalable for Windows, MacOS, and Linux.
Where to download Visual Studio Code
To download the editor for Windows, MacOS, and Linux, go to Microsoft’s Visual Code Studio website.
What’s new in Visual Studio Code 1.50
Published on October 8, 2020, Visual Studio Code 1.50 features the following:
- Pinned tab improvements include a new setting,
editor.pinnedTabSizing, which allows developers to configure how large a pinned tab should appear. Further, editors now can be pinned when tabs are disabled, and a new
tab.lastPinnedBordercolor can be assigned to draw a border to the right of the past pinned tab.
- New editor context keys have been introduced, with some existing ones deprecated:
groupActiveEditorDirtywas renamed to
editorPinnedwas renamed to
editorStickywas renamed to
- Two resource (explorer-related) context keys have been added for resources:
resourceDirname, for the folder path of the resource, equivalent to
resourcePath, for the full path of the resource, equivalent to
- A more accessible settings editor.
- The language hover is now available while debugging and the debug hover width and height now automatically adapt to the size of the hover contents. Also, the Debug Console now supports filtering, making it easier to find output or hide irrelevant logging output.
- A new setting,
opensMaximized, lets users adjust to their own preference whether or not the panel always opens maximized when toggled with
- The Microsoft C/C++ extension now is out of preview.
- Visual Studio Code now is available for both ARMv7 and ARM64 architectures. Developers now can use Visual Studio Code on Raspberry Pi, Chromebook, and other ARM-based devices.
What’s new in Visual Studio Code 1.49
Published September 10, Visual Studio Code 1.49 has the following main features:
- A new command, Format Modified Lines, has been added to format only new and changed lines. Also, a new setting,
formatOnSaveMode, makes Format and Save apply only to modified lines. These changes were made to address a situation in which the Format and Save and Format Document commands could introduce unwanted reformatting of lines that have not changed, which could result in large pull requests that are hard to review and impact code that was not supposed to be modified.
- The Source Control Repositories view, formerly known as the Source Control Providers view, was reintroduced to allow finer-grained control over which source control repositories should be visible in the Source Control view.
--inspectflag to them. For sourcemap handling, VS Code now processes a stack trace to use source locations. This helps when debugging web apps that use bundlers like Webpack. In another improvement, developers can choose to stop when a conditional breakpoint throws an error by toggling the
- The Debug Console now supports filtering to make it easier to find output or hide irrelevant logging output. Exclude patterns are supported as well. The filter applies to program output but not to user-run evaluations.
- The editor ships with TypeScript 4.0.2, featuring optional chain refactoring that converts multiple checks to a concise optional chain.
In addition to unveiling Visual Studio Code 1.49, Microsoft on September 14 announced general availability of the 1.0 version of the C++ extension for Visual Studio Code, offering capabilities for editing and IntelliSense code completion, debugging across Linux, Windows, and MacOS, and support for Linux on Arm and Arm64. Access the C/C++ Extension Pack to try out the extension.
What’s new in Visual Studio Code 1.48
Visual Studio Code 1.48, released in August 2020 and featuring features and fixes from July, has the following enhancements:
- Settings Sync, for sharing configurations such as settings, keybindings, and installed extensions across machines, is now available for preview in the stable release.
- Extensions view filter actions now are displayed under a separate filter action (funnel button).
- The Git View and More Actions (…) menu has been refactored to improve organization of several commands. Also, when publishing to a GitHub repo, developers now have the option to make the repo public, as opposed to the previous default of private.
- A Debug: Open Link command is intended to enable quick debugging of any URL.
- A GitHub Issue Notebooks extension, still in a preview stage, allows for searching of GitHub issues and pull requests.
- The Language Support for Java extension now supports a lightweight mode for quickly working with Java source files.
What’s new in Visual Studio Code 1.47
Published in July 2020, Visual Studio Code 1.47 brings the following new capabilities and changes:
- Visual Studio Code for Windows on ARM is now available for the stable release.
- Non-nested object settings can be edited from the settings editor. Extension authors can use this capability to increase the visibility of these settings.
- A new command,
selectAndPreserveFocus, lets developers select an item from a list while keeping focus in that list. This is useful for selecting multiple files from a list, such as the File Explorer, without having focus switch to the file editor.
searchEditor.defaultNumberOfContextLinessetting has been updated to have a value of 1 instead of 0, meaning one context line will be shown before and after each result line in the Search Editor.
- The Source Control view now shows all repositories in a single view, providing a better overview of the entire workspace status. Also, the Source Control view can be moved to the panel and other views can be moved to the Source Control view container.
- The Visual Studio Code for Java Pack Installer downloads dependencies and extensions for Java development on MacOS.
- The HexEditor extension, for native hexadecimal editing, has been improved with simple editing support (undo, redo, edit cells, add cells) and large file optimization, which now allows you to open files greater than 18 megabytes.
- View options and sort options have been consolidated into a new View and Sort menu item in the context menu. Also, support has been added for sorting changes in the source control view by name, path, and state when using the list view option.
- For accessibility, compact folders in the File Explorer now properly narrate expanded/collapsed state and the ARIA level. Also, screen readers can update the cursor offset in the editor. As a result, the screen reader “Say All” command should work better when stopped and resumed.
- An extension VSIX file now can be installed by dragging and dropping it onto the Extensions view.
- TypeScript 3.9.6 is bundled with the editor while support for TypeScript 4.0 has been improved, with capabilities such as better auto imports.
What’s new in Visual Studio Code 1.46
Released in June 2020, Visual Studio Code 1.46 has capabilities including:
- A GitHub repository now can be added as a remote to local repositories using the Git: Add Remote command.
- Automatic debug configurations have been improved. There is now an option to save a configuration into a JSON file to open it up for editing. It is also now possible to show all automatic debug configurations from the Run and Debug start view.
- To improve accessibility, the Status Bar now supports keyboard navigation. There also are new commands to make it easier to start and end selections using the keyboard: Set Selection Anchor (⌘K ⌘B), Select from Anchor to Cursor (⌘K ⌘K), Cancel Selection Anchor (Escape), and Go to Selection Anchor.
- A Synced Machines view has been added to display the list of machines synchronizing VS Code preferences.
- The Synced Data view has been enhanced, with developers now able to see the machine from which data was being synced. Developers also can restore to a specific state using the Restore action available on the data entry in the view. Also, data on the cloud can be reset using the Reset Synced Data action available under the More Action (…) button in the view header.
- Tabs now can be pinned from either the context menu or via the new command,
- Official builds for Windows for ARM 64-bit are available on the Insiders download page. These builds work with Microsoft Surface Pro X.
preloadscripts have been added for exposing certain Electron APIs to the window. This is a step toward a fully sandboxed window.
- Features for flexible layout are now ready for general use, such as moving views between Sidebar and Panel and grouping of views.
What’s new in Visual Studio Code 1.45
Published in May 2020, Visual Studio Code 1.45 adds the following capabilities:
- Faster syntax highlighting, done through a dedicated WebAssembly binding optimized for usage by the editor’s TextMate interpreter. By avoiding memory allocations in inner loops and using new APIs, Microsoft has been able to increase the speed of syntax highlighting for regular programming files by as much as three times.
- Support has been added for automatic authentication against GitHub repositories. Developers can clone, pull, and push to and from public and private repos without configuring a credential manager.
- New accessibility commands Focus Next Part and Focus Previous Part make it easy to navigate across a workbench. The status bar now can be read by screen readers when focused.
- Improvements have been made to the Remote Development extensions (which let developers use a container, a remote machine, or Windows Subsystem for Linux as a full-featured development environment) including container configuration recommendations, WSL2 Docker and Podman engines support, and new devcontainer.json variables for local and container folders.
What’s new in Visual Studio Code 1.44
Also known as the March 2020 release (although it was published in April 2020), Visual Studio Code 1.44 features the following improvements:
- Usability improvements including a more navigable diff view and clearer role designations set for UI controls. Also, the behavior of the Quick Widget has been tuned.
- The Timeline view for visualizing time series events such as Git commits and file saves is now out of preview mode, by default. The Quick Open control for files has been rewritten. It also has new features such as having inputs preserved when switching providers. There is also a new setting,
"quickOpen.history.filterSortOrder": "recency", that allows you to sort editor history by the most recently opened items.
- A number badge has been added to the Extensions view to show the number of extensions in the pack.
- Visual Studio Code now will keep the Undo/Redo stack of a file when the file is closed. When the file is reopened and contents have not changed, the Undo/Redo stack will be restored.
- Work continues on the Remote Development extensions that enable the use of a container, remote machine, or Windows Subsytem for Linux (WSL) as a full-featured development environment. Among the milestones in Visual Studio Code 1.44: A pull request can be checked out directly into a container.
- A Settings Sync preview lets developers share snippets and UI state across machines.
- Two new tutorials are featured for Python, including one on building a Python application in a Docker container and one on using Python data science libraries to create a machine learning model.
- The 1.0 version of Microsoft’s Docker extension for Visual Studio Code is now available.