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.

Both Monaco Editor & Visual Studio Code are Open Source available on GitHub.

Visual Studio Code Placement

The Integrated terminal is a great feature, really helpful.

Visual Studio Code 1.49 - Release.

Yet again another excellent release by the VS Code team, packed with new features, now including:

Visual Studio Code logo
  • 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.

New documentation

  • 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.

VS Code now ships with TypeScript 4.0.2

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.

Find out more at Visual Studio Code Update or Download.

Remote Development

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 extension
You can learn more at Developing with Visual Studio Codespaces and get started creating and customizing a development environment with the Visual Studio Codespaces Quickstarts.
GitHub Codespaces

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:

  • 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.

VS Code also has some great documentation, some of the interesting topics covered are: and Deploying Applications to Azure