Visual Studio Code ( VS Code )

Free. Open source. Runs everywhere.

Further Key Features from earlier VS Code releases.

  • VS Code Server preview - Run the same server used for Remote Development. VS Code Server blog post.
  • Configure Display Language - See installed and available Language Packs in their language.
  • Problems panel table view - View errors and warnings as a table to quickly filter on their source.
  • Deprecated extensions - Learn whether an extension is deprecated or should be replaced.
  • Extension sponsorship - Support the developers who build your favorite extensions.
  • Hide Explorer files using .gitignore - Reuse your existing .gitignore to hide files in the Explorer.
  • Terminal color and contrast enhancements - Find match background color, min contrast ratio.
  • Git branch protection - Branch protection available right inside VS Code.
  • TypeScript Go to Source Definition - Jump directly to a symbol's JavaScript implementation.
  • VS Code for the Web localization - vscode.dev now matches your chosen browser language.
  • Development Container specification - Learn more about the evolving dev container spec.
  • Preview: Markdown link validation - Detects broken links to headers, images, and files.
  • Explorer file nesting - Nest generated files under source files in the Explorer.
  • Settings editor filters - Filter button brings up searches such as @Modified settings
  • Bracket pair colorization - Colored bracket pairs are now enabled by default.
  • Toggle inlay hints - Ctrl+Alt to quickly hide or show inlay hints in the editor.
  • Drag and drop to create Markdown links - Drop files into the editor to create Markdown links.
  • Find All References in Markdown - Quickly find all references to headers, files, URLs.
  • Java extension updates - Now supporting inlay hints and lazy variable resolution.
  • UX Guidelines for extension authors - Guidance for VS Code extension UI best practices.
  • New Rust language topic - Learn how to use the Rust programming language in VS Code.
  • Local history - Keep track of local file changes independent of source control.
  • Settings editor language filter - Displays available language-specific settings.
  • Terminal find improvements - Matches are highlighted in the terminal panel and scroll bar.
  • Built-in CSS/LESS/SCSS formatters - Code formatting for CSS, LESS, and SCSS.
  • JavaScript heap profiles - Collect and view JS memory allocations while debugging.
  • VS Code for the Web - Drag and drop files and folders into vscode.dev.
  • Remote - SSH support for Mac - Connect via SSH to Apple Silicon/M1/ARM64 machines.
  • New R language topic - Learn how to use R for data science in VS Code.
  • New editor history navigation - Scope Go Back/Go Forward history to editor group or single editor.
  • Light High Contrast theme - Light theme for enhanced VS Code editor visibility.
  • New audio cues - Audio cues for warnings, inline suggestions, and breakpoint hits.
  • Drag and drop Problems and Search results - Drag results to new or existing editor groups.
  • Source Control diff editor management - Automatically close diff editors after Git operations.
  • Debugger lazy variable evaluation - Lazy evaluation of JavaScript/TypeScript property getters.
  • Preview: Terminal shell integration - Rerun terminal commands, command status decorations.
  • VS Code for the Web - Reopen recent local files and folders, improved Git integration.
  • New Side Panel - Display more views at once with the new Side Panel.
  • Settings editor search - Search now prioritizes whole word matches.
  • Audio cues - Hear when the cursor moves to folded regions, errors, and breakpoints.
  • Unicode highlighting - Avoid highlighting characters in supported languages.
  • Automatic terminal replies - Create automatic responses to common terminal prompts.
  • Notebook UI improvements - Search text in Markdown and output cells.
  • Debug binary data view - View and edit binary data while debugging.
  • Markdown path suggestions - Quickly insert relative file paths and header links.
  • JS/TS surround with snippets - Insert selected code inside snippets.
  • VS Code for the Web - Support for signed GitHub commits in vscode.dev and github.dev.
  • VS Code for the Web has adopted the PWA model and can now be installed as a PWA on the host OS.
  • Marketplace theme preview - Try out Color Themes without installing them.
  • Configure Problems navigation order - Go to next error or warning by severity or file position.
  • Show commands in screencast mode - Display command names along with keyboard shortcuts.
  • Notebook improvements - Adjust Markdown font size, better file and URL linking support.
  • Invisible Unicode highlighting - Highlights invisible or confusable Unicode characters.
  • TypeScript method completions - Quickly fill in interface and override methods.
  • Pre-release extensions - Try out extension new features and fixes early.
  • New Java welcome experience - To help you configure and learn about Java in VS Code.
  • More extensions for vscode.dev - Check out recent additions for VS Code for the Web.
  • Work in a container on an SSH server - New Remote - SSH Reopen in Container command.
  • VS Code for the Web: vscode.dev (Prview)
  • Verified extension publishers
  • Improved bracket pair guides
  • Configure how HTML completes attributes
  • Easier Jupyter kernel selection
  • ESLint version 8 support
  • Housekeeping & fixes
  • Split editors within the same group - Quickly create side-by-side editors for the same file.
  • Locked editor groups - Select editor types to automatically lock in an editor group.
  • Better display of deleted and readonly files - Tab decorations highlight deleted and readonly files.
  • Bracket pair guides - Display vertical guides to link matching bracket pairs.
  • Fixed terminal dimensions - Set an active terminal's width and height.
  • Jupyter Notebook improvements - Table of Contents view, full debugging support.
  • Platform-specific extensions - Publish different extension versions for Windows, macOS, and Linux.
  • Virtual Workspaces extension guide - Learn how to update your extension for virtual environments.
  • Advanced container configuration - Tips, code samples, and videos to help configure development containers.
  • Automatic language detection - Programming language detected when you paste into VS Code.
  • Built-in fast bracket colorization - Fast bracket matching and colorization for large files.
  • Settings editor syntax highlighting - Rich syntax highlighting for setting description code blocks.
  • Custom terminal glyph rendering - Better display of box drawing and block element characters.
  • Set debugging Watch values - Change watched values during a debugging session.
  • Notebook improvements - Markdown link navigation, faster rendering of large outputs.
  • JavaScript/TypeScript inlay hints - Inline hints for parameter names and types, and more.
  • Locked editor group preview - Keep a preferred editor layout by locking the editor group.
  • Python extension testing updates - Better support for test discovery, navigation, and status.
  • Web extension authors guide - Learn how to update your extension for VS Code in the browser. More about GitHub.dev
  • Extensions view improvements - Rich extension detail hovers, new runtime status tab.
  • Settings editor validation - Quickly find editing errors for object-based settings.
  • Drag and drop terminals - Move terminals across windows to both editor and panel areas.
  • Built-in support for Jupyter notebooks - Open .ipynb files directly in VS Code.
  • Notebook UI improvements - Display first line of collapsed cells, Undo/Redo per cell.
  • Testing API finalized - Native support for running tests in VS Code with built-in Test Explorer.
  • Live Preview extension - Live HTML preview within VS Code with JavaScript debugging support.
  • Remote - Containers devcontainer CLI - Command line interface for working with development containers.
  • Terminals in the editor - Create or move terminals into the editor area.
  • Workspace Trust - Quickly customize Workspace Trust settings, disable Restricted Mode banner.
  • Editor scroll bar customization - Set bar visibility and width, click navigation behavior.
  • Markdown preview KaTeX support - Math support in the Markdown preview.
  • Settings editor improvements - Support for multiple checkboxes and enumeration dropdowns.
  • Sticky debug environment choice - Debugger remembers your previous environment choice.
  • Jupyter Interactive window - Run Jupyter code directly in an interactive window.
  • Jupyter notebook debugging - Debug Jupyter notebook code from within VS Code.
  • 'Open in VS Code' badge - Lets visitors quickly open your GitHub repo in VS Code.
  • Workspace Trust - Extra security against code execution when browsing unfamiliar source code.
  • Remote Repositories - Browse and edit code without locally cloning repositories.
  • Terminal tabs - Tabs let you easily create, manage, and group multiple open terminals.
  • Edge browser debugging - Integrates the Microsoft Edge Developer Tools directly into VS Code.
  • JSDoc @link support - Add @link tags in your comments for fast symbol navigation.
  • Go to Definition for non-code files - Quickly jump to images and stylesheets.
  • Notebook API finalized - Notebook API for native notebook support in VS Code.
  • New Getting Started experience - Helps you quickly set up and learn about VS Code.
  • VS Code at Build 2021 blog post - Catch up with on-demand sessions featuring VS Code.
  • Improved hover feedback - Helps you quickly find clickable editor actions.
  • Terminal profile improvements - Create a custom default terminal profile.
  • Debugger inline values - Display variable values inline during debugging sessions.
  • Notebook KaTeX support - Math support in notebook Markdown cells.
  • Remote - Containers volumes view - Manage mounted volumes within Docker containers.
  • winget installation - VS Code is available via the Windows Package Manager.
  • Terminal tabs preview - Get a first look at managing open terminals with the new tabs view.
  • Improvements to breakpoints - Inline breakpoints menu, and more.
  • Editor status decorations - Editor tab status decorations are on by default.
  • Customize keyboard shortcuts editor - Resize columns in the keyboard shortcuts editor.
  • Improved remote ports management - Port forwarding autodetection, regex naming, and more.
  • Terminal profiles - Define profiles in terminal to conveniently launch non-default shells.
  • Notebook improvements - Multiple cell selection, and more customizable diff editor.
  • Apple Silicon builds - VS Code is now available in stable for Apple Silicon.
  • Accessibility improvements - Better word navigation on Windows and roles for views and buttons.
  • Persistent terminal processes - Local terminal processes are restored on window reload.
  • Product Icon Themes - Personalize your VS Code icon imagery with Product Icon Themes.
  • Timeline view improvements - Compare changes across Git history timeline entries.
  • Auto reload Notebooks - Notebooks automatically reload when their file changes on disk.
  • Remote ports table view - Remote ports now shown in a table widget.
  • Wrap tabs - Wrap editor tabs in the workbench instead of having a scrollbar.
  • Configure tab decorations - Add editor tab status decorations.
  • Customize search mode - Use the Search view or open a new Search editor.
  • JavaScript debugging - Support for conditional exception breakpoints and Node.js worker_threads.
  • Notebook UX updates - Outline view for Notebook cells, and breadcrumbs for improved navigation.
  • Markdown preview image auto update - Preview automatically updates when images change.
  • Emmet improvements - Faster performance and supporting the latest features.
  • General VS Code housekeeping and GitHub Codespaces month
  • Word wrap in diff editor - Both inline and side-by-side views now support word wrapping.
  • New extension bisect feature - Troubleshoot which extensions are causing issues in VS Code.
  • Keyboard shortcuts editor improvements - Create a keybinding from the Command Palette.
  • Undo file operations in Explorer - Undo or redo file operations in the Explorer.
  • New Git commands and settings - Optimize your Version Control experience with new capabilities.
  • Preview editor improvements - Turn off preview editors altogether, and try new interaction models.
  • Sticky tab stops for spaces - Improved experience when indenting with spaces.
  • Improved word-based suggestions - Display word-based suggestions from other open files.
  • Terminal configuration support - Modify terminal settings from the terminal dropdown menu.
  • Resizable IntelliSense suggestions
  • More responsive remote terminal experience with "local echo"
  • Persistent terminal sessions for remote development
  • More prominent pinned tabs
  • Install an extension without synchronizing
  • Status bar for suggestions
  • Custom snippets in Emmet are back
  • Source Control input box saves commit message history
  • Browser support - Download folders (Edge, Chrome) Leveraging the new File System Access API
  • Browser support - Prevent accidental close
  • Linux ARM builds - VS Code is now available for both Linux ARMv7 and ARM64.
  • Improved debugging experience - Improved hover and filtering in debug console.
  • New JS debugger features - Toggle auto attach flows and see performance in real-time.
  • Panel layout improvements - New panel maximization settings and bottom panel size.
  • Webview Views support - Build extensions with webview views in the sidebar and panel.
  • Source Control repositories view - Display pending changes per repository.
  • Filter Debug Console output - Quickly filter and find debugging output.
  • Improved JS debugger Auto Attach - "Smart" Auto Attach to Node.js scripts or test runners.
  • TypeScript optional chaining refactoring - Convert multiple checks to a concise optional chain.
  • JSDoc @deprecated tag support - IntelliSense clearly shows APIs marked as deprecated.
  • Notebook UX updates - Cell Status bar contributions, enhanced notebook diff editor.
  • Settings Sync to Stable - Settings Sync is now available for preview in stable.
  • Updated Extensions view menu - Simplified menu with additional filtering options.
  • New Git View submenus - Refactored overflow menu for Git in the Source Control view.
  • Updated in-browser debugging - Debug in the browser without writing a launch configuration.
  • Publish a public repository - Choose whether to publish to a public or private GitHub repository.
  • Notebook UX updates - New Cell menu, enhanced drag and drop.
  • New JavaScript debugger - Debug in the terminal, profiling support.
  • Source Control unified view - All repositories displayed in a single view.
  • View and sort pending changes - View files as a tree or list, sort by name, path, or status.
  • Notebook UI updates - Improved UX and undo/redo support.
  • Add GitHub remotes - Add GitHub remotes to your local repository.
  • Automatic debugger configuration - Save and modify generated debug configurations.
  • JavaScript CommonJS auto imports - Auto imports will now use require for CommonJS modules.
  • JS/TS refactorings preserve newlines - Formatting is preserved during refactoring operations.
  • Settings Sync preview - New Synced Machines and Data views to manage your preferences.
  • GitHub Issue Notebooks - Run GitHub issue queries and display results in a custom Notebook.
  • Switch editor tabs via mouse wheel - Quickly switch files in the editor using your mouse wheel.
  • Faster syntax highlighting - Programming language colorization is up to 3 times faster.
  • GitHub authentication support - Automatic GitHub authentication for GitHub repositories.
  • GitHub Issues integration - Inline hovers and suggestions for GitHub issues and users.
  • Remote Development - Container configuration recommendations, WSL 2 support.
  • JavaScript debugger preview - CPU profiling, improved Auto Attach to Node.js processes.
  • Accessibility improvements - Easier diff view navigation, clearer role designations for UI controls
  • Timeline view - See time-series events like Git commit history from within VS Code.
  • Persisted Undo/Redo stack - Undo/Redo stack preserved for reopened files
  • Remote Development - Directly check out Pull Requests into containers, support for Kubernetes.
  • Settings Sync preview - Settings Sync now lets you share snippets and UI state across machines.
  • Column selection mode - Column mode toggle lets you quickly select blocks of text.
  • Display whitespace on selection - Render whitespace characters only in selected text.
  • Convert to template string - Convert concatenations to JavaScript/TypeScript template strings.
  • JS/TS Call Hierarchy view - Review all calls to or from a function and drill into callers of callers.
  • Remote Development - Support for Windows and macOS SSH hosts, SSH connection sharing.
  • Settings Sync preview - Settings Sync lets you share settings and keybindings across machines.
  • Rename preview - See pending renames in a diff view and easily accept or reject changes.
  • Debug Console improvements - Syntax highlighting, bracket matching, input history.
  • Define global tasks - Per user tasks can be used across all your folders and workspaces.
  • Remote Development - New Forwarded Ports view for mapping SSH and Containers ports.
  • New Containers tutorials - Learn how to create and deploy Docker containers.
  • Compact folders in Explorer - Single child folders collapsed by default.
  • Edit left side of diff views - You can now edit both files in a difference view.
  • Minimap highlights errors and content changes - Quickly locate problems and changes in your file.
  • HTML mirror cursor in tags - Automatic multi-cursor in matching HTML tags.
  • Optional chaining in JS/TS - Use the ?. operator to simplify working with nested structures.
  • Extract interface refactoring - Quickly extract an inline type to a TypeScript interface.
  • Remote - Containers extension - Better support for opening repositories in Docker containers.
  • This iteration was focused on triaging and fixing over 4500 GitHub issues - VS Code just keeps getting better.
  • Themable window border
  • Control the sizing behavior when splitting editors
  • Minimap scaling and improved font rendering
  • Diff editor improvements
  • Text selections displayed in minimap - See selection regions in the minimap overview.
  • Toggle region folding keyboard shortcut - Quickly expand and collapse regions with Toggle Fold.
  • Open terminal in custom working directory - Add keyboard shortcuts for specific folders.
  • HTML ARIA attribute reference links - Links to ARIA documentation directly from IntelliSense.
  • CSS property completions include semicolons - Semicolons added as you enter CSS properties.
  • CSS color variables preview - Color variable completions display color swatch.
  • Remote Explorer updates - Explorer now displays WSL distros and repository containers.
  • Preserve case for global search and replace - Keep letter casing across multi-file search/replace.
  • Copy and revert in the diff editor - Easily copy or restore deleted content.
  • MDN Reference link for HTML and CSS - Links to MDN documentation directly from IntelliSense.
  • Add missing await Quick Fix - Find overlooked awaits in asynchronous code.
  • VS Code icon repository - Official product icons available for extension authors.
  • Alpine Linux distro support - Both for the Remote WSL and Containers extensions.
  • Full product icon refresh - New modern icons across all of VS Code.
  • Reveal search result in File Explorer - Quickly jump to file locations in the File Explorer.
  • Find and Replace preserves casing - Replace text without losing letter casing.
  • Terminal search UX improvements - More intuitive bottom-up search order for the terminal.
  • JavaScript/TypeScript nightly builds - New extension integrates JS/TS nightly builds
  • Remote Development (Preview) improvements - Save to local file system, drag and drop files to remotes, and more.
  • Better terminal shell selector - Easily select the default shell to use in the Integrated Terminal.
  • JavaScript/TypeScript nightly builds - New extension integrates JS/TS nightly builds
  • Updated Visual Studio Code icon - The product logo got a refresh.
  • Smart selection for JavaScript/TypeScript - Expand text selection based on language semantics.
  • Extract to type alias TypeScript refactoring - Extract part type into its own type alias.
  • Better merge conflict display - See merge conflict changes within surrounding source code.
  • Remote Development (Preview) available in Stable - You can now use the Remote Development extensions in Stable.
  • Launch URI with debug session - Automatically open a browser when debugging web server code.
  • Install missing extension dependencies - Detect and offer to install missing dependencies.
  • "Remote Debugging for Node.js" - Learn how to attach to Node.js apps running on Azure.
  • Preferred Code Actions - Preferred (mostly likely) Code Actions support auto fixing common issues.
  • Debug Console customization - Modify font size, font family, and line height of the Debug Console.
  • Better IntelliSense for ARIA attributes - More detailed descriptions for HTML accessibility attributes.
  • Vue.js interpolations IntelliSense - The Vetur extension now supports smart completions in Vue.js interpolations.
  • New "Bundling Extensions" topic - Use webpack to improve your extension's load time.
  • No reload on extension install - No interruptions when you install new extensions.
  • Workbench - Zen Mode hides line numbers, new Screencast mode shows keystrokes.
  • JS/TS callback display - Now you can see the context of anonymous callbacks.
  • JSDoc Markdown highlighting - Including syntax highlighting for Markdown code blocks in JSDoc.
  • Simplified debug configuration - Better defaults and Quick Pick UI for initial launch configuration.
  • Run tasks on folder open - Configure tasks to run when you first open a project folder.
  • Multiline search - Search across files with regex multiline expressions.
  • File icons in IntelliSense - Quickly distinguish file types in IntelliSense.
  • Improved Loaded Scripts view - Displays related resources such as original source files.
  • Project level snippets - Tune your snippet collection per workspace.
  • Jump to last edit - New command to go to the location of your last edit.
  • Settings editor - New Settings editor UI to discover, search, and modify VS Code settings.
  • Breadcrumbs improvements - Symbols highlighted when navigating with breadcrumbs.
  • New Terminal menu - Combined menu for creating terminals and managing tasks.
  • JSON conditional evaluation - Support for 'if', 'then', and 'else' schema keywords.
  • Built-in Loaded Scripts view - Loaded Scripts Explorer now available for debug extensions.
  • Better JS/TS error reporting - Concise, clear messages with relevant source code links.
  • Terminal column selection - Alt+click to select blocks of text in the integrated terminal.
  • Breadcrumbs - Breadcrumb navigation lets you jump to symbols and files in your workspace.
  • Grid editor layout - Custom horizontal and vertical editor layout.
  • Portable Mode - Run or copy your VS Code setup from a USB thumb drop or file share.
  • Unused variable detection - Unused variables are greyed-out in your JavaScript/TypeScript files.
  • Move to new file refactoring - Easily pull classes and functions into their own files.
  • Update imports on move/rename - Automatically update import paths in JavaScript/TypeScript.
  • Run Code Actions on save - Run actions like Organize Imports when you save.
  • NPM script explorer - Quickly find, run, and debug NPM scripts in your project.
  • Cross file error, warning and reference navigation - Move quickly around your workspace.
  • Convert to ES6 refactoring - New Code Actions to convert to ES6 classes and modules.
  • Preview: Organize JS/TS imports - Remove unused and sort remaining imports.
  • Auto attach to process - Automatically attach the debugger to running Node.js processes.
  • Logpoints - Inject logging without changing source code or restarting your debug session.
  • Integrated Terminal splitting - Work with multiple open terminals at once.
  • New Notifications UI - Easily manage and review VS Code notifications.
  • Markdown preview scrolling - Markdown preview now supports bidirectional scrolling.
  • Visual Studio Code logos - The Stable version is now blue again and green for the Insiders version on windows. You can read all about our icon journey in this blog post.
  • Multi-root workspaces released to Stable - Group a logical set of folders into a single workspace.
  • Vertical panels - Dock panels (Terminal, Output, or Debug Console) to the right of your editor.
  • Git indicators in the Explorer - See pending file changes in the File Explorer.
  • Inline pending change review - View pending changes and perform partial commits in the editor.
  • Several performance improvements - Faster Windows start-up and editor performance tuning.
  • Auto imports for JS/TS - Relevant imports are added as you call local symbols.
  • Extract local variable for JS/TS - Refactor a new local variable based on your selection.
  • Install @types for TypeScript - A new Quick Fix adds missing @types files to your project.
  • Source code folding improvements - Collapse region markers and off-side language blocks.
  • Integrated Terminal performance - Terminal rendering is up to 45 times faster.
  • Automatic import suggestions - See module and path import suggestions while coding.
  • 64-bit builds are now available on Windows for the Stable release
  • Now with Emmet 2.0 support - VS Code's Emmet Documentation
  • JavaScript & TypeScript refactorings for Extract method and Extract function.
  • Which includes Type checking for JavaScript files
  • The easiest way to enable type checking in a JavaScript file is by adding // @ts-check to the top of a file. See the Release notes for more on @ts-check.
  • Implementer CodeLens for TypeScript - See who implements an interface or abstract class in a CodeLens window.
  • Keyboard shortcuts editor - New keyboard shortcut editor to easily rebind commands to your preferred shortcuts.
  • Minimap - Minimap gives you a high level overview of your source code.
  • Welcome page - Whether you are a new or returning user, the Welcome page helps get you started quickly.
  • Interactive Playground - Try out VS Code's advanced editing features without creating files or a project.
  • Synchronized Markdown Preview - Coupled view of a Markdown preview and its editor.
  • Format on Paste - Format source code as soon as you bring it into your project.
  • Single file debugging - Debug without a configuration file to enable quick debugging of single files.
  • Inline variables display - See variable values inline while debugging.
  • Expanded Node.js debugging configurations - Easily debug Mocha tests, gulp tasks and even Yeoman generators.
  • Improved task running support - Run multiple commands from the same task.
  • Faster Integrated Terminal - We improved the integrated terminal's performance and Windows support.