Visual Studio Code ( VS Code )
Free. Open source. Runs everywhere.
Code focused development. Redefined.
Code, Build & Debug modern Web & Cloud applications.
Code combines the simplicity of a code editor with what developers need for the core code-build-debug cycle.
Code is Free and available on your favorite platform
Linux Mac OSX Windows
Very quick to install and packed full of features to allow you to work on your code anywhere and still just in preview release.
The core editor is Monaco Editor packaged in the electron atom shell, formerly known as Atom Shell and made by GitHub.
The Monaco Editor is also widely used across Microsoft products like Visual Studio Team Services, TypeScript Playground, OneDrive, App Service Editor, IE11 F12 tools, plus many more places.
Microsoft evolution of VS Code began more than 4 years ago, todays product is one of the largest TypeScript code bases at more than 350k lines of TypeScript.
The Integrated terminal is a great feature, really helpful.
Visual Studio Code 1.58 - Release.
Yet again another excellent release by the VS Code team, packed with new features, now including:
- 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.
VS Code now ships with TypeScript 4.3.5
Getting started with VS Code focusing on ways to make getting started with the editor easier.
A new "Learn to Code" landing page on the website with coding packs and new content geared towards folks who are new to coding.
Also a new student-friendly videos and resources on the site at code.visualstudio.com/learn
Remote Repositories Blog Post
New Remote Development resources - Check out the new video and Learn module.
- Remote Development tutorials - Learn to develop over SSH, inside Containers, and in WSL.
- Docker Compose - Microsoft Docker extension can help you add Docker Compose files to your projects to work easily with multiple Docker containers
- GitHub - With the expanded GitHub integration, there is a new Working with GitHub topic that shows how you can use GitHub from within VS Code.
- New Remote Container topics - Learn how to attach to a container and create a new dev container.
- Updated "Create a Dev Container" tutorial - Get started with Development Containers. - Learn how to attach to a container and create a new dev container.
- Create a development container using Visual Studio Code Remote Development
- VS Code on Raspberry Pi - New topic explaining how to install VS Code on Raspberry Pi devices.
- Data Science tutorials - Learn about Jupyter Notebooks, PyTorch, and more.
You can also try the next TypeScript features today by installing the TypeScript Nightly extension.
Plus so much more, make sure you read the Release Notes, loads of great information within them.
A preview release of the Remote Development extensions has been released.
A new set of extensions that enable you to open any folder in a container, on a remote machine, or in the Windows Subsystem for Linux (WSL) and take advantage of VS Code's full feature set.
These extensions let you work with VS Code over SSH on a remote machine or VM, in Windows Subsystem for Linux (WSL), or inside a Docker container. You can read the Remote Development with Visual Studio Code blog post to learn more.
Visual Studio Codespaces - Create and connect to cloud-based development environments formerly Visual Studio Online.
The Visual Studio Codespaces preview, announced at Ignite 2019, allows you to create development environments in the cloud and connect to them with Visual Studio Code, a browser-based editor, or Visual Studio IDE.
Visual Studio Codespaces extensionYou can learn more at Developing with Visual Studio Codespaces and get started creating and customizing a development environment with the Visual Studio Codespaces Quickstarts.
Codespaces are also available on GitHub. Take a read of the Codespaces feature page for more information on getting started with a full Visual Studio Code experience without leaving GitHub.
We have started to put together information and links on our Codespaces page.
Some of the key features from earlier releases are:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Updated Visual Studio Code icon - The product logo got a refresh.
- 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.
- Move to new file refactoring - Easily pull classes and functions into their own files.
- 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
- 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.