Visual Studio Code ( VS Code )

Free. Open source. Runs everywhere.

Code focused development. Redefined.

Code, Build & Debug modern Web & Cloud applications.

VS 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

Visual Studio Code on Windows
Windows
Visual Studio Code on Linux
Linux
Visual Studio Code for the web
Browser
Visual Studio Code on Mac
Mac
Visual Studio Code on raspberrypi
Raspberry Pi

It just opens in your browser or is very quick to install locally and packed full of features to allow you to work on your code anywhere. You can also use Extensions to add extra features.

VSCode for the Web is available at vscode.dev, github.dev or GitHub Codespaces.

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

The Integrated terminal is a great feature, really helpful.

Visual Studio Code 1.88 - Release

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

Visual Studio Code logo
  • Apply custom editor labels - Distinguish between editors with same file names.
  • Locked scrolling - Compare editors side-by-side with synchronized scrolling.
  • Extension update improvements - Restart extensions without reload & update extensions with VS Code releases.
  • Test Coverage API - Native code coverage support in VS Code.
  • Folding markers in minimap - Easily identify and navigate to code sections from minimap.
  • Quick Search improvements - Sticky file path separators and separator buttons.
  • Notebook Run cells in section - Quickly run all cells in a notebook section.
  • Copilot improvements - Improved inline chat UI, commit messages, and used references.
  • Python auto-detect improvements - Detect startup files for Flask & Django, discover Hatch environments.
  • Preview: Terminal inline chat - Start a Copilot inline chat conversation directly from the terminal.

VS Code now ships with TypeScript 5.4.3

You can also try the next TypeScript features today by installing the TypeScript Nightly extension.

Plus so much more, be sure to read the Release Notes, as there is always loads of great information within.

Documentation

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 new student-friendly videos and resources on the site at code.visualstudio.com/learn

TypeScript Editing and Refactoring in VS Code.

Remote Repositories Blog Post

New Remote Development resources - Check out the new video and Learn module.

