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
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.
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.
The Integrated terminal is a great feature, really helpful.
Visual Studio Code 1.82 - Release
Yet again another excellent release by the VS Code team, packed with new features, now including:
- 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.
VS Code now ships with TypeScript 5.2.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.
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.
- Web extension authors guide - Learn how to update your extension for VS Code in the browser. More about GitHub.dev
- New C# in VS Code documentation - Learn about C# development with the C# Dev Kit extension. C# topics.
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:
- 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.
- 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.
- 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.
- Color theme tester - Use vscode.dev to preview color themes.
You can find earlier released key features on our key feature archive page.