Visual Studio Code ( VS Code )
Free. Open source. Runs everywhere.
Further Key Features from earlier VS Code releases.
- 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.
- 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.
GitHub Codespaces
Visual Studio Code in the Browser, plus so much more. We have started a page to collect information and links about Codespaces and GitHub.dev
Visual Studio Code Links
- Visual Studio Code
- Visual Studio Code Blog
- Visual Studio Code Blog (Old)
- Visual Studio Code - Keyboard Shortcuts
- marketplace.visualstudio.com/#VSCode
- Visual Studio Code and local web server
- Collection of helpful tips and tricks for VS Code.
- Visual Studio Code Can Do That?
- Visual Studio Code Can Do That? - Smashing Magazine
- A really good presentation by Alexandru Dima a Visual Studio Code team member covering the history behind Visual Studio Code's story on the steps from the start to todays shipping product. He also builds a snake game in @code as a live demo from jsDay 2016.
- The History of Visual Studio Code - Learn about how VS Code started and evolved until today from Erich Gamma at Build 2020.
- VS Code Day 2021 Videos
References
- Monaco Editor the code editor that powers VS Code.
- Electron - Build cross platform desktop apps.
- TypeScript - JavaScript that scales.
- Typings - The TypeScript Definition Manager.
- Typings for NPM Packages
- DefinitelyTyped.org
- Why TypeScript is Hot Now, and Looking Forward - Treehouse Blog.
- Getting Started with TypeScript - Treehouse Blog.
- Brackets extensions - Use Brackets keyboard shortcuts in VS Code.
- Troubleshooting extensions blog post - Learn to troubleshoot extensions using extension bisect.
- Case study of a Computer Science lecturer at Naresuan University in Thailand who uses VS Code
Docs & Books
- http://code.visualstudio.com/Docs
- eBook: Visual Studio Code - Tips & Tricks Vol. 1
- Collection of helpful tips and tricks for VS Code.
- Release notes
Extensions you should really check out
- Thinking in Code By Jonathan Carter. A Collection of extensions to enable a richer environment for thinking and learning about code.
- Thinking in Data By Paige Bailey. A VS Code extension pack to help users visualize, understand, and interact with data.
- GitHub Codespaces By GitHub. Your instant dev environment connect to Codespaces from Visual Studio Code
- Remote - Containers By Microsoft. Open any folder or repository inside a Docker container and take advantage of Visual Studio Code's full feature set.
- Remote - SSH By Microsoft. Open any folder on a remote machine using SSH and take advantage of VS Code's full feature set.
- Remote - SSH: Editing Configuration Files By Microsoft. Edit SSH configuration files.
- Remote - WSL By Microsoft. Open any folder in the Windows Subsystem for Linux (WSL) and take advantage of Visual Studio Code's full feature set.
- Remote Development By Microsoft. An extension pack that lets you open any folder in a container, on a remote machine, or in WSL and take advantage of VS Code's full feature set.
- vscode-icons By VSCode Icons Team. Icons for Visual Studio Code
- Python By Microsoft. IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more.
- Pylance By Microsoft. A performant, feature-rich language server for Python in VS Code
- Jupyter By Microsoft. Jupyter notebook support, interactive programming and computing that supports Intellisense, debugging and more.
Insiders Build
Be sure to check out the Insiders Build which can be run alongside the stable version of VS Code but allows you to test out the new features ahead of time, before they land in the stable release.
Visual Studio Code 1.0
Released on 14 April 2016
Its hard to believe that VS Code has been with us for such a short time, with each release growing in features & functions.
The code team have relased a great blog post covering the journey to version 1. Read about the journey to version 1.0
Visual Studio Code on the Visual Studio Marketplace
Visual Studio Code now offers support for extensions and themes! With hundreds available at https://marketplace.visualstudio.com/#VSCode
A great write up to using an extension in VS Code is from Rey Bango (@reybango), Adding ESLint to the Microsoft VS Code Editor http://blog.reybango.com/2015/12/17/adding-eslint-to-the-microsoft-vs-code-editor/