New Beginner's Series to: Dev Containers, a set of eight videos that show you how to get, create, and configure a container-based development environment using VS Code Remote - Containers

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:

  • Voice dictation in editor - Use your voice to dictate directly in the editor.
  • Multi-cursor inline suggestions - Review and accept inline suggestions for multiple cursors.
  • Copilot-powered rename suggestions - Get rename suggestions for symbols from Copilot.
  • Side-by-side preview refactoring - Preview refactorings across files with multi diff editor.
  • Smarter Python imports - Improvements for adding missing Python imports.
  • Sticky scroll in editor - Sticky scroll is enabled by default in the editor.
  • Multi-language support for speech - Multiple languages supported for speech recognition.
  • Copilot suggestions for dev containers - Get template and feature suggestions for dev container configurations.
  • Per-window zoom levels - Adjust the zoom level for each window independently.
  • Hey Code voice command - Start a chat session with a voice command.
  • Multi-file diff editor - Quickly review diffs across multiple files in the diff editor.
  • Triggered breakpoints - Efficient debugging with breakpoint dependencies.
  • Expanded Sticky Scroll support - Sticky Scroll in tree views and notebooks.
  • Markdown paste options - Rich paste support for links, video, and audio elements.
  • Flexible Auto Save options - Skip Auto Save on errors or save only for specific file types.
  • Source Control input - Customize commit input and per-language editor settings.
  • Extension notifications - Fine-grained control for disabling notifications per extension.
  • GitHub Copilot updates - Improved default context, add file as context, AI fixes.
  • Floating editor windows - Drag and drop editors onto your desktop.
  • Accessible View workflow - Smoother transitions to and from the Accessible View.
  • Finer extension update control - Choose which extensions to auto update.
  • Source Control incoming and outgoing view - Easily review pending repository changes.
  • JavaScript heap snapshots - Visualize heap snapshots including memory object graphs.
  • TypeScript Go to Definition from inlay hints - Jump to definition from inlay hint hovers.
  • Python type hierarchy display - Quickly review and navigate complex type relationships.
  • GitHub Copilot updates - Inline chat improvements, Rust code explanation.
  • Preview: expanded Sticky Scroll support - Sticky Scroll in tree views and the terminal.
  • More audio cues - New audio cues to indicate clear, save, and format activity.
  • Activity bar position - Move Activity bar to the top for compact display.
  • Hide editor tabs - Show multiple, single, or no editor tabs.
  • Maximize Editor Groups - Quickly expand the active Editor Group.
  • Python improvements - Better run code in terminal, easier virtual environment creation.
  • FastAPI tutorial - Learn about developing Python FastAPI apps with VS Code.
  • Gradle for Java - Improved support for Java Gradle projects.
  • Preview: GitHub Copilot - Chat "agents", generate commit messages, terminal support.
  • Accessibility improvements - Screen reader support for the pull request comments.
  • Better Command Palette search - New "similar commands" list to help command discovery.
  • Add custom icons to profiles - Display an icon to easily identify the active profile.
  • Compact editor tab height - Shrinks editor tab height for larger editor region.
  • Dedicated pinned editor row - New editor tab row supports pin/unpin via drag and drop.
  • Go to Symbol in notebooks - Quickly navigate to code symbols in your notebook.
  • Python debugger updates - Configure whether to step into system/library or just your code.
  • Preview: GitHub Copilot - Test generation based on current framework and project conventions.
  • Accessibility improvements - Accessible View support for inline completions, updated keybindings.
  • Built-in port forwarding - Forward local server ports from within VS Code.
  • Sticky Scroll updates - Scrolls horizontally with editor, display last line in scope, folding UI.
  • New diff editor features - Detect moved code, dynamically switch inline and side-by-side view.
  • Command Center displayed by default - Quickly open files or run commands from the title bar.
  • Copy Notebook output - Easily copy cell output as well as generated images.
  • WebAssembly debugging - Decompile WASM code to step through and set breakpoints.
  • New TypeScript refactorings - Move to File and Inline Variables refactorings.
  • New Python Formatting topic - Learn how to integrate formatters such as autopep8 and Black.
  • Preview: GitHub Copilot - CreateWorkspace command previews file structure of proposed code.
  • Accessibility improvements - Accessible View support for notifications, chat responses, and hovers.
  • VS Code Profiles - Finer control with partial profiles and "Apply to all profiles" options.
  • New diff editor features - Collapse unchanged regions, better diff region text alignment.
  • Git repositories with symlinks - Support for repository paths with symbolic links.
  • Notebook updates - Search text in closed notebooks, "sticky scroll" displays Markdown headers.
  • Python test discovery - Error tolerant pytest discovery continues across all files.
  • Access Jupyter servers in GitHub Codespaces - Connect to a remote Jupyter server in a codespace.
  • GitHub pull request creation - Better base branch detection, remember previous create PR options.
  • Preview: GitHub Copilot UX - Quick Chat improvements, iterative /fix command.
  • Accessibility improvements - Accessible View for better screen reader support, Copilot audio cues.
  • Better editor group and tab resizing - Set min tab size, avoid unnecessary editor group resizing.
  • Skip subwords when expanding selection - Control whether to use camel case for selection.
  • Terminal image support - Display images directly in the integrated terminal.
  • Python extensions for mypy and debugpy - For Python type checking and debugging in VS Code.
  • Remote connections to WSL - Connect to WSL instances on remote machines using Tunnels.
  • Preview: GitHub Copilot create workspace/notebook - Quickly scaffold projects and notebooks.
  • New C# in VS Code documentation - Learn about C# development with the C# Dev Kit extension. C# topics.
  • Read-only mode - Mark specific files and folders in your workspace as read-only.
  • 'Paste as' options - Choose how you'd like item links pasted into the editor.
  • Automatic copy of external files - Drag or paste to Markdown adds new files to your workspace.
  • Default Git repo branch name - Use "main" as the default or override via a user setting.
  • Notebooks rich content search - Search based on Notebook output or filter on cell type.
  • Linked editing for JSX tags - Simultaneously change opening and closing JSX tags.
  • Preview: GitHub Copilot Chat improvements - Easily manage your chat session history. Inline chat "live preview."
  • Accessibility improvements - Better screen reader support, new audio cues.
  • New color themes - "Modern" light and dark color theme defaults.
  • Profile templates - Built-in templates for Python, Java, Data Science, and more.
  • Drag and drop selector - Choose how you'd like item links placed into the editor.
  • Standalone color picker - Color picker UI to insert or modify color formats.
  • Quick Fixes for Source Control input - Fix spelling and other errors right in the input box.
  • Markdown drag and drop videos - Easily add video tags in Markdown files.
  • Notebooks insert images as attachments - Choose between an image link, path, or attachment.
  • Git LFS and VS Code for the Web - Use vscode.dev for repos with Git Large File Storage.
  • Accessibility improvements - New keyboard shortcuts for hovers, notifications, and Sticky Scroll.
  • Copy GitHub deep links - Create permalinks and HEAD links from within the editor.
  • Notebook Format on Save - Automatically format notebooks cells on save.
  • TS/JS switch case completions - Quickly fill in TypeScript/JavaScript switch statements.
  • Python move symbol refactoring - Move Python symbols to an existing or new file.
  • Remote Tunnels update - Reuse existing tunnel and quickly transition from remote to desktop.
  • Ruby documentation - Learn about Ruby language support for VS Code.
  • Preview: expanded GitHub Copilot integration - New inline chat and full AI chat view.
  • Profiles - Active profile badge, quickly switch profiles via the Command Palette.
  • Accessibility improvements - New audio cues, improved terminal screen reader mode.
  • Moveable Explorer view - Place the Explorer in the secondary side bar or a panel.
  • Notebook kernel MRU list - Find and select recently used notebook kernels.
  • Markdown header link suggestions - Easily link to headers in files across your workspace.
  • Remote Development usability - New keyboard shortcut, streamlined remote options list.
  • New Git/GitHub topics - Articles for beginner and advanced Git source control users.
  • Improved Marketplace search - Better results for multi-word queries.
  • Jupyter IPyWidgets 8 support - Use the latest IPyWidgets version in your Jupyter notebooks.
  • Python pytest IntelliSense - Completions for pytest fixtures and parameterized arguments
  • Profiles - Create and share profiles to configure extensions, settings, shortcuts, and more.
  • VS Marketplace signing - Published extensions now code signed by default.
  • Accessibility improvements/ - Terminal screen reader mode, new keyboard shortcuts.
  • Easier multi-view resizing - Drag layout corners to resize multiple views at once.
  • Tree view search history - Quickly rerun previous searches in tree views.
  • Better Terminal link detection - Detect links containing spaces, brackets, line and column formats.
  • New Git commands - Stash staged changes and delete remote tags from within VS Code.
  • Dark+ and Light+ V2 themes - Try the experimental color themes and let us know what you think.
  • Jupyter Notebook topics - Using notebooks on the web, how to manage Jupyter kernels.
  • AI Tools in VS Code - Learn about AI-powered completions with GitHub Copilot.
  • Customize Explorer auto reveal - Decide which files scroll into view in the Explorer.
  • Hide Activity bar and Panel badges - Simplify the editor UI by toggling state badges.
  • Audio cues for notebooks and diff view - Sounds for cell run results, added or removed lines.
  • Merge editor Undo/Redo - Quickly revert or reapply merge conflict actions.
  • Manage unsafe repositories - Prevent Git operations on folders not owned by you.
  • JavaScript console.profile collection - Easily create CPU profiles for viewing in VS Code.
  • Go to Definition from return - Jump to the top of JavaScript/TypeScript functions.
  • Remote Tunnels - Remote Tunnels - Create a connection to any machine, without needing SSH. - Remote Tunnels Docs - Remote Development Even Better
  • Jupyter notebook "Just My Code" debugging- Avoid stepping into Python library code.
  • Dev Container GPU support - Request a GPU when creating a Dev Container.
  • Search include/exclude folders - Quickly set folders to include/exclude in the tree view.
  • Command Center mode shortcuts - Displays commonly used modes before recent files list.
  • Merge editor improvements - Access Combination option to auto merge conflicts.
  • Markdown automatic link updates - File and image links updated on rename/move.
  • More audio cues - Task completed or failed, Terminal Quick Fix available.
  • vscode.dev protected branch workflow - Create new branch when committing to protected branch.
  • New Python extensions - New standalone extensions for isort, Pylint, and Flake8.
  • Dev Container Templates - Create new Dev Containers based on existing templates.
  • Tool bar customization - Hide/show tool bar actions.
  • Better editor autoscrolling - Scrolling speed tuned to cursor location.
  • Extensions view updates - Highlights extensions with updates or needing attention.
  • Search results in a tree view - Review search results in either list or tree view.
  • Nested Git repo support - Detects and displays nested Git submodules.
  • Terminal Quick Fixes - Suggestions to correct command typos and set an upstream remote.
  • Pin frequently used tasks - Pin tasks to the top of the Run Task dropdown for quick access.
  • Markdown link validation - Automatically check header, file, and image links.
  • GitHub Enterprise Server authentication - Improved login workflow no longer requires PAT.
  • Dev Containers Features - Easily add and share functionality for development containers.
  • VS Code Community Discussions - Connect with other VS Code extension authors.
  • Merge editor improvements - Easier transition between text and merge editors.
  • Expanded codecs support - To help display embedded audio and video in notebooks and webviews.
  • File rename selection - Pressing F2 selects filename, whole name, or file extension.
  • New Code Action UI - Quickly find the Code Action you're looking for.
  • Terminal updates - Shell integration for fish and Git Bash, new smooth scrolling.
  • Jupyter notebook image pasting - Paste and preview image files in notebook Markdown cells.
  • TypeScript livestreams - Watch TS "Crash Course" or "Tips and Tricks" on YouTube.
  • Live Preview extension - Live Preview now supports multi-root web projects.
  • Markdown Language Server - Learn how Markdown support moved to a Language Server blog post.
  • Title bar customization - Hide/show menu bar, Command Center, or layout control.
  • Fold selection - Create your own folded regions in the editor.
  • Search multi-select - Select and then act on multiple search results.
  • Tree view search and filtering - Find and filter in tree views such as the Find Explorer.
  • Terminal improvements - Shell integration on by default, extended PowerShell keybindings.
  • Command line option --merge - Use the 3-way merge editor as your default merge tool.
  • Notebooks: Go to Most Recently Failed Cell - Jump directly to notebook errors.
  • Python Get started experience - Quickly install and configure Python within VS Code.
  • Sticky scroll preview - New scrolling UI shows current source code scope.
  • Dev container CLI topic - Learn about the updated development container CLI.
  • 3-way merge editor - Resolve merge conflicts within VS Code.
  • Command Center - New UI to search files, run commands, and navigate cursor history.
  • Do Not Disturb mode - Silence non-critical notification popups.
  • Toggle Light/Dark themes - Quickly switch between preferred light and dark themes.
  • Terminal shell integration - Display command status, run recent commands, and more.
  • Task output decorations - Highlights task success or failure exit codes.
  • Git Commit action button - Configure your default Git Commit action.
  • Debug Step Into Target support - Allows you to step directly into functions when paused.
  • JavaScript sourcemap toggling - Switch to debugging compiled rather than source code.
  • Color theme tester - Use vscode.dev to preview color themes.

You can find earlier released key features on our key feature archive page.

VS Code also has some great documentation, some of the interesting topics covered are: https://github.com/Microsoft/vscode-recipes and Deploying Applications to Azure

Visual Studio Code Placement