Visual studio code download
Visual studio code download
Скачать Visual Studio Code
Visual Studio Code – мощная мультиплатформенная программа для написания исходного кода от Microsoft. Редактор компактный, используется при разработке облачных и веб-приложений, которые создаются прямо в нем.
Возможности VS Code
Работа с редактором
После запуска Visual Studio Code предлагает выбрать базовые настройки. Пользователям доступны широкий выбор шрифтов, гарнитур, панелей инструментов. Стандартное текстовое меню с 5 элементами располагается слева сверху вниз:
Команды
Это главный инструмент разработчика в редакторе. Для вызова перечня ввести Ctrl+Shift+P.
Обозреватель
Пункт управления проектами. Для переноса файлов в статус Working files, кликнуть по ним дважды.
Установка расширений
Для загрузки дополнений из интерфейса редактора и просмотра уже установленных набрать комбинацию Ctrl+Shift+X. Появятся 3 новые вкладки с запущенными, рекомендуемыми и отключенными расширениями.
Плюсы
Минусы
Microsoft Visual Studio Code — отличный инструмент для разработчика, который ускорит процесс написания кода и сделает данный процесс гораздо эффективнее. Скачать последнюю версию приложения с официального сайта можно по ссылке ниже.
Visual Studio Code
Из наиболее важных особенностей данной IDE стоит выделить возможность управления Git. С ее помощью вы можете тестировать сборки, создавать «пакеты» и развертывать самые разные типы программного обеспечения. Можно написать код для определенной задачи в Visual Studio Code, после чего добавить его в готовый проект и осуществить настройку с использованием правильного аргумента. В распоряжении у пользователя огромная библиотека с шаблонами, сниппетами и готовыми фрагментами кода. При желании библиотеку можно пополнить собственными элементами.
Visual Studio Code работает с C#, F#, C++, Lua, Clojure, PHP, Perl, HTML, JSON, Visual Basic, Java, Python, SQL, XML и прочими языками. Кроме того, поддерживается разработка на Node.js и ASP.NET. Написанный код можно сохранить в виде текстового файла.
Как мы уже говорили ранее, Visual Studio Code имеет очень удобный современный интерфейс. При работе со средой можно открыть сразу несколько независимых окно и панелей с переменными. Окно можно делить на две части с редактором кода и панелью инструментов. Эта возможность очень пригодится при сравнении кода. Microsoft позволяет разработчикам пользоваться Visual Studio Code совершенно бесплатно и без каких-либо ограничений.
Visual Studio Code 1.61.1
6 скриншотов для Visual Studio Code
Visual Studio Code – мощный редактор для работы с программным кодом, предназначенный для написания «облачных» и веб-приложений. Редактор прост в освоении, кроме того, он обладает исчерпывающим набором функций для проверки и компиляции утилит, а весь пакет инструментов, доступных пользователю, помещен в удобный интерфейс.
Возможности Visual Studio Code
Особенности программы
Visual Studio Code имеет встроенную поддержку основных языков программирования и самые необходимые расширения. После установки функционал программы можно расширить за счет установки различных дополнений, сделав из нее полноценную среду для своих нужд.
Интерфейс Visual Studio Code обладает общим стилем Проводника с левой панелью, отображающей пользовательские и общие файлы и папки. Справа отображается панель редактирования, в которой по умолчанию отображается открытый файл. Интерфейс редактора можно настроить под конкретные задачи. Например, можно открыть несколько независимых друг от друга панелей и окон.
Редактор поддерживает использование фрагментов кода. Эта функция позволяет существенно сократить время на написание программного кода. Можно использовать код загруженного приложения или любой другой код, просто прикрепив его к основному проекту.
Visual Studio Code скачать бесплатно на русском языке
Ниже вы можете скачать Visual Studio Code бесплатно.
Windows 7, 8, 10, 11
Debian, Ubuntu .deb
Red Hat, Fedora, SUSE .rpm
Примечание: Если вы хотите внести свой вклад в VS Code, исправить или сообщить об ошибках, пожалуйста, вносите свой вклад непосредственно в кодовую базу на GitHub.
История разработки
Первоначально анонсированная компанией Microsoft весной 2015 года, первая публичная версия Visual Studio Code была выпущена год спустя, в апреле 2016 года. С тех пор этот редактор исходного кода и отладчик несколько раз расширял свою функциональность.
Интерфейс программы
Пользовательский интерфейс оптимизирован для быстрого обнаружения всех доступных встроенных инструментов и внешних сервисов, предлагаемых менеджером расширений.
Важно отметить, что эти расширения работают как отдельные процессы, что гарантирует целостность и стабильность софта.
Приложение хорошо подходит даже для начинающих школьников и студентов, что делает его идеальным приложением для изучения тонкостей разработки проектов любого размера.
Пользовательский интерфейс разделен на пять областей:
Интерфейс можно настраивать под себя и сделать редактор максимально персонализированным под ваши потребности. Но это еще не все возможности, которые предлагает редактор.
Особенности программы
Познакомьтесь с IntelliSense.
Выйдите за рамки подсветки синтаксиса и автозаполнения с IntelliSense, который обеспечивает интеллектуальное завершение на основе типов переменных, определений функций и импортированных модулей.
Отладка операторов печати осталась в прошлом.
Отлаживайте код прямо из редактора. Запускайте или подключайтесь к запущенным приложениям и отлаживайте их с помощью точек останова, стеков вызовов и интерактивной консоли.
Встроенные команды Git.
Работа с Git и другими SCM-провайдерами еще никогда не была такой простой. Просматривайте диффы, ставьте файлы и делайте коммиты прямо из редактора. Проталкивайте и вытаскивайте данные из любой размещенной службы SCM.
Расширяемость и настраиваемость.
Хотите еще больше возможностей? Установите расширения, чтобы добавить новые языки, темы, отладчики и подключиться к дополнительным сервисам. Расширения запускаются в отдельных процессах, что гарантирует, что они не замедлят работу вашего редактора.
Горячие клавиши
Команда | Клавиши |
---|---|
Вырезать строку | Ctrl+X |
Скопировать строку | Ctrl+C |
Вставить | Ctrl+V |
Удалить строку | Ctrl+Shift+K |
Вставить строку ниже | Ctrl+Enter |
Вставить строку выше | Ctrl+Shift+Enter |
Переместить линию вниз | Alt+Down |
Переместить линию вверх | Alt+Up |
Копировать строку вниз | Shift+Alt+Down |
Копировать строку вверх | Shift+Alt+Up |
Назад | Ctrl+Z |
Вперед | Ctrl+Y |
Добавить выбор в следующий поиск совпадений | Ctrl+D |
Переместить последний выбор в следующий поиск совпадений | Ctrl+K Ctrl+D |
Отмена последней операции с курсором | Ctrl+U |
Вставить курсор в конец каждой выбранной строки | Shift+Alt+I |
Выделить все вхождения текущего выделения | Ctrl+Shift+L |
Выделить все вхождения текущего слова | Ctrl+F2 |
Выделить текущую строку | Ctrl+L |
Вставить курсор ниже | Ctrl+Alt+Down |
Вставить курсор выше | Ctrl+Alt+Up |
Переход к соответствующей скобке | Ctrl+Shift+\ |
Линия отступа (переместить строку вправо на 4 пробела или одну табуляцию) | Ctrl+] |
Линия отступа (переместить строку налево на 4 пробела или одну табуляцию) | Ctrl+[ |
Перейти к началу строки | Home |
Перейти к концу строки | End |
Перейти в конец файла | Ctrl+End |
Перейти в начало файла | Ctrl+Home |
Линия прокрутки вниз | Ctrl+Down |
Линия прокрутки вверх | Ctrl+Up |
Линия прокрутки вниз с выделением | Alt+PageDown |
Линия прокрутки вверх с выделением | Alt+PageUp |
Область складывания (схлопывания) | Ctrl+Shift+[ |
Область разворачивания (разворачивания) | Ctrl+Shift+] |
Сложить (свернуть) все области | Ctrl+K Ctrl+[ |
Развернуть (распустить) все области | Ctrl+K Ctrl+] |
Добавить комментарий к строке | Ctrl+K Ctrl+C |
Убрать комментарий к строке | Ctrl+K Ctrl+U |
Комментарий переключения строки | Ctrl+/ |
Комментарий переключения блока | Shift+Alt+A |
Поиск | Ctrl+F |
Замена | Ctrl+H |
Следующее искомое | Enter |
Предыдущее искомое | Shift+Enter |
Выбрать все повторения найденного соответствия | Alt+Enter |
Переключить Поиск с учетом регистра | Alt+C |
Искать с помощью Regex | Alt+R |
Переключение Найти целое слово | Alt+W |
Переключение использования клавиши Tab для установки фокуса | Ctrl+M |
Переключение обводки слов | Alt+Z |
Полный список сокращенных комбинаций представлен на странице.
Заключение
Приложение распространяется в Интернете бесплатно по лицензии Open Source, что позволяет разработчикам напрямую видеть весь исходный код, даже рабочий процесс встроенной службы сбора данных, которая собирает пользовательские данные и отправляет их в Microsoft.
Visual Studio Code может быть загружен в виде архива установщика размером менее 100 МБ не только для Windows, но и для Linux и macOS (с поддержкой архитектур процессоров IA-32, x86-64, ARM64), и имеет встроенную поддержку UI для 11 международных языков. Приложение легкое, быстрое и оптимизированное для всех современных версий ОС Windows (7, 8 и 10, 11 включая как 32-битные, так и 64-битные).
Скачать Visual Studio Code v.1.62.2 для Windows
Visual Studio Code — это современный редактор кода, от компании Microsoft бесплатный для пользователей Windows, Linux и OS X, является альтернативой коммерческой среде для разработки Visual Studio. Он поддерживает подсветку синтаксиса и интегрируется с системой контроля версий git.
Редактор встроенный механизм расширения за счет дополнительных плагинов, и, конечно, маркетплейс насчитывает огромное количество различных расширений, в том числе и русскоязычный ленг пак (Russian Language Pack).
Интерфейс программы по умолчанию имеет темную расцветку, но, в настройках можно будет изменить на более светлые тона, и хоть первый взгляд редактор существенно не отличается от коммерческой редакции Visual Studio, но все же это более слабый в плане функционала редактор кода.
В целом работа в редакторе Visual Studio Code проста и понятна, идеально подходит в качестве рабочего инструмента, для начинающих пользователей.
Как включить русский язык?
Для русификации программы, язык устанавливается из маркетплейса, просто введите в адресной строке браузера URL vscode:extension/MS-CEINTL.vscode-language-pack-ru, и подтвердить в диалоговом окне открытие с помощью Visual Studio Code.
Нажимаем одновременно клавиши CTR+SHIFT+X, откроется с левой стороны окно поиска, вводим названия пакета, “Russian Language Pack”, после чего в результатах поиска ищем соответствующий нашему запросу и жмем зеленую кнопку install.
После чего редактор необходимо перезагрузить, и наслаждаться русским меню.
Особенности приложения:
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Visual Studio Code 1.70.2
A source code editor for Windows, Linux and macOS. It includes support for debugging, Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.
Overview
Certified 
What’s New
Similar to 12
Visual Studio Code is a streamlined code editor with support for development operations like debugging, task running, and version control. It aims to provide just the tools a developer needs for a quick code-build-debug cycle and leaves more complex workflows to fuller featured IDEs, such as Visual Studio IDE.
VS Code is free for private or commercial use, it’s built on open source and runs everywhere.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor.
What’s New
Welcome to the July 2022 release of Visual Studio Code. There are many updates in this version that we hope you’ll like, some of the key highlights include:
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
May 2021 (version 1.57)
Update 1.57.1: The update addresses these issues.
Welcome to the May 2021 release of Visual Studio Code. There are a number of updates in this version that we hope you will like, some of the key highlights include:
If you’d like to read these release notes online, go to Updates on code.visualstudio.com.
Watch a highlight of the new features in this version in the VS Code team’s release party. You can find the recording of the event on our YouTube channel.
Insiders: Want to try new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available.
Workbench
Workspace Trust
Visual Studio Code takes security seriously and wants to help you safely browse and edit code no matter the source or authors. The Workspace Trust feature lets you decide whether your project folders should allow or restrict automatic code execution.
Note: When in doubt, leave a folder in Restricted Mode. You can always enable trust later.
Safe code browsing
It’s great that there is so much source code available on public repositories and file shares. No matter the coding task or problem, there is probably already a good solution available somewhere. However, using open-source code and tools does have risks and you can leave yourself open to malicious code execution and exploits.
Workspace Trust provides an extra layer of security when working with unfamiliar code by preventing automatic code execution when a workspace is open in Restricted Mode.
Restricted Mode
When prompted by the Workspace Trust dialog, if you choose No, I don’t trust the authors, VS Code will go into Restricted Mode to prevent code execution. The workbench will display a banner at the top with links to Manage your folder via the Workspace Trust editor and Learn More taking you to the Workspace Trust user guide.
You will also see a Restricted Mode badge in the Status bar.
Restricted Mode tries to prevent automatic code execution by disabling or limiting the operation of several VS Code features: tasks, debugging, workspace settings, and extensions.
To see the full list of features disabled in Restricted Mode, you can open the Workspace Trust editor via the Manage link in the banner or by clicking the Restricted Mode badge in the Status bar.
Trusting a workspace
If you trust the authors and maintainers of a project, you can trust the project’s folder on your local machine. For example, it is usually safe to trust repositories from well-known GitHub organizations such as github.com/microsoft or github.com/docker. The initial Workspace Trust prompt when you open a new folder allows you to trust that folder and its subfolders.
You can also bring up the Workspace Editor and quickly toggle a folder’s trusted state. There are several ways to bring up the Workspace Editor dialog.
When in Restricted Mode:
You can also at any time use:
Selecting folders
When you trust a folder, it is added to the Trusted Folders & Workspaces list displayed in the Workspace Trust editor.
You can manually add, edit, and remove folders from this list and the active folder enabling trust is highlighted in bold.
You also have the option to trust the parent folder. This will apply trust to the parent folder and all subfolders. This can be helpful if you have many folders with trusted content collocated under one folder.
Enabling extensions
What happens if you want to use Restricted Mode but your favorite extension doesn’t support Workspace Trust? This can happen if an extension, while useful and functional, isn’t being actively maintained and hasn’t declared their Workspace Trust support. To handle this scenario, you can override the extension’s trust state with the extensions.supportUntrustedWorkspaces setting.
Note: Be careful overriding an extension’s Workspace Trust support. It may be that the extension author has a good reason for disabling their extension in Restricted Mode.
Below you can see the user settings.json entry for the Prettier extension.
You can either enable or disable Workspace Trust support with the supported attribute. The version attribute specifies the exact extension version applicable and you can remove the version field if you want to set the state for all versions.
If you’d like to learn more about how extension authors evaluate and determine which features to limit in Restricted Mode, you can read the Workspace Trust Extension Guide.
Settings
Below are the available Workspace Trust settings:
To learn more about Workspace Trust, you can read the Workspace Trust user guide.
New Getting Started experience
Over the past couple iterations, we have been working on refreshing the welcome page for VS Code, and we’re happy to announce that starting this iteration our new welcome page (Getting Started) is enabled by default for all users. In this new experience, both the core of VS Code and installed extensions can contribute «walkthroughs» to the welcome page, which are designed to help you get started in either VS Code itself or with a new extension. For example, the Luna Paint extension contributes a Walkthrough with guides to help understand each component of the image editor.
Additionally, once you’ve completed (or dismissed) all walkthroughs, VS Code rearranges the contents to double the number of recent workspaces accessible with one click.
Settings
The new page will be called Getting Started until we phase the existing Welcome page out entirely.
Remote Repositories
The Remote Repositories extension was introduced as a built-in preview feature in 1.56 and is now publicly available, but it is no longer built-in to VS Code so you’ll need install it from the VS Code Marketplace.
As a quick recap, the Remote Repositories extension allows you to instantly browse, search, edit, and commit to any GitHub repository directly from within VS Code without having to clone or have the repository locally.
In this iteration, while we were mainly focused on bug fixing and polishing the extension for release, we did add a few new features. You can now see your remote repositories in the Remote Explorer to quickly open or compare any uncommitted changes you may have. Additionally, you can apply changes, from the same repository, to the current remote repository allowing you to quickly and easily move uncommitted changes from one branch to another.
To learn more about Remote Repositories, you can check out the Remote Repositories blog post and YouTube video.
Improved editor drag and drop across windows
Support for dragging editors to other windows was improved in this release. You can now drag diff editors, custom editors, and the entire editor group to another window to open the editors there.
Note: If you frequently use this feature, make sure to have Auto Save enabled ( files.autoSave ) so that changes in the one window are automatically reflected in the other window.
Removed Cmd+W / Ctrl+W keybinding to close window when no editor is opened
We have gotten feedback that users are frustrated when the VS Code window (instance) suddenly closes after having closed the last editor via rapid Cmd+W / Ctrl+W usages. A quick poll in the team also revealed that many people had unassigned this keybinding for closing the window, so we went ahead and removed Cmd+W / Ctrl+W as a keybinding to close the window when no editor is opened.
You can easily bring back the keybinding by configuring it as follows in your user keybindings.json file:
macOS
Windows/Linux
Note: On all platforms, there is a dedicated assigned keybinding to close the window:
Notebook layout customization
We added several notebook layout settings this month to allow users to customize the notebook editor for their workflow. The customizations that are turned on by default are:
Notebook Toolbar
Output toolbar
The Clear Cell Outputs action and the button to pick a different output renderer or mimetype are now combined into a single . ellipsis menu next to cell outputs. This can be disabled by setting notebook.consolidatedOutputButton to false
Focused cell highlight on gutter
Show folding icon on mouse over
The full list of notebook layout settings implemented this month are:
The image below shows the effects of several of these settings (toolbar at the top, gutter highlight, output . button):
Updated Quick Pick & suggest widget colors
We’ve update the focus state in the Quick Pick and suggest widget to better align with our tree widget styles. This introduces a few new color tokens that control focus foreground:
Updated Touch Bar icons for macOS
We’ve updated our macOS Touch Bar icons so they align with our updated iconography style.
Default view
While debugging
Context menus for webviews
VS Code now supports showing a simple context menu inside webviews, such as the Markdown preview, release notes, and Extension Details pages:
This context menu currently contains actions for copy and pasting text. We may add additional actions to the menu in the future.
If this context menu is interfering with a webview in your extension, you can prevent it from showing up by calling preventDefault on the contextmenu event:
Editor
Suggestion preview
With the new setting editor.suggest.preview enabled, a preview of the selected suggestion or snippet is shown at the cursor position.
Theme: Dark+ (default dark)
Hide deprecated suggestions
Integrated Terminal
Terminal tabs
Terminal tabs were introduced as a preview feature in 1.56 and are now enabled by default. The new tabs view will only show by default when there are at least two terminals. For single terminals, the tab is «inlined» into the panel title. This also introduces the concept of terminal statuses such as whether a task is running, succeeded, or failed:
Below are some of the highlights in this release:
Terminal profile improvements
The terminal profile system has many improvements in this release, here are some highlights:
Title sequence support
Improved launching with clean environment
The setting terminal.integrated.inheritEnv has been available since the v1.36 but the implementation had some flaws where it could fail due to permissions issues on Linux and may not work as expected on macOS.
Native line wrapping support on Windows
Line wrapping in the terminal drives task problem matchers and link detection. Historically, the Windows terminal has used a heuristic to flag lines as wrapped since the emulation technology that simulates a Unix pty didn’t support wrapping. This changed on recent versions of Windows, and when updating to Windows 10 21376+ (currently Insiders only), this heuristic will be disabled and wrapped lines should work correctly as in Windows Terminal.
Tasks
Task status on terminal tab
The status of a task is now shown in its terminal tab. For background tasks, the status is only shown when there is an associated problem matcher.
Automatically close task terminals
The task presentation property has a new close property. Setting close to true will cause the terminal to close when the task exits.
Debugging
JavaScript debugging
As usual, the complete list of changes can be found in the vscode-js-debug changelog.
Edge Developer Tools integration
The JavaScript debugger integrates with the Microsoft Edge Developer Tools to provide a DOM, style, and network inspector for browser debugging, accessible via the new «Inspect» icon in the debug toolbar.
The short video below demonstrates selecting the «Inspect» button and navigating through elements in Edge DevTools.
Theme: Codesong
Support for renamed identifiers in sourcemaps
A long-requested feature, the JavaScript debugger now supports renamed identifiers in sourcemaps. This is particularly useful when debugging minified code:
Theme: Codesong
Renamed variables are supported in the Variables view, Watch view, and in the Debug Console REPL. You can check whether your tooling emits renames by looking for a non-empty «names» array in the sourcemap files it generates.
Reveal hit breakpoint in the BREAKPOINTS view
When a breakpoint gets hit, VS Code now selects and reveals it in the BREAKPOINTS view. This should make it easier to understand which exact breakpoint has caused the program to break.
Currently only the JS-debug extension supports this feature, but we expect other debug extensions to follow soon.
Languages
TypeScript 4.3.2
VS Code now ships with TypeScript 4.3.2. This major update includes many TypeScript language improvements, along with many improvements and bug fixes for JavaScript and TypeScript tooling.
You can read more about TypeScript 4.3 on the TypeScript blog.
JSDoc @link support
VS Code now supports JSDoc @link tags in JavaScript and TypeScript comments. These let you create clickable links to a symbol in your documentation:
JSDoc @link tags are written as: <@link symbolName>. You can also optionally specify text to be render in place of the symbol name: <@link class.property Alt text>.
Completions in import statements
Auto import in JavaScript and TypeScript automatically add imports when you accept a suggestion. With VS Code 1.57, they now also work when writing an import statement itself:
This can be a time saver if you ever need to manually add an import.
Go to Definition for non JS/TS files
Many modern JavaScript bundlers and frameworks use import statements to import assets such as images and stylesheets. We now support navigating through these imports with Go to Definition:
This is probably most useful when using Ctrl / Cmd click to navigate through your code.
Sort imports source action
The Sort imports Code Action for JavaScript and TypeScript sorts your imports. Unlike Organize imports however, it does not remove any unused imports.
You can also enable sorting of imports on save by setting:
Infer function return type Quick Fix
The Infer function return type refactoring for TypeScript adds explicit return type annotations to functions:
This is useful if you want to add more explicit typings. This refactoring can also save time when you want to extract the return type to a named type/interface, or if you need to modify a function’s return type.
Prompt to disable TS Server logging
VS Code now prompts you if you have TypeScript server logging enabled for a prolonged period of time:
Logging can significantly impact performance so it’s best to keep it disabled unless you are actively trying to diagnose an issue.
Contributions to extensions
Remote Development
Work continues on the Remote Development extensions, which allow you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
Feature highlights in 1.57 include:
You can learn about new extension features and bug fixes in the Remote Development release notes.
Extension authoring
Notebook API
We have finalized most of the notebooks API. The API is structured into three separate parts:
The example statically registers the notebook type for *.echobook files. Also, VS Code will emit an onNotebook:echobook activation event whenever such notebooks are opened.
Status bar item ‘id’ and ‘name’ properties
We finalized the API for StatusBarItem identifier and name properties. The identifier can be passed from the new overload of the createStatusBarItem method while the name property can change dynamically on the StatusBarItem itself.
These new properties are used for the context menu on the Status bar to give individual entries a name and for allowing a user to show and hide entries. If you do not provide these properties, the menu will aggregate all status entries from one extension under a single entry.
If your extension contributes to the Status bar, consider updating to the new API.
Print a message in new terminals
New theme colors for inline values
New colors were added to theme the debugger inline values:
vscode-webview.d.ts
The newly published @types/vscode-webview package adds typings for the API that VS Code exposes inside of webviews.
Or add a triple-slash reference in your code:
Improved webview array buffer transfers
In previous versions of VS Code, sending typed arrays to or from a webview had a few quirks:
While both of these issues are bugs, we also can’t fix them without potentially breaking extensions that rely on the existing behavior. At the same time, there’s zero reason a newly written extension would want the current confusing and inefficient behavior.
If the extension targets VS Code 1.57+, then typed arrays should be recreated on the receiver side and the transfer of large typed arrays to and from webviews should be much more efficient.
parentSession on Debug Sessions
Some time ago, VS Code added support for hierarchical debug sessions, but no information about the hierarchy was exposed in the extension APIs. To address this, there is a new property on the DebugSession interface that references the parent session, if any. A session’s parent will never change.
Improved VS Code Insiders version targeting
When working on extensions that use proposed APIs, it’s possible that a new Insiders build is released with breaking changes. In order to provide a more seamless transition for users, you can now target Insiders versions precisely with a date tag. For example, setting engines.vscode to ^1.56.0-20210428 will target any VS Code 1.56 (or newer) build that was created on or after 0:00 UTC, April 28, 2020. This allows you to safely release post-dated extension updates before an upcoming Insiders version is released.
Tree hovers support command URIs
Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always, we want your feedback. This is what you have to do to try out a proposed API:
You cannot publish an extension that uses a proposed API. There may be breaking changes in the next release and we never want to break existing extensions.
Testing
We intended to finalize the first parts of the testing APIs this iteration, but it was deferred due to the number of other in-flight features. While there were no breaking changes to the testing APIs this iteration, we continued to make progress on its editor experience. For example, the Peek view gained a split view that allows you to browse the results of current and past test runs.
Theme: Codesong
If you use the Test Explorer UI extension for tests, you can toggle on the setting testExplorer.useNativeTesting to switch to the new, native UI. In the next iteration, we plan to increase socialization of this setting and begin adoption with partner extension teams.
Terminal profile contributions
This API will enable extensions to contribute to the terminal profile system. An extension needs to do a few things to get this to work. First contribute the profile in the package.json :
Then activate the extension on the new onTerminalProfile activation event:
Lastly, register the provider in the activation event:
If the proposed API is enabled, the extension contributed profile should show up in the profiles list:
iconPath support in terminal options
The standard iconPath type is supported on TerminalOptions and TerminalExtensionOptions to set the terminal’s icon, which is displayed on the terminal’s tab:
Change title of Pseudoterminal
The new event Pseudoterminal.onDidChangeName enabled control of Pseudoterminal-based terminals:
Enable file system providers to declare a file as readonly
Support workspace URIs in asExternalUri
The pre-existing vscode.env.asExternalUri API now supports handling workspaces URIs. This allows extension authors to create system-wide URIs that directly open the given workspace.
The resulting uri can be opened by the operating system and VS Code will open that workspace.
Engineering
Progress for Electron sandbox support
This milestone we continued to make the VS Code window ready for enabling Electron’s sandbox and context isolation features.
Documentation
VS Code at Build 2021
If you missed the Microsoft Build 2021 developer event, you can still watch the sessions on-demand. Check out the Visual Studio Code at Build 2021 blog post, where we’ve put together a list of sessions we think will be of interest to VS Code users.
Browser debugging
A new topic Browser debugging in VS Code describes the built-in debugging support for the Edge and Chrome browsers. You can configure VS Code to either launch a new browser debugging session (via the Debug: Open Link command) or attach to a running browser.
PyTorch
There is a new topic on how to use the PyTorch machine learning framework within VS Code. In the PyTorch support in VS Code article, you’ll learn how Jupyter Notebooks can be extended with PyTorch and TensorFlow data types.
Notable fixes
Thank you
Last but certainly not least, a big Thank You to the following people who contributed this month to VS Code:
Contributions to our issue tracking:
Contributions to vscode :
Contributions to vscode-css-languageservice :
Contributions to vscode-eslint :
Contributions to vscode-js-debug :
Contributions to vscode-languageserver-node :
Contributions to vscode-pull-request-github :
Contributions to vscode-vsce :
Contributions to language-server-protocol :
Contributions to monaco-languages :
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Downloads
Visual Studio 2022
Community
Powerful IDE, free for students, open-source contributors, and individuals
Professional
Enterprise
Scalable, end-to-end solution for teams of any size
Preview
Get early access to latest features not yet in the main release
Preview
Get early access to latest features not yet in the main release.
A standalone source code editor that runs on Windows, macOS, and Linux. The top pick for Java and web developers, with tons of extensions to support just about any programming language.
By using Visual Studio Code you agree to its license & privacy statement.
Still not sure which tool is best for you? We can help
Visual Studio Code for Windows
Lightweight yet powerful source code editor with tons of extensions for many languages and runtimes.
Hundreds of programming languages supported
Visual Studio Code for Mac
Hundreds of programming languages supported
Visual Studio for Mac
A complete array of development tools and features in native macOS experience for every stage of your software development.
April 2019 (version 1.34)
Downloads: Windows: User System | Mac: 64 bit | Linux 64-bit: deb rpm tarball snap | 32-bit: deb rpm tarball
Welcome to the April 2019 release of Visual Studio Code. During April, we were busy with the Preview release of the Remote Development extensions. 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.
There were still several updates in this version that we hope you will like as well as many community contributions.
If you’d like to read these release notes online, go to Updates on code.visualstudio.com.
Editor
Stable CodeLens
VS Code now optimistically caches CodeLens locations and restores them immediately after switching editors. This fixes an issue where CodeLens lines would shift slightly when switching between editors.
Languages
Lower rank for CSS property values with vendor prefix
Debugging
debug.showSubSessionsInToolBar
We have introduced the setting debug.showSubSessionsInToolBar which controls whether the debug sub-sessions are shown in the debug tool bar. When this setting is false, the stop command on a sub-session will also stop the parent session. This setting default is false.
Tasks
Terminate all tasks
The Tasks: Terminate Task command has a new option to terminate all tasks if there are multiple tasks running. If this is an action you do often, you can create a keyboard shortcut for the command with the terminateAll argument.
Automatically show Problems panel
Contributions to extensions
Preview: Remote Development
❗ Note: The Remote Development extensions require Visual Studio Code Insiders.
Visual Studio Code Remote Development allows you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
The extensions in the Remote Development extension pack run in the context of the remote workspace while VS Code feels like it does when you run locally.
Vetur
The Vetur extension now offers semantic diagnostics, hover information, jump to definition, and find references for the JavaScript expression inside Vue’s template interpolation region:
You can read more about this feature in the Vetur documentation.
Other improvements include reduced memory usage and import path completion. You can learn more about them in the Vetur changelog.
Extension authoring
Multi-extension debugging
In this milestone, we’ve added support for debugging more than one extension at a time. This is useful if you are developing a set of tightly coupled or interdependent extensions.
Please note that in this release, it is not possible to create a preLaunchTask that builds both extensions by combining the preLaunchTask s of the individual extension projects.
Command links in notifications
Links in notifications allow for title
Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always we are keen on your feedback. This is what you have to do to try out a proposed API:
Note that you cannot publish an extension that uses a proposed API. We may likely make breaking changes in the next release and we never want to break existing extensions.
vscode.workspace.workspaceFile
There is a new workspace property returning the location of the workspace file. For example: file:///Users/name/Development/myProject.code-workspace or untitled:1555503116870 for a workspace that is untitled and not yet saved.
Depending on the workspace that is opened, the value will be:
If the workspace is untitled, the returned URI will use the untitled: scheme.
One use of the workspace file location is to call the vscode.openFolder command to open the workspace again after it has been closed:
Note: It is not recommended using the workspace.workspaceFile location to write configuration data directly into the file. You can use workspace.getConfiguration().update() which will work both when a single folder is opened as well as an untitled or saved workspace.
Machine-specific settings
If you have settings that allow users to customize an executable path and if these paths need to be scoped to the machine they are running on, you can now classify such settings as machine scoped. Extension authors set the scope property when contributing to the configuration extension point. Machine-specific settings can only be configured for User settings.
Engineering
Rewritten filesystem provider for local files
Extensions have been able to provide their own filesystem implementations for custom resources (read more here). However, VS Code’s own implementation for local files was not implemented with the same extension APIs. This resulted in subtle differences when dealing with local file resources compared to resources coming from extensions. Over the last two milestones, we rewrote our local file system provider to use the extension APIs for consistency.
New documentation
Python Azure Functions
There is a new Deploy Python to Azure Functions tutorial that describes how to create and deploy Python serverless Azure Functions.
Miscellaneous
Language Server Protocol
The Language Server Protocol has proposed support for the following new features:
The new features are available in the next versions of the vscode-languageclient and vscode-languageserver npm modules.
Notable fixes
Thank you
Last but certainly not least, a big Thank You! to the following folks that helped to make VS Code even better:
Contributions to our issue tracking. Please see our Community Issue Tracking page, if you want to help us manage incoming issues:
Contributions to vscode :
Contributions to vscode-css-languageservice :
Contributions to vscode-html-languageservice :
Contributions to node-jsonc-parser :
Contributions to language-server-protocol :
Contributions to vscode-languageserver-node :
Contributions to vscode-eslint :
Contributions to vscode-lsif-extension :
Contributions to vscode-textmate :
Contributions to vscode-recipes :
Contributions to vscode-vsce :
Contributions to localization :
There are over 800 Cloud + AI Localization community members using the Microsoft Localization Community Platform (MLCP), with over about 100 active contributors to Visual Studio Code.
We appreciate your contributions, either by providing new translations, voting on translations, or suggesting process improvements.
Here is a snapshot of contributors. For details about the project including the contributor name list, visit the project site at https://aka.ms/vscodeloc.
Downloads
Visual Studio 2022
Community
Powerful IDE, free for students, open-source contributors, and individuals
Professional
Enterprise
Scalable, end-to-end solution for teams of any size
Preview
Get early access to latest features not yet in the main release
Preview
Get early access to latest features not yet in the main release.
A standalone source code editor that runs on Windows, macOS, and Linux. The top pick for Java and web developers, with tons of extensions to support just about any programming language.
By using Visual Studio Code you agree to its license & privacy statement.
Still not sure which tool is best for you? We can help
Visual Studio Code for Windows
Lightweight yet powerful source code editor with tons of extensions for many languages and runtimes.
Hundreds of programming languages supported
Visual Studio Code for Mac
Hundreds of programming languages supported
Visual Studio for Mac
A complete array of development tools and features in native macOS experience for every stage of your software development.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Downloads
Visual Studio 2022
Community
Powerful IDE, free for students, open-source contributors, and individuals
Professional
Enterprise
Scalable, end-to-end solution for teams of any size
Preview
Get early access to latest features not yet in the main release
Preview
Get early access to latest features not yet in the main release.
A standalone source code editor that runs on Windows, macOS, and Linux. The top pick for Java and web developers, with tons of extensions to support just about any programming language.
By using Visual Studio Code you agree to its license & privacy statement.
Still not sure which tool is best for you? We can help
Visual Studio Code for Windows
Lightweight yet powerful source code editor with tons of extensions for many languages and runtimes.
Hundreds of programming languages supported
Visual Studio Code for Mac
Hundreds of programming languages supported
Visual Studio for Mac
A complete array of development tools and features in native macOS experience for every stage of your software development.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
March 2019 (version 1.33)
Update 1.33.1: The update addresses these issues.
Downloads: Windows: User System | Mac: 64 bit | Linux 64-bit: deb rpm tarball snap | 32-bit: deb rpm tarball
Welcome to the March 2019 release of Visual Studio Code. There are a number of updates in this version that we hope you will like, some of the key highlights include:
If you’d like to read these release notes online, go to Updates on code.visualstudio.com.
You can also check out this 1.33 release highlights video from Developer Advocate Brian Clark.
The release notes are arranged in the following sections related to VS Code focus areas. Here are some further updates:
Insiders: Want to see new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available. And for the latest Visual Studio Code news, updates, and content, follow us on Twitter @code!
Workbench
Easier Display Language configuration
Running the Configure Display Language command will now open a Quick Pick listing the available locales based on the Language Packs you have installed, instead of only opening the locale.json file. When you make a selection, the locale will be automatically updated and you’ll be prompted to restart VS Code for the change to take effect.
Improved Source Control view
The Source Control view has been aligned to behave like other views, such as the File Explorer, Debug view, etc. Repositories can now be made visible or hidden using context menu actions. Their order and sizing is now preserved. You can also show or hide the Source Control Providers view with context menu actions.
List simple keyboard navigation when screen reader detected
When VS Code detects that a screen reader is being used, it automatically turns on simple keyboard navigation for lists. This makes the list keyboard navigation easier for users with a screen reader since each key stroke will navigate to the corresponding item. This behavior applies for all lists and trees in the workbench, for example the File Explorer, Open Editors, and Debug views.
Editor
IntelliSense customization
There are new settings that control the IntelliSense display:
Below is an example of TypeScript IntelliSense with keywords filtered out, no icons, and limited to eight suggestions:
Default formatter selection
This will update your configuration (as shown below) so that for subsequent save operations, VS Code knows what formatter to pick. We also encourage you to set this value in your project’s configuration. For example, if your project team agrees on a formatter, then it should be spelled out in the project settings file.
Defining a default formatter does not remove alternative formatters. We have added the Format Document With. command, which still allows you to pick a formatter before formatting a document. If needed, you can also reconfigure the default formatter from the dropdown.
Go To Definition customization
It can be set to these values:
Use it as shown in the snippet below:
Integrated Terminal
ConPTY turned on by default on Windows build 18309+
For supporting versions of Windows 10 Insiders, the new terminal back-end ConPTY will be turned on by default. This should result in a more stable experience closer to the native terminal and adds 256 color support. If you experience issues, please let us or the Windows Console team know. You can always opt out with this setting:
Data parsing capped to 12 ms
Previously, the amount of data parsed by the terminal was not being capped properly. This meant that on less powerful hardware, the amount of time parsing data and rendering would far exceed the ideal time to render a frame, resulting in laggy UI or a full lock up for commands that generated a lot of output. There is now a cap in place, which prevents this from exceeding approximately 12 ms, which should avoid these issues.
Languages
TypeScript 3.4
VS Code now ships with TypeScript 3.4.1. This update adds support for some new TypeScript language features—such as improved inference and new const assertions—as well as bringing tooling improvements and bug fixes.
Convert to destructured parameters refactoring
The new Convert to named parameters refactoring for TypeScript lets you quickly organize long function parameter lists by converting the function to take a single named parameter object.
Option to disable CSS property value completion
This is useful if you would like to use Tab/Shift + Tab to select previous and next completion items.
Debugging
Support for subsessions
In this milestone, we have added support to display debug sessions as a tree in the debugger UI. Previously debug session were displayed as a flat list, which made it difficult to grasp that sessions were related.
Since this functionality is available via a new extension API, it requires adoption by debugger extensions. In this milestone, the only debugger that makes use of hierarchical debug sessions is VS Code’s Node.js debugger.
In Node.js cluster debugging, all subprocesses of a cluster are registered under the main debug session:
In the «server-ready feature» (see below), an automatically launched Chrome browser session is registered as a child of the server debug session.
Automatically open a URI
The last milestone had a preview version of the «server ready» feature, which allows you to open a URL in a web browser automatically as soon as a specific program output message is detected. This feature is useful for debugging web server source code because the URL opened in the browser can make the server hit a breakpoint as soon as the server is ready (and this all with a single F5 key press).
In this milestone, we’ve moved the feature out of preview. VS Code looks for the trigger message not only in the Debug Console but also in the Integrated Terminal. In addition, we’ve also improved the error handling.
Note that for technical reasons, it is not possible to support the «server ready» feature in external terminals.
Extensions
Install missing dependencies
We’ve improved the extension activation failure notification when VS Code detects a missing extension dependency and now provide an action to install the missing dependency.
You can also install all missing dependencies using the new Extensions: Install Missing Dependencies command.
Network proxy support for extensions
We now load the SSL/TLS certificates from the operating system and include them when validating https requests initiated by extensions. This supports proxies using their own SSL/TLS certificates and other setups with custom certificates.
In addition, http / https requests from extensions now honor the NO_PROXY environment variable, which lists the domain names separated by commas for which all proxy settings should be ignored.
Preview features
Preview features are not ready for release but are functional enough to use. We welcome your early feedback while they are under development.
Call Hierarchy
This is a preview feature and there aren’t any extensions currently providing real data for it. However, if you are an extension author, we invite you to validate our proposed API. If you are interested, there is a sample extension for testing: https://github.com/jrieken/demo-callhierarchy.
Extension authoring
Smart select API
We have finalized the smart select API used with the Expand Selection ( ⌃⇧⌘→ (Windows, Linux Shift+Alt+Right ) ) and Shrink Selection ( ⌃⇧⌘← (Windows, Linux Shift+Alt+Left ) ) commands. With this API, extensions can define the ranges that get selected in the editor.
Install extension command
A new command workbench.extensions.installExtension was introduced to install an extension from the Marketplace or a VSIX.
To install an extension from the Marketplace, you provide its identifier.
To install via a VSIX, you provide its location URI.
Debug toolbar contributions support positioning
It is now possible to position the contributed debug commands in any order in the Debug toolbar. The default debug commands are using the group navigation so if you would like your contributed commands to be mixed with the default ones, use the same group. More information about sorting inside groups can be found in the contribution points documentation.
«sidebarVisible» context renamed to «sideBarVisible»
TerminalOptions.shellArgs now accepts strings on Windows
Hierarchical debug sessions
In order to support hierarchical debug sessions, we’ve added an optional argument parentSession to the vscode.debug.startDebugging API. If specified, VS Code shows the debug session resulting from startDebugging in a tree-like way as a child of the parent session.
Removing the vscode.previewHtml command
We’ve tried to give all extensions that use the vscode.previewHtml command ample warning so that they can upgrade to use the webview API. However, there may still be a few extensions that are still using the vscode.previewHtml command and will therefore no longer work. If you are using one of these extensions, please file an issue against it or, even better, submit a PR with the fix.
Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always, we welcome your feedback. This is what you have to do to try out a proposed API:
Note that you cannot publish an extension that uses a proposed API. We may likely make breaking changes in the next release and we never want to break existing extensions.
Custom task execution
In addition to ProcessExecution and ShellExecution tasks, there is now a CustomExecution task. Instead of launching a process or running a script, it executes a callback provided by the extension.
This will give an extension provided task more flexibility for maintaining state when the task is run. It also provides access to the input and output for a task. For a complete example, see the test item.
Commenting API
We did large refactoring around Commenting related features during the last two months, based on the lessons and experience we learned from the GitHub Pull Requests extension and feedback from the community. The newly designed Commenting API is generic and powerful enough for different types of usage. The GitHub Pull Requests extension has already moved to the new Commenting API.
The new interface is available in VS Code Insiders and we will use the April milestone to tune and tweak the API. The old Commenting API will also be removed in April. You can play with the sample extension to get a better understanding of the API or take a deep look at GitHub Pull Requests.
WebviewOptions.portMapping
The proposed WebviewOptions.portMapping setting allows extensions to transparently define how localhost ports are resolved inside of webviews.
It is considered good practice to start services like live servers on a random port. With port mapping, a webview’s HTML content can use a hard-coded port that is mapped to the dynamically opened port that the service is really running on.
Call Hierarchy Provider
There is a proposed API for a CallHierarchyItemProvider supporting the call hierarchy feature. Try it out, leave feedback, and help us make this good API.
Engineering
Official Linux snap package
We now fully support distributing Visual Studio Code as a snap package. Snaps work across many different Linux distributions, provide reliable execution environments for a much stabler VS Code, and support background updates. Yes, that’s right, you now get in-product automatic updates for Linux just as the Windows and macOS users do. 🎉
Installing the snap package is as easy as:
Are you an insider? Come on and jump over to the Insiders snap package, and get daily updates without any extra work:
Caching NPM packages
Thanks to our friends over at Microsoft DevLabs, we were able to speed up our OSS builds using an Azure Pipelines extension, which caches NPM packages and speeds up the entire npm install process. If you’d like to know more about this, you can read this blog post by Ethan Dennis.
Strict null checking of VS Code
We made a final big push this iteration to enable TypeScript’s strict null checking for the core VS Code codebase. Strict null checks help to catch some common programming mistakes and make our codebase more maintainable, so that we can keep moving quickly yet safely.
Enabling strict null checks for core VS Code was a six-month effort that involved at least 40 contributors and touched tens of thousands of lines of source code. You can read about how we went about incrementally enabling strict null checking in issue #60565.
Contributions to extensions
GitHub Pull Requests
This milestone we continued working on improvements to the GitHub Pull Requests extension.
Below are some of the new features:
Vetur
Other than making available the new TypeScript language features and bug fixes, Vetur also improved its integration with TypeScript to bring grayed-out unused variables, code actions (autofixes), and auto import to *.vue files.
Read more on these features in the Vetur Changelog.
New documentation
Node remote debugging
The new Remote Debugging for Node.js topic explains how you can connect the VS Code debugger to your Node.js applications running on Azure with the Azure App Service extension.
Notable fixes
Thank you
Last but certainly not least, a big Thank You! to the following folks that helped to make VS Code even better:
Contributions to our issue tracking. Please see our Community Issue Tracking page, if you want to help us manage incoming issues:
Contributions to vscode :
Contributions to vscode-css-languageservice :
Contributions to node-jsonc-parser :
Contributions to inno-updater :
Contributions to debug-adapter-protocol :
Contributions to localization :
There are over 700 Cloud + AI Localization community members using the Microsoft Localization Community Platform (MLCP), with over about 100 active contributors to Visual Studio Code.
We appreciate your contributions, either by providing new translations, voting on translations, or suggesting process improvements.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Visual Studio Code
Описание программы
Visual Studio Code — удобный многофункциональный редактор для программистов, поддерживающий все распространенные языки программирования, а также HTML.
Бесплатная программа от Microsoft обладает функционалом, необходимым для написания и редактирования кода. Присутствует подсветка синтаксиса для распространенных языков, фирменная функция Intelli Sense может автоматически завершать код. Есть возможность отладки кода непосредственно в редакторе. В программе предусмотрена полная поддержка Git.
Интерфейс дает возможность держать отрытыми несколько документов. При необходимости окно программы можно разделить на две части: редактор и инструменты. Это удобно, например, для сравнения кода.
Существенно расширить функционал можно с помощью дополнительных плагинов. Так, дополнения позволяют изменить оформление редактора, добавить поддержку какого-либо языка, полностью персонализировать программу.
Преимущества и недостатки
Функции и особенности
Скриншоты
Скриншоты интерфейса и рабочих окон Visual Studio Code.
Как пользоваться
Видео инструкция по использованию и настройке Visual Studio Code.
Скачать бесплатно
Скачайте последнюю версию Visual Studio Code (1.42.1) по прямой ссылке с нашего сайта. Программа совместима с операционными системами Windows 10, 8, 7 разрядностью 32/64-bit. Данный программный продукт распространяется бесплатно, а его интерфейс доступен на русском и английском языке. Также вы можете скачать программу по ссылке с официального сайта.
Отзывы
Отзывов о Visual Studio Code пока нет. Добавите первый?
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Visual Studio Code 1.69 на русском
Visual Studio Code – данный цифровой продукт представляет собой очень мощную и продвинутую среду для опытных специалистов, которые смогут здесь самостоятельно проводить различные разработки софта. Тут у вас будут просто безграничные возможности, за счет использования очень практичной, удобной, и легкой в освоении платформы.
При этом, чтобы дополнительно подчеркнуть качество приложения, стоит отметить тот факт, что оно разработано легендарной корпорацией – Microsoft. Поэтому программа отлично синхронизируется с самой популярной и успешной операционной системой – Windows.
Пароль ко всем архивам: 1progs
Так же это приложение выделяется тем, что оно очень компактное, и занимает мало системного места на персональном компьютере. При этом данная техническая особенности никак не влияет на функционал платформы, так как тут он очень развит и универсален.
Скачать на русском языке данную виртуальную среду вы сможете прямо с нашего портала, просто кликнув по ссылке, находящейся на активной странице.
microsoft/vscode
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Visual Studio Code
Visual Studio Code combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle. It provides comprehensive code editing, navigation, and understanding support along with lightweight debugging, a rich extensibility model, and lightweight integration with existing tools.
Visual Studio Code is updated monthly with new features and bug fixes. You can download it for Windows, macOS, and Linux on Visual Studio Code’s website. To get the latest releases every day, install the Insiders build.
There are many ways in which you can participate in this project, for example:
If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute, which covers the following:
See our wiki for a description of each of these channels and information on some other available community-driven channels.
Many of the core components and extensions to VS Code live in their own repositories on GitHub. For example, the node debug adapter and the mono debug adapter repositories are separate from each other. For a complete list, please visit the Related Projects page on our wiki.
Docker / the Codespace should have at least 4 Cores and 6 GB of RAM (8 GB recommended) to run full build. See the development container README for more information.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Copyright (c) Microsoft Corporation. All rights reserved.
Скачиваемые файлы
Visual Studio 2022
Community
Professional
Enterprise
Предварительный просмотр
Получите ранний доступ к новейшим возможностям, которых еще нет в основной версии
Visual Studio 2022 для Mac
Дополнительные сведения о активация лицензии
Предварительный просмотр
Получите ранний доступ к последним функциям, которые еще не доступны в основном выпуске.
Visual Studio Code
Версия 1.68
Автономный редактор исходного кода, работающий в Windows, macOS и Linux.Лучший выбор для Java и веб-разработчиков с множеством расширений, поддерживающих любые языки программирования.
Используя Visual Studio Code, вы соглашаетесь с его license & заявлением о конфиденциальности.
Все еще не знаете, какой инструмент лучше всего вам подходит?Мы можем помочь
Visual Studio для Windows
Полный массив функций и средств разработки в едином центре для расширения и улучшения каждого этапа разработки программного обеспечения.
Установка в автономном режимеСравнить выпуски
Встроенные функции Visual Studio совершенствуют полный цикл разработки.
Visual Studio для Mac
Полный массив функций и средств разработки в собственном интерфейсе macOS для каждого этапа разработки программного обеспечения.
April 2020 (version 1.45)
Update 1.45.1: The update addresses these issues.
Welcome to the April 2020 release of Visual Studio Code. There are a number of updates in this version that we hope you will like, some of the key highlights include:
If you’d like to read these release notes online, go to Updates on code.visualstudio.com.
Insiders: Want to try new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available. And for the latest Visual Studio Code news, updates, and content, follow us on Twitter @code!
Accessibility
This milestone we received great feedback from our community, which helped us identify and tackle many accessibility issues.
One of our team’s top priorities is making Visual Studio Code a more accessible product and improving experiences for every user and so we have created a new Gitter channel for VS Code accessibility. We encourage users to join and give feedback, bring up problems, and share accessibility practices.
Workbench
Switch tabs using mouse wheel
Below when the cursor focus in the editor tab region, if the user scrolls their mouse wheel, the active editor changes.
Note: You can also press and hold the Shift key while scrolling to get the opposite behavior (for example, you can switch editor tabs even when the scrollToSwitchTabs setting is off).
Custom window title separator
A new setting window.titleSeparator lets you change the separator character that is used in the window title. By default, a dash ‘-‘ is used.
Updated Side Bar section headers for default themes
We’ve updated the styling of the Side Bar section headers for our default Dark and Light themes. We now use a transparent background and show a border for each header.
Below the OPEN EDITORS section header does not have a background color and the VSCODE and OUTLINE headers have an upper border.
Editor
Faster syntax highlighting
Syntax Highlighting in VS Code runs by interpreting Text Mate Grammars. These grammars are authored with regular expressions written in a particular dialect and can be evaluated using the oniguruma regular expression library. Up until now, we have been using two distinct libraries for evaluating such regular expressions, one for VS Code desktop (a native node module), and another one for VS Code in the browser (a Web Assembly binary).
We have now written a dedicated Web Assembly binding that is optimized for usage by our TextMate interpreter. By avoiding memory allocations in inner loops and adopting new APIs added just a few months ago to oniguruma, we have been able to create a variant that is faster than both of the previous approaches and delivers up to 3 times faster performance for highlighting regular programming files. You can review pull request #95958 more details and measurements.
Semantic token styling
You can now customize semantic theming rules in your user settings. Semantic coloring is available for TypeScript and JavaScript, with support for Java and C++ under development. It is enabled by default for built-in themes and is being adopted by theme extensions.
The editor.semanticTokenColorCustomizations setting allows users to override the default theme rules and to customize the theming.
The example below adds semantic styling to all themes:
Theming for semantic tokens is explained in more details in the Semantic Highlighting Guide.
New color for constants in the Default Dark+ theme
The Default Dark+ and the Default Light+ themes now color constants in a different shade than writable variables.
Below notice that the htmlMode and range constants are a different color than the result variable.
Default Dark+ theme:
Default Light+ theme:
Disable persistent Undo
Integrated Terminal
Removal of several prompt-related commands
The following commands have been removed:
These commands worked by sending a particular character sequence to the terminal, which was a best effort guess based on what command keybindings terminals use. The problem with these commands was that they were a closed box, you needed to literally search through the vscode codebase to figure out how they worked. They have been replaced with custom keybindings for the workbench.action.terminal.sendSequence command, which does the same thing in a generic way.
These are advanced keyboard shortcuts and cannot be viewed in their entirety via the Keyboard Shortcuts UI as they contain arguments but you can view their JSON definitions by running the Preferences: Open Default Keyboard Shortcuts (JSON) command:
Support for pasting of multi-line text in PowerShell
Multi-line pasting never worked in PowerShell as VS Code always sent over the text in exactly the same way as typing it out. As explained above, several keybindings have been swapped to use the workbench.action.terminal.sendSequence command and you might have noticed a new keybinding was added for Windows only:
This new keybinding will send the text representing Ctrl+V directly to PowerShell, which gets picked up by PSReadLine and handled properly.
Control double-click word selection
The new terminal.integrated.wordSeparators setting lets you customize the separator characters used to delimit a word when you double-click in the terminal.
The default separators are:
Debugging
Automatic debug configurations
Setting up debugging in VS Code can be a daunting task because a user has to create a new debug configuration (or at least modify a template to their needs). In our continuing effort to simplify the debugging experience, we have added a new feature that gives debug extension authors a means to analyze the current project and offer quality debug configurations automatically that do not require additional user configuration.
In a similar way to how build tasks are provided, the automatic debug configurations are grouped under the appropriate debugger (folder icon) in the Debug view’s configuration dropdown and the Select and Start Debugging Quick Pick. Once the debugger is chosen, VS Code presents all the automatic configurations available. Selecting a configuration will start a new debugging session.
The following screen cast shows the feature for the new JavaScript debugger (in preview) and our educational Mock Debug:
The debug Quick Pick can be opened by typing ‘debug ‘ (with a space) in Quick open ( ⌘P (Windows, Linux Ctrl+P ) ) or by triggering the Debug: Select and Start Debugging command.
In the next milestone, we’ll add UI so that an automatic debug configuration can be easily added to the launch.json for further configuration.
Tasks
Disable faster Quick Pick
With version 1.44, we improved the task picker that shows when you run the Tasks: Run Task command by changing the layout and making it faster. However, the faster Quick Pick does make the task picker two levels deep depending on which task you want to run. If you want the previous UI, you can now disable the faster picker with the task.quickOpen.showAll setting.
Save on run
Languages
TypeScript status bar entry enhancements
When you are focused on a TypeScript file, VS Code shows the current TypeScript version in the status bar:
Clicking on the version now brings up commands appropriate for the current TypeScript project:
Prompt users to switch to the workspace version of TypeScript
The new typescript.enablePromptUseWorkspaceTsdk setting brings up a prompt asking users if they want to switch to the workspace version of TypeScript:
To enable the prompt, include «typescript.enablePromptUseWorkspaceTsdk»: true and typescript.tsdk as workspace settings for your project.
Markdown link to folders
Editor links in Markdown files and links in the Markdown preview can now point to folders. Clicking on one of these links will reveal the target folder in VS Code’s File Explorer.
Source Control
GitHub authentication for GitHub repositories
You can disable GitHub authentication with the git.githubAuthentication setting. You can also disable the terminal authentication integration with the git.terminalAuthentication setting.
Hide Git commit input box
A new setting git.showCommitInput allows you to hide the commit input box for Git repositories.
Inline diff is now editable
You can now edit inside the quick diff editor, when previewing changes in a file.
Preview features
Preview features are not ready for release but are functional enough to use. We welcome your early feedback while they are under development.
Settings Sync
We have been working the last couple of months to support synchronizing VS Code preferences across machines and this feature is available for preview on the Insiders release.
You can now sign in with your GitHub account to synchronize your VS Code preferences.
Theme: GitHub Sharp with Customizations
There is also now support for synchronizing global snippets.
New JavaScript debugger
This month we continued making progress on our new JavaScript debugger. It’s installed by default on Insiders, and can be installed from the Marketplace in VS Code stable. You can start using it with your existing launch configurations by enabling the debug.javascript.usePreview setting.
Here are some new features added this month:
Profiling Support
You can capture CPU profiles from your Node.js or browser applications by clicking the new Profile button in the Call Stack view, or using the Debug: Take Performance Profile command. Once you do, you can choose how long the profile will run: until you stop it, for a length of time, or until you hit another breakpoint.
After the profile ends, it’s saved in your workspace folder and opened in VS Code. If you’re running our stable build, you’ll want to install our visualizer extension to view it. On Insiders, the extension is already built-in. When you open the profile, CodeLens are added to your files that contain performance information at the function level and for certain ‘hot’ lines. Unlike profiles captured in many other tools, the recorded profile is sourcemap-aware.
Theme: Earthsong, Font: Fira Code
Auto Attach integration
When debug.javascript.usePreview is turned on, VS Code’s Auto Attach will use a new method provided by js-debug that allows all terminals to work similarly to the Debug Terminal.
Improvements to Auto Attach over the existing debugger:
Copy Complex Values from Variables View
Previously, trying to copy complex values, like objects, from the VS Code Variables view would often result in truncated or incomplete data. Changes in VS Code and js-debug allow us to copy the complete value.
Product icon themes
Visual Studio Code contains a set of built-in icons that are used in views and the editor, but can also be used in hovers, the status bar, and by extensions. These icons are product icons as opposed to file icons, which are displayed next to file names throughout the UI.
The product icons that ship with VS Code are contained in the Codicon icon font and are used for the default product icon theme. Extensions can now provide new product icon themes to redefine these icons and give VS Code a new appearance.
The Product Icon Themes documentation has more details and there is a Product Icon Theme Sample.
TypeScript/JavaScript symbol search across all open projects
When using TypeScript 3.9+, VS Code’s workspace symbol search now includes results from all opened JavaScript and TypeScript projects by default. We previously only searched the project of the currently active file.
Improved links in the terminal
Links in the terminal have undergone an overhaul, changing out the backing system for a much more robust implementation that enables:
A list of known issues is available in this query.
Dynamic view icons and titles
This milestone, we continued on the work to make the layout more flexible. Moving views around the workbench allows you to create new icons in the Activity Bar or new tabs in the Panel. To make it easier to understand what is held in one of these newly created view containers, we have updated the logic to be easier to understand.
Now, when you have a custom container, we will inherit the title and icon from the first visible view. This will allow you to change it by rearranging the views. For containers that are built-in or from extensions, we will try to preserve this icon as long as possible. Below when a new view is placed at the top of the view container, its icon and title are updated.
Lastly, you can now move your custom containers around with all of the containing views in one movement. The short video below shows dragging a Terminal and Output view combination into the Activity Bar.
Contributions to extensions
Remote Development
Work continues on the Remote Development extensions, which allow you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
Feature highlights in 1.45 include:
You can learn about new extension features and bug fixes in the Remote Development release notes.
GitHub Pull Requests and Issues
Formerly named «GitHub Pull Requests», the GitHub Pull Requests and Issues extension has been letting you manage and review pull requests from within VS Code for over a year now. Now, the extension as been expanded to include support for GitHub Issues.
Issue support includes:
There is also new repository support:
The short video below illustrates publishing to a new private repository on GitHub, with an option to browse the repo on GitHub once the files have been successfully uploaded.
For more information, you can read the recent GitHub Issues Integration blog post and Working with GitHub documentation.
GitHub Issue Notebook
The VS Code team is working on native support for Notebooks. The most popular Notebooks in use these days are Jupyter Notebooks and while investigating them, we began looking at ways to build a Notebook solution that is unbiased and supports different styles of Notebooks.
One of those Notebooks is the GitHub Issue Notebooks extension, which lets you manage issue and pull request searches and render results inline:
This extension is still under development and only works with VS Code Insiders but with it you can experience Notebooks first hand and you can provide us with feedback.
Extension authoring
New theme colors for editor tabs
New colors were added to further theme the workbench editor tabs:
New theme color for editor title border
Deprecating and archiving of the vscode NPM module
New Completion Item Kinds
There are two new entries to vscode.CompletionItemKind that represent issues and users. These can be used for instance to suggest usernames when adding TODO tags.
Working with URIs
We have added a vscode.Uri.joinPath utility. It is a factory function that creates new URIs by joining path segments with an existing URI. Think of this as Node.js’ path.join utility but for URIs.
debug/callstack/context menu inline group
VS Code now supports contributions to the debug/callstack/context menu inline group. Commands contributed to this group will be rendered inline in the Call Stack when a user hovers over the Debug Session element.
New Debug theme colors
There are new colors for styling the Debug view:
Source control management
New preserveFocus argument to open resource commands
When invoking the SourceControlResourceState.command command, an additional preserveFocus: boolean argument will be passed, which lets extension authors to provide a better user experience.
Input text mimetype
Control input box visibility
Extensions can now control the visibility of the Source Control input box for each repository using the SourceControlInputBox.visible property.
Remote source providers
The Git extension API now allows other extensions to provide remote sources in order to participate in the Git: Clone command.
Here’s an example by the GitHub Pull Requests and Issues extension:
Credential providers
The Git extension API was expanded so that extensions can provide authentication credentials in order to authenticate Git commands invoked against HTTPS Git repositories within the workbench and Integrated Terminal.
SignatureInformation.activeParameter
The new activeParameter property on SignatureInformation lets you specify the active parameter for every signature individually. When provided, this overrides the top level SignatureHelp.activeParameter property.
Strict null fix for EventEmitter
In VS Code 1.44 and below, the argument to EventEmitter.fire is optional:
This violated strict null checking but did not cause compile errors.
Language Server Protocol
Work has started on the 3.16 version of the specification. As a first step, the Call Hierarchy support moved out of the proposed state. Please note that the 3.16 spec is not yet final and, depending on feedback, may still change.
Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always, we are keen on your feedback. This is what you have to do to try out a proposed API:
Note that you cannot publish an extension that uses a proposed API. There may be breaking changes in the next release and we never want to break existing extensions.
Contribute to terminal environments
This new proposed API was introduced last month so that extension authors can contribute to terminal environments. This month has mainly been applying some UI on top of the feature and polishing it up. There is now a warning icon when a terminal has a «stale» environment, which shows a rich hover explaining what’s going to change and includes a convenient Relaunch terminal action. There’s also an information icon available when changes are active but this is disabled by default.
Providing debug configurations dynamically
We have updated the debugging extension API to give debug extension authors a way to add debug configurations dynamically, based on information found in the workspace or project. These debug configurations appear in the same UI locations where static debug configurations from the launch.json are shown.
In this release, dynamic debug configurations are shown in the Debug view’s configuration dropdown and the Select and Start Debugging Quick Pick. In a future release, we are considering showing them in the «Welcome» view as well.
In order to activate extensions that make use of this new API on time, a new activation event onDebugDynamicConfigurations: has been introduced. The is mandatory and denotes for which debugger the dynamic debug configurations are specified.
A usage example can be found in Mock Debug.
Binary Custom Editor API
We spent this iteration reworking the proposed API for binary custom editors to prepare it for stabilization. As a reminder, custom editors let extensions provide their own editor user interface in place of VS Code’s normal text editor. We’ve already stabilized support for custom editors for text based files. The proposed API extends custom editors to binary file formats such as images or hex dumps.
We want your feedback on this API so that we can hopefully finalize it next iteration. Check out the custom editor extension sample to review an example implementation of a custom editor for binary files. The Custom Editor API documentation now also covers custom editors for binary files.
Please let us know if this API works for you or if you run into any problems implementing your custom editor.
Engineering
Native iterators
We’re now using native ES6 iterators to speed up performance. You can find more details in issue #94540.
Compilation daemon
Thanks to the deemon utility, we now run our selfhost compilation task as a background process: it stays running even if VS Code is restarted.
Automated issue classification
Continuing with our work in moving our issue triaging flow over to GitHub Actions, we have created Actions for automatic issue classification. These Actions work by automatically downloading all of our issues and generating Machine Learning models to classify issues into feature-areas on a scheduled basis. The full implementation of all our Actions is in our GitHub Triage Actions repository.
New documentation
Docker Compose
There is a new Docker Compose topic explaining how the Microsoft Docker extension can help you add Docker Compose files to your projects to work easily with multiple Docker containers.
Java topics
The Java topics have been updated and include new topics on Linting and Refactoring Java source code using the Java extensions.
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.
Notable fixes
Thank you
Last but certainly not least, a big Thank You! to the following folks that helped to make VS Code even better:
Contributions to our issue tracking:
Contributions to vscode :
Contributions to vscode-json-languageservice :
Contributions to vscode-html-languageservice :
Contributions to language-server-protocol :
Contributions to debug-adapter-protocol :
Contributions to vscode-generator-code :
Contributions to vscode-textmate :
Contributions to vscode-vsce :
Contributions to localization :
There are over 800 Cloud + AI Localization community members using the Microsoft Localization Community Platform (MLCP), with over about 170 active contributors to Visual Studio Code. We appreciate your contributions, either by providing new translations, voting on translations, or suggesting process improvements.
Here is a snapshot of contributors. For details about the project including the contributor name list, visit the project site at https://aka.ms/vscodeloc.
November 2020 (version 1.52)
Update 1.52.1: The update addresses these issues.
Welcome to the November 2020 release of Visual Studio Code. As announced in the November iteration plan, we continued to focus for two weeks on housekeeping GitHub issues and pull requests as documented in our issue grooming guide. Across all of our VS Code repositories, we closed (either triaged or fixed) 5242 issues, which is even more than during our last housekeeping iteration in October 2019, where we closed 4622 issues. While we closed issues, you created 2937 new issues. The main vscode repository now has 2146 open feature requests and 884 open bugs. In addition, we closed 144 pull requests.
Same as every year, we used the live tracker from Benjamin Lannon to track our progress:
After focusing on housekeeping, we have also addressed several feature requests and community pull requests. This resulted in many new features and settings, some of the key highlights include:
Workbench
Preview editor improvements
We’ve made several updates to how we handle preview editors based on user feedback.
The workbench.editor.enablePreviewFromQuickOpen setting is now disabled by default, so that editors opened from Quick Open will no longer appear in preview mode.
When you start a code navigation (for example, with Go to Definition), the editor you start from will move out of preview mode and stay open, while the new editor will be in preview mode until you navigate further.
We changed all of our custom trees (the ones used in the Extensions or Git views, for example) to work more consistently like other built-in trees (such as the File Explorer). This means, the following interactions now apply to all of them:
Note: If you are an extension author who is using our custom tree API, you get the benefit of this change as well. Make sure to use the vscode.open or vscode.diff commands for the TreeItem.command to get the new preview mode behavior.
A new menu item, Keep Editors Open, in the editor overflow menu allows you to quickly turn off preview editors altogether:
Restore previous session windows
A new value preserve for the existing window.restoreWindows setting lets you force that every window you had opened before closing VS Code is restored when you restart VS Code, even if VS Code is explicitly asked to open a specific folder or file. A common example is double-clicking on a file in your platform’s file explorer to open it in VS Code or using the terminal to open a specific file or folder. Without the window.restoreWindows: preserve setting, VS Code will only open the file or folder as instructed, but not restore any other window.
Disable editor group splitting on drag & drop
A new setting workbench.editor.splitOnDragAndDrop prevents editor group splitting when using dragging and dropping editors. There is also a way to toggle this conditionally during the drag and drop operation by pressing and holding the Shift key (macOS) or Alt key (Windows, Linux).
Undo file operations in Explorer
The File Explorer now supports Undo and Redo for all file operations: delete, rename, copy, move, new file, and new folder. Make sure the focus is in the File Explorer and trigger the Undo or Redo commands and your last file operation will be undone or redone respectively. Keep in mind that we have separate undo stacks for the editor and the File Explorer, and we choose which one to undo based on focus.
Progress for long running operations in Explorer
We now show progress in the File Explorer and Status bar for long running file operations (longer than 500 ms). There is also initial support for canceling long running operations. This should be helpful when copying large folders or downloading resources from remote locations.
Open Editors sorting
There is a new setting explorer.openEditors.sortOrder to control the sort order in the OPEN EDITORS list.
This can be helpful when you have lots of files open and you want to match up files that are associated (for example, hello.component.js and hello.component.html).
Accessible progress control
The workbench progress display has been made more accessible. VS Code sets the appropriate ARIA roles so that screen readers can report progress for all long running operations in VS Code. Most screen readers by default only announce progress if it is ongoing for more than 10 seconds.
Source Control changes show their parent folder path
Diff editors opened from the Source Control view will now reveal their file path (when tabs are disabled). Previously, only the filename would show, but now the parent folder appears if the before and after files are within the same folder.
New proxy login dialog enabled by default
Our new proxy login dialog is now enabled by default. You can read our previous release notes for more details. The setting window.enableExperimentalProxyLoginDialog can be used to enable the old dialog, but we will remove this support in the near future. If you find an issue with the new login dialog, please let us know by filing an issue.
Improved terminal environment handling (Linux, macOS)
Unfortunately, VS Code does not open until this background process has executed. In order to not block startup for too long, VS Code will begin opening after 10 seconds. In this case, VS Code now informs you that it was unable to resolve the shell environment and offers a link to learn more:
Similarly, VS Code now shows a warning after three seconds to indicate that VS Code startup was blocked resolving your shell environment:
We are actively looking into changing our strategy to not block VS Code from starting while still resolving the shell environment in the background, but this will only be possible in future milestones.
Other noteworthy changes in this area are:
Improved workbench overflow
Whenever there isn’t enough space to fit all views inside the workbench, VS Code will now show scrollbars to pan the contents and let you get access to everything. This applies to several areas across the workbench such as the side bar, editor grid, and more.
Sash hover border color
You can now customize a border hover color for sashes ( sash.hoverBorder ) across the workbench.
Tree: Expand mode
A new workbench.tree.expandMode setting lets you control how folders expand in trees: using a single or a double-click.
macOS Big Sur updates
Due to an Electron 9 issue, whenever you select Restart to Update, VS Code won’t automatically restart, but simply exit. Until the next VS Code release, which should include Electron 11, you must manually relaunch VS Code when this happens. Read more in issue #109728.
Source Control
Preserve Source Control view state
The Source Control view state is now preserved across sessions. Collapsed tree nodes will stay collapsed even after exiting and relaunching VS Code.
Source Control gutter action
The new scm.diffDecorationsGutterAction setting lets you control what happens when you select the Source Control gutter decorations on the left side of the editor. The possible values are:
Git: New commands
Several new Git commands have been added to the Command Palette:
Git: New settings
Additionally, new Git settings have been added:
Git: Prompt to save files before stashing
VS Code will now prompt you to save unsaved files whenever you attempt to stash changes.
Git: Better diff for deleted file merge conflicts
Deleted file merge conflicts now have an improved diff experience, showing the actual change in the file on the opposite branch to the deletion.
Git: Fetch on remote addition
VS Code will now run git fetch right after you add a remote, fetching all the refs from that remote.
Git: Checkout detached
It’s now possible to checkout refs in detached mode from VS Code:
Git: Show command output on error
When a git command throws an error, you can now see the entire error message with a new Show Command Output option.
Git: New options for the git.api.getRemoteSources command
The git.api.getRemoteSources Git API command options now support an optional branch?: boolean property that will make Git prompt the user to pick a branch from a remote source, given there’s support from the remote source provider.
Additionally, the command now supports a providerName?: string option that allows the caller to bypass the remote source choice by the user and use a specific provider directly.
Debugging
Breakpoints view: Conditions for exception breakpoints
VS Code now supports editing conditions for Exception breakpoints from the Breakpoints view using the Edit Condition context menu action.
Exception area accessibility
The exception information area in the editor has been made more accessible. While debugging, once an exception is hit, VS Code will automatically move focus to the Exception area, which will make screen readers report the exception details and the stack frame.
It is now also possible to close the Exception area using the Escape key or the X button in the top right of the Exception area.
UI Improvements
Debugged line shown in overview ruler
The currently debugged line is now shown in the overview ruler on the right of the editor. For this decoration, we use the already present editor.stackFrameHighlightBackground color. In addition to this, VS Code shows the currently focused debugged line in the overview ruler using the editor.focusedStackFrameHighlightBackground color (focused debugged lines are non-top stack frame locations, which are manually selected in the Call Stack View).
Automatic debug configuration improvements
Previously, we’ve introduced a feature so that debug extensions can analyze the current project and offer debug configurations automatically. These debug configurations are dynamically created and so they do not show up in the launch.json configuration file. In this milestone, we are also preserving recently used automatic debug configurations across VS Code restarts (and reloads) to make the whole experience smoother. In the case that an automatic debug configuration is no longer valid after a restart, VS Code will ask you to pick a new automatic configuration from the same provider once debugging is started.
Debug Hover: help text/tip in the bottom to switch to normal hover
There is now help text on the bottom of the debug hover to make the Alt switch to editor language hover while debugging more discoverable. As a reminder, when you are debugging, the debug hover takes precedence over the language hover, making it impossible to see the language hover. You can switch from the debug hover back to the language hover by holding down the Alt modifier key. As long as Alt is pressed, the language hover is shown instead of the debug hover. This makes it much easier to read hovers like Javadoc descriptions while debugging.
Debug Console: collapse identical lines
The Debug Console now collapses identical output and shows the number of occurrences. This feature makes it much easier to grasp repetitive program output.
New variables for launch.json and tasks.json
The following new variables have been introduced:
serverReadyAction: launch other debug config by name
The serverReadyAction has historically been able to launch a browser or Chrome debugging by matching a URL. This release adds a new option to launch another arbitrary configuration by name. For example, in your launch.json you can specify:
Temporarily disable Auto Attach
Auto attach can now be disabled temporarily via the Auto Attach item in the Status bar, or via the Debug: Toggle Auto Attach command. Disabling auto attach in this way applies only to the current window and does not require restarting your terminal. It can be re-enabled in the same way.
JavaScript debugger
A complete list of changes can be found in the debugger’s changelog.
Breakpoint Diagnostic Tool
There is a new tool that is designed to help troubleshoot build or configuration issues that prevent debugging or prevent breakpoints from binding. To use it, run the Debug: Create Diagnostic Information for Current Session command while a debug session is running. In a later VS Code version, a hint for this diagnostic tool will appear automatically when appropriate.
Setting for Default Executable Locations
Tasks
Remove recent tasks
The tasks Quick Pick has always had a Recent Tasks section at the top. Since this is a valuable location, you can now better curate your recent tasks by removing them from the Quick Pick with the Remove Recently Used Task button on the right.
Extensions
In this milestone, we added a number of improvements to the Extensions view and extension details pages.
Extensions views are now refreshed automatically. For example, an extension is shown in the Extensions: Installed list immediately after installing the extension. You can also refresh the view manually using the refresh button in the title bar.
An extension’s details page now shows a context menu with all of the actions for an extension, like in the Extensions view.
The Feature Contributions tab in an extension’s details page now shows the Activation Events for an extension.
You can now disable an extension and its dependents together. There is a notification with a Disable All action when you try to disable an extension that has dependencies.
You can add or remove an extension from workspace recommendations using the Add to Workspace Recommendations or Remove from Workspace Recommendations actions available in an extension’s context menu in the Extensions view.
Extension recommendation notifications now show the install dropdown action when Settings Sync is enabled, just like in the Extensions view.
We simplified configuring extension recommendations by deprecating the extensions.showRecommendationsOnlyOnDemand setting. You can now use the extensions.ignoreRecommendations setting to control extension recommendation notifications, and the Extensions view’s visibility actions to hide the recommendations by default.
Troubleshooting: Extension bisect
The true power of VS Code is its extensions: theme extensions add pretty colors and icons, language extensions provide IntelliSense and enable code navigation, debugger extensions enable you to drill into bugs. Sometimes it isn’t obvious if an issue is caused by an extension, and if so, by which extension. Until today, you needed to disable all extensions and then one by one re-enable extensions to find a problematic extension. This process is now getting easy with a new feature called extension bisect. It uses the binary search algorithm to quickly identify an extension that causes trouble. In essence, it disables half your extensions and asks you to check for the issue you were seeing. If the issue is gone, the bad extension must have been in the list of disabled extensions, not in the list of currently enabled extensions. This process is repeated until only a single extension is left.
You can start extension bisect via the Help: Start Extension Bisect command from the Command Palette ( ⇧⌘P (Windows, Linux Ctrl+Shift+P ) ). It then guides you through the process of repeatedly disabling and re-enabling extensions. After each reload, you will be prompted to confirm if the issue is still there.
Extension bisect will repeatedly ask you to check if the issue is reproducing or not. You can always abort via Stop Bisect and if you dismiss the bisect notification, you can continue via the Help: Continue Extension Bisect command.
When the extension bisect process is finished, you are asked to file an issue against the extension. You can also keep the extension disabled from here.
Keyboard Shortcuts editor
We’ve added several improvements to the Keyboard Shortcuts editor in this milestone.
You can now configure a keybinding for a command from the Command Palette, via the Configure Keybinding gear button on the right.
You can add several keybindings to a command from the Keyboard Shortcuts editor.
You can also now filter by a particular Keyboard Shortcut editor column from search input:
You can navigate search history in the Keyboard Shortcuts editor using the Up and Down arrows.
IntelliSense
Word based suggestions from other documents
VS Code supports simple word-based suggestions. They are useful when a language service isn’t available or when a language service cannot compute results, like when typing inside comments. With this release, VS Code can now be configured to suggest words from other open files. Use the editor.wordBasedSuggestionsMode setting with allDocuments to suggest words from all open files, use matchingDocuments to suggest words from open files of the same language (default), and use currentDocument to only suggest words from the current file.
Hide inline details
TypeScript suggestions show path
TypeScript can provide completions that also add an import statement. However, when there are multiple symbols with the same name, it is hard to pick the right completion. This release makes this simpler because paths of auto-import completions are shown with the label.
Customize CodeLens
You can now configure the font family and size of CodeLens items.
In the screen capture above, font and size are customized using these two settings:
Editor
Sticky tab stops when indenting with spaces
Delete Word command
The existing delete word actions will either delete from the current cursor position to the start of the word (for example Ctrl+Backspace on Windows/Linux) or to the end of the word ( Ctrl+Delete on Windows/Linux). There is now a new command that will delete the entire word under the cursor named Delete Word.
Word wrap in the diff editor
Both the side-by-side and the inline views of the diff editor now support word wrapping. In general, the diff editor will respect the editor settings related to word wrapping. In the case of Markdown files, which are word wrapped by default, the diff editor will also word wrap them:
Snippets
Hide extension snippet
Snippets contributed by extensions can now be hidden from IntelliSense. This feature is available from the Insert Snippet picker when you run Insert Snippet. Find an extension snippet that you want to hide, and select the eye-icon on the right.
Hidden snippets aren’t showing in IntelliSense but can still be used via Insert Snippet. Last, when using Settings Sync, the hidden snippet preferences will be synchronized across your devices.
Snippets without prefix
When authoring snippets, you can now omit the prefix property. Snippets without a prefix don’t show in IntelliSense but can be used via Insert Snippet.
Integrated Terminal
Terminal configuration support
You can now modify terminal settings by selecting Configure Terminal Settings in the terminal dropdown menu.
Keybindings management
By default, keybindings are dispatched to the workbench instead of the terminal as specified in the terminal.integrated.commandsToSkipShell setting. A new notification informs the user when they have entered a keybinding corresponding to one of these commands and provides the option to configure the relevant settings.
Languages
Markdown inline smart select
Expand and shrink selection in Markdown documents using the following commands:
Selection applies to italics, bold, inline code blocks, and links.
TypeScript 4.1
This release of VS Code includes TypeScript 4.1.2. This major TypeScript update brings support for a number of new language features—including template literal types and support for [React 17’s factories—as improving language tooling for JavaScript and TypeScript. As always, it also includes a number of bug fixes.
You can read more about TypeScript 4.1 on the TypeScript Blog.
Initial support for JSDoc @see tags
JSDoc @see tags let you reference other functions and classes in your JSDoc comments. The example below shows the crash function referencing the WrappedError class from another file:
VS Code will now include basic @see references while performing renames. You can also run Go to Definition on the @see tag’s content and @see tags will also show up in the list of references.
We plan to continue improving support for @see tags in future releases.
New settings for IntelliSense behavior and type checking
There are two new settings that control IntelliSense and type checking behavior in JavaScript and TypeScript files that are not part of an explicit tsconfig or jsconfig project.
The js/ts.implicitProjectConfig.strictNullChecks setting enables strict null checks. It is false by default.
If you are working in TypeScript, you definitely want to enable strict null checks as it can catch many common programming mistakes.
The js/ts.implicitProjectConfig.strictFunctionTypes setting enables strict function types. It is true by default.
Strict function types are more difficult to explain but also generally improve IntelliSense and can catch some programming mistakes.
Keep in mind that these settings are both overridden if a file is part of a jsconfig or tsconfig project.
Renaming the other implicit JS/TS project settings
The other implicit project settings for JavaScript and TypeScript have been renamed to make them more accurate:
These settings were renamed because they apply to both JavaScript and TypeScript files that are not part of a jsconfig or tsconfig project. The previous setting names suggested they only applied to JavaScript files.
New formatter settings
The HTML extension uses JSBeautify as the formatter. The update to the latest version of JSBeautify (1.13) brings some new formatter settings:
The last setting lets you set a tag to mark areas that should not be formatted:
New setting name for onTypeRename
The On Type Rename feature for editing a tag when its matching closing tag is modified is now called linked editing. The command to enable linked editing is Start Linked Editing ( ⇧⌘F2 (Windows, Linux Ctrl+Shift+F2 ) ) and Escape disables linked editing mode.
The setting to enable it is now:
Contributions to extensions
Remote Development
Work continues on the Remote Development extensions, which allow you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
Feature highlights in 1.52 include:
You can learn about new extension features and bug fixes in the Remote Development release notes.
Notebooks
The VS Code team is continuing work on native support for Notebooks and improving its UX and performance.
Improve large text output rendering
The native Notebook editor will now truncate the output if its content is too large to ensure the UI is always responsive. You can still open the full raw content of the output in a text editor.
Extension authoring
File Decoration API
The FileDecorationProvider API is now final and can be used by any extension. With this API ambient information can be added to files, for the SCM and error decorations that show in the explorer use this API.
Undoing resource changes
New theme colors
Error background colors
Theme authors can now leverage new theme colors for errors in the editor. Editor errors, warnings, and infos can now be styled via:
Updated Codicons
We’ve added the following new icons to our codicon library:
Support for codicons for view containers & views
You can now use codicons as icons for view containers and views. Example:
See the icon listing for a list of available icons.
Linked editing range provider
For a given position in a document, a LinkedEditingRangeProvider links ranges with the same content. A change to one of the ranges can be applied to all other ranges.
This can be seen in action in HTML. When editing the name of an opening tag, the closing tag is automatically updated as well.
FoldingRangeProvider.onDidChangeFoldingRanges
FoldingRangeProvider.onDidChangeFoldingRanges has been made a public API. It is an optional event to signal that the folding ranges from a provider have changed.
Open Keyboard Shortcuts editor with query filter
fs.isWritableFileSystem
The new fs.isWritableFileSystem API lets you check if a given file system supports writing. For example, to check if a document with a url of example:/path/to/file is on a writeable file system:
Custom editors can use fs.isWritableFileSystem to determine if they show a readonly UI.
Markdown Tree tooltip API
TreeItem highlights API
listDoubleSelection and listMultiSelection
Using the context values listDoubleSelection and listMultiSelection for command enablement in contributed tree views now works.
View welcome content button enablement
You can now set an enablement context clause for view welcome content sections.
Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always, we want your feedback. This is what you have to do to try out a proposed API:
You cannot publish an extension that uses a proposed API. There may be breaking changes in the next release and we never want to break existing extensions.
Status bar entry background color API
We propose a new property backgroundColor for StatusBarItem to set the background color of a Status bar entry. Currently only statusBarItem.errorBackground is supported to avoid the Status bar looking too colorful. We may expand this support to more colors in the future.
The use case for this new API is to enable extensions to indicate error conditions in the Status bar. For example, the ESLint extension may decide to use this color to alert the user that ESLint has not yet been enabled for a workspace.
More themeable icons
Work has resumed on the product icon themes. Product icon theme is a proposed feature that allows you to style VS Code with a custom set of icons. It works for all icons in the built-in views, as well as all extensions that use icons from the Codicon library. Product icon theme will be made public in the next milestone.
Many more icons names have been added, in particular for the debug, extensions, and terminal views, as well as the settings and notebook editors.
Check out the updated icon listing.
Removal of proposed logging API
Initial addition of proposed testing API
New context key operators
Language Server Protocol
The feature set for the 3.16 version of the Language Server Protocol has been finalized and is available on the LSP protocol site. The major highlights of the 3.16 version are:
The detailed change log contains all the minor improvements to existing requests as well.
Debug Adapter Protocol
Support for conditional exceptions
In this milestone, the conditional exception proposal from September 2020 has been finalized and is now part of the version 1.43 of the Debug Adapter Protocol (DAP).
The protocol addition extends the setExceptionBreakpoints request with a new optional filterOptions property for setting the exception filters and their conditions. A debug adapter can announce that it supports the conditional exceptions feature via the supportsExceptionFilterOptions capability.
Clarified semantics of StackTraceResponse.totalFrames
The description of the supportsDelayedStackTraceLoading capability in the Debug Adapter Protocol seems to suggest that in order for delayed stack frame loading to work, the adapter must populate the totalFrames field of the StackTraceResponse with the correct number of available stack frames. However, for some debuggers or runtimes, this value is not easy to compute which makes it expensive to support delayed stack frame loading.
Clarified semantics of RunInTerminalRequestArguments.cwd
Since the cwd property («current working directory») of the runInTerminal request is not optional, it is not possible omit the property in order to express the «don’t care» case. For example if a debug adapter knows that the «cwd» is already correct and that there is no need to have the client generate a «change directory» command, the DAP specification does not describe how to achieve this.
To address this shortcoming, we have clarified the DAP specification by adding that a client is only expected to execute a change directory command if the cwd property contains a non-empty path.
Engineering
Sandbox and context isolation enabled for issue reporter and process explorer
To get more feedback from enabling Electron’s sandbox and context isolation, we pushed to enable it for our Process Explorer and Issue Reporter windows. This configuration will eventually be the default also for the main VS Code window:
Secure supply chain for NPM dependencies
We’ve improved our NPM dependency supply chain by leveraging source scanning and testing services, in order to increase our build pipeline security and reliability.
Linux ARM Repositories
VS Code for ARM architectures ( aarch64 and armhf ) is now published in the following Linux repositories:
New commands
Key | Command | Command ID |
---|---|---|
Focus Primary Side in Diff Editor | workbench.action.compareEditor.focusPrimarySide | |
Focus Secondary Side in Diff Editor | workbench.action.compareEditor.focusSecondarySide | |
Focus Other Side in Diff Editor | workbench.action.compareEditor.focusOtherSide |
Documentation
Remote Development
There are several new ways to learn about VS Code Remote Development:
GitHub integration
How we make VS Code in the open
Watch the recording of developers Alex Ross and Benjamin Pasero’s session at GitHub Universe How we make VS Code in the open to learn how our team builds VS Code as open source and collaborates with the community on GitHub.
VS Code on Chromebooks
Did you know you can run VS Code on a Chromebook? We think this is a great option for students and beginning programmers. Learn how to set up VS Code on Chrome OS (via Crostini) with our Learning with VS Code on Chromebook blog post, which includes instructions on getting started with coding using JavaScript and Python.
Notable fixes
Thank you
Last but certainly not least, a big Thank You to the following people who contributed this month to VS Code:
Contributions to our issue tracking:
Contributions to vscode :
Contributions to language-server-protocol :
Contributions to vscode-languageserver-node :
Contributions to vscode-eslint :
Contributions to vscode-js-debug :
Contributions to vscode-html-languageservice :
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Downloads
Visual Studio 2022
Community
Powerful IDE, free for students, open-source contributors, and individuals
Professional
Enterprise
Scalable, end-to-end solution for teams of any size
Preview
Get early access to latest features not yet in the main release
Preview
Get early access to latest features not yet in the main release.
A standalone source code editor that runs on Windows, macOS, and Linux. The top pick for Java and web developers, with tons of extensions to support just about any programming language.
By using Visual Studio Code you agree to its license & privacy statement.
Still not sure which tool is best for you? We can help
Visual Studio Code for Windows
Lightweight yet powerful source code editor with tons of extensions for many languages and runtimes.
Hundreds of programming languages supported
Visual Studio Code for Mac
Hundreds of programming languages supported
Visual Studio for Mac
A complete array of development tools and features in native macOS experience for every stage of your software development.
November 2019 (version 1.41)
Update 1.41.1: The update addresses these issues.
Welcome to the November 2019 release of Visual Studio Code. There are a number of updates in this version that we hope you will like, some of the key highlights include:
If you’d like to read these release notes online, go to Updates on code.visualstudio.com.
Insiders: Want to see new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available. And for the latest Visual Studio Code news, updates, and content, follow us on Twitter @code!
Workbench
Compact folders in Explorer
In the File Explorer, we now render single child folders in a compact form. In such a form, single child folders will be compressed in a combined tree element. Useful for Java package structures, for example.
Setting explorer.compactFolders controls this behavior. By default, this setting is turned on.
Edit left side in diffs
If you compare two editors that are editable (for example, from the File Explorer by comparing two files or running a global Search & Replace), the left-hand side is now also editable and can be saved ( ⌘S (Windows, Linux Ctrl+S ) ).
Save from Peek editors
Problems panel
More Filters
More predefined filters were added to the Problems panel. You can now filter problems by type (errors, warnings, and information) and also see problems scoped to the current active file.
Theme: GitHub Sharp Dark, Font: FiraCode
Show current problem in Status bar
You can now configure VS Code to show the current problem message in the Status bar. This allows you to see the summary of the selected problem in the active file without any additional keyboard or mouse gestures.
Theme: GitHub Sharp Dark, Font: FiraCode
Flexible filter box layout
The filter box in the Problems panel now adjusts its position according to the panel’s position and size.
Theme: GitHub Sharp Dark, Font: FiraCode
Improved font rendering (Windows, Linux)
When we updated to Electron 6 last milestone, many users reported that font rendering regressed for them. Specifically, fonts did not render as smoothly as they used to. We immediately addressed the issue in the editor and the fix was made available in a 1.40 recovery release. However, other areas in the workbench still suffered from less than ideal font rendering.
In this release, we improved font rendering in more parts of the workbench (for Windows and Linux). The screenshots below show a before and after comparison (zoomed in to show the difference). In particular, many tree and list elements of the workbench were rendered using greyscale antialiasing and they now render with subpixel antialiasing.
Before (left) and after (right):
We plan to improve font rendering in even more parts of the workbench. You can check out this query of text rendering issues to view progress.
Faster read/write file performance for remote scenarios
Reading and writing files (from the text editor) should now be faster for scenarios where the file system is remote and the latency is high (for example when using VS Code in a browser with a slow connection or being connected to a remote host that is not in the same region). We switched to a stream-based implementation for reads and writes that greatly reduces communication overhead.
Search
Update search results as you type
In full text search, results will now update as you type. This is especially helpful in scenarios like constructing complicated Regular Expression queries, where fast feedback on a query can help you to write the RegEx.
Here, the instant feedback helps in constructing a RegEx Find and Replace query for adopting TypeScript’s optional chaining syntax:
Theme: Noctis Hibernus, Font: Hasklig
Add cursors to search results
We’ve added a command to add cursors to all matches of a text search. With focus on a file’s search results in the Search view, you can press ⇧⌘L (Windows, Linux Ctrl+Shift+L ) to edit all matches in that one file simultaneously. This is the same keyboard shortcut used when searching inside a single editor with the Find widget.
Expand all search results by default
Previously, if a full text search returned more than 10 results in a single file, it would appear collapsed in the Results tree. However, this sometimes made finding a particular result difficult, so with this release all results will appear expanded.
You can set search.collapseResults to auto to revert to the old behavior.
Editor
Minimap decorations for errors, warnings, and content changes
Errors and warnings are now highlighted inline in the minimap (code overview). You can change the color of these decorations with the new minimap.errorHighlight and minimap.warningHighlight theme colors.
Below you can see the minimap highlighting a subtle missing comma typo:
Content changes decorations are also shown in the gutter of the minimap:
You can modify the content change colors with:
You can change the visibility of source control decorations with the scm.diffDecorations setting, which has the values:
Code navigation alternate commands
VS Code used to do nothing when selecting Go to Definition while already at the definition. With this release, alternate commands can be executed instead. For instance, Go to Definition can be mapped to run Go to References.
This is customized via the editor.gotoLocation.alternativeDefinitionCommand setting. For example, you can make the alternate for Go to Definition be Go to Declaration and vice versa. You can leave the setting empty if you prefer the old behavior.
Peek, Go to, and Find All commands
Each Peek command now has a Go to counterpart. For instance, there are now both Peek Implementations and Go to Implementations. The Peek view doesn’t change the current editor and allows for a quick in-place look at source code.
The video below shows using Peek Implementations to see all implementations of the ICommandService interface in a Peek view:
Theme: GitHub Sharp, Font: FiraCode
In contrast, Go to Implementations is for navigation and gets you to an implementation quickly.
The video below (using the «editor.gotoLocation.multipleImplementations»: «goto» setting) navigates to all implementations of the ICommandService interface by repeatedly pressing F12 :
Theme: GitHub Sharp, Font: FiraCode
Last but not least, similar to the Find All References command, there is now Find All Implementations. It presents the implementations as a stable list to the side of the editor. This can be used as a TODO list, for example when performing a refactoring that affects all implementations of an interface.
Theme: GitHub Sharp, Font: FiraCode
Language-specific filtering for breadcrumbs and Outline view
Last milestone, we have added the capability to filter certain types, like variables, from the Outline view and breadcrumbs navigation. This release refines this features and allows language-specific filtering, for example don’t show TypeScript variables but do show JavaScript variables.
Below you can see how the value constant is displayed in the Outline view for the JavaScript file but not the TypeScript version.
Theme: GitHub Sharp, Font: Fira Code
IntelliSense keyboard shortcuts on macOS
There are now two ways to handle this:
Screen reader output
There is a new setting editor.accessibilityPageSize that controls the number of lines in the editor that can be read out by a screen reader at once. Note that this has performance implications for numbers larger than the default of 10.
If you use the screen reader Say All command, we recommend setting editor.accessibilityPageSize to 100 or 1000. Next milestone, we will look into changing the default value of this setting.
New bracket matching option
New auto indentation option
Code Action menu keyboard shortcuts
The Code Action and Refactoring menus now display custom keybindings, if they exist.
Integrated terminal
Minimum contrast ratio
Applications working with colors in the terminal can be tricky and they can use the following colors for text:
The problem is the application doesn’t know what the default background color or foreground color is and whether it will have good contrast with colors used by the application. To solve this problem, the terminal can now change the foreground color of text dynamically to meet a specified contrast ratio.
Set the foreground color to the desired contrast ratio ranging from 1 to 21:
Theme: Sapphire, Font: Hack
New experimental WebGL renderer
A new WebGL-based renderer is available for the terminal, which boasts performance gains of up to 900%* compared to the old canvas-based approach.
You can opt in to use the new renderer with this setting:
The speed improvements are attributed to many things but here are the highlights:
We observed rendering of frames varying wildly based on a user’s hardware/environment with the canvas renderer. Each frame would typically take anywhere from 1 ms to 40 ms but could reach to over 200 ms in extreme cases, where hardware issues were a factor. So far, WebGL seems much more consistent, typically sitting in the 0.2 ms to 2 ms range:
Reliability is one of the things we expect to improve once this is integrated. With the canvas renderer, the browser would try to be clever and fall back to rendering on the CPU if there were problems with the GPU/canvas, but we never want that to happen as we have a DOM-based renderer, which is much more suited for that. With WebGL, it should either work as expected or fail hard (a WebGL context cannot be acquired), in which case we can fall back to the DOM renderer.
The new renderer also fixes a nasty bug with the canvas renderer, where characters would get their sides clipped when they are larger than the cell size. This issue was most commonly observed with certain fonts on Linux with underscores.
* More info on benchmarks available at xtermjs/xterm.js#1790
Source Control
Git: Relative paths in git.ignoredRepositories
The git.ignoredRepositories setting now supports relative paths, which are useful when you’re configuring workspace settings and you’d like to ignore certain repositories in VS Code.
Git: Adoption of FileSystemProvider
The Git extension now uses the FileSystemProvider API which, besides fixing certain encoding issues, provides a more performant and more reliable way of exposing older versions of your files, from a Git repository.
Languages
HTML mirror cursor
This feature works by adding a multi-cursor to the matching tag when your cursor moves into an HTML tag name range. Just like in multi-cursor mode, you can use word-wise deletion or word-wise selection. The mirrored cursor is removed when you move your cursor outside the tag name range.
One special case is entering Space when the cursor is at the end of the opening tag, for example at the end of a div like
HTML rename tags
You can now use F2 to rename the opening/closing tag pairs in HTML.
Ranking of autocompleted CSS properties
CSS autocompletion now ranks properties by their popularity:
The usage data is sourced from ChromeStatus.org.
Sass module support
Sass recently introduced a new module system.
We have added syntax highlighting support, as well as language feature support, for Sass modules in SCSS files. The language features include:
TypeScript 3.7
You can read more about the TypeScript 3.7 features on the TS 3.7 blog post.
Optional chaining support for JavaScript and TypeScript
Thanks to TypeScript 3.7, VS Code now supports option chaining out of the box for both JavaScript and TypeScript. This includes syntax highlighting and IntelliSense:
Extract interface refactoring for TypeScript
The new Extract to interface refactoring lets you quickly extract an inline type to an interface so that it can be reused.
Below you can see that the ‘Neural’ interface has been extracted out of ‘keyes’:
Semicolon formatter options for JavaScript and TypeScript
The new javascript.format.semicolons and typescript.format.semicolons formatting settings let you control how the formatter handles semicolons in JavaScript and TypeScript files.
Valid semicolon format settings values are:
Uncalled function checks
VS Code will now alert you if you forget to call a function in a conditional.
Consider the following TypeScript snippet:
Note that you will only see this diagnostic when strict null checking is enabled.
Debugging
Debug START view
We have introduced a new debug START view to make it easier for users to start and configure debugging in a new workspace. Based on the active file, we will choose the appropriate debug extension and make it possible to debug or run your application. For more elaborate debug and run configurations, it is still best to configure a launch.json file.
Below you can see quickly starting to debug an Express JavaScript application and then creating a launch.json file if more control is needed.
Restart frame as an inline action in the CALL STACK view
To improve the discoverability of the Restart Frame action, there is now an inline action in the CALL STACK view visible on hover. Restarting frames is a handy way to rerun the preceding source code after a breakpoint is hit. If the debug extension does not support restarting frames, this action is not shown.
Debug console shows input and output
In order to better distinguish input and output in the Debug console, we have added input > and output decorations to the left.
Inline breakpoint display
A new setting debug.showInlineBreakpointCandidates controls whether inline breakpoints candidate decorations are shown in the editor while debugging. By default, they are visible.
Preview features
Preview features are not ready for release but are functional enough to use. We welcome your early feedback while they are under development.
Search Editor
In this milestone, we’ve started work on showing search results in a dedicated editor. This provides more space to view search results and allows you to maintain multiple collections of search results simultaneously.
With this release, in a search editor you can:
We will continue to add functionality and increase usability in the coming releases.
Theme: A Touch of Lilac, Font: Hasklig
Call Hierarchy view
The call hierarchy API is available in Stable and language extension authors are busy implementing it, so we have added a Call Hierarchy view. This complements the Peek Call Hierarchy view and shares the same Side bar view as Find All References and Find All Implementations. Once a language extension supports the call hierarchy API, you will be able to select Show Call Hierarchy from the context menu or the Command Palette to see the view:
Theme: GitHub Sharp, Font: FiraCode
The Call Hierarchy view allows you to drill into the callers from and calls of a symbol. It highlights calls in the active editor, allows reparenting the view from any children, and it keeps a history of previous runs.
JavaScript Debugger
You should not need to change your existing launch configurations in order to use the new debugger.
The debugger brings an assortment of new features, such as the ability to debug and step through webworkers:
Theme: Earthsong, Font: Fira Code
. debug npm scripts with no extra configuration or flags.
. and more! If you run into problems, please file an issue.
Contributions to extensions
Remote Development
Work continues on the Remote Development extensions, which allow you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
Feature highlights in 1.41 include:
You can learn about new extension features and bug fixes in the Remote Development release notes.
You can also read a recent blog post about Inspecting Containers with VS Code and try the updated Using C++ and WSL in VS Code tutorial.
ESLint
Improvements to the ESLint extension:
The setting below turns on Auto Fix for all providers including ESLint:
In contrast, this configuration only turns it on for ESLint:
You can also selectively disable ESLint via:
vscode-scss
The vscode-scss extension offers cross-file language support for SCSS variables, mixins, and functions. In this milestone, we helped its development for a new release, 0.8.0.
The new version improves:
Extension authoring
Figma design toolkit
We’ve created a Figma design toolkit to better help extension authors design experiences for their extensions. Check out the toolkit repo on GitHub that has instructions on how to access and use the toolkit.
Below is an example of some of the components included:
All components should be resizable and editable.
If you run into any problems or have any requests for certain components, please create an issue in the toolkit repo so that we can triage and track the requests.
Debug icon color tokens
We’ve added a set of new color tokens for the Debug view.
Workspace file events
There are new events for when files and folders change:
The events are fired when files are created, renamed, or deleted from the Explorer or from extensions via the vscode.workspace.applyEdit(WorkspaceEdit) API but not when files change on disk or when files are modified via the vscode.workspace.fs API.
A possible use case for these events is a language server, which might update the contents of a file before renaming it or update project files after deletion/creation of files.
SnippetString
The SnippetString type has now a builder-method for choice-elements.
Strict getWordRangeAtPosition
The TextDocument.getWordRangeAtPosition API is now more strict and instead of ignoring invalid regular expressions that result in empty string matches, it will throw an error.
Deprecated string type for extensionKind
Extension authors can use the extensionKind property in package.json to indicate where an extension should run in the remote case. In release (1.40), this value could be a string or an array. Starting with this release, this property only supports an array value and using a string is deprecated. See the Remote Development documentation for more information.
Convert DAP Sources to URIs
The VS Code extension API uses document URIs when referring to resources that can be opened in editors, whereas the Debug Adapter Protocol is based on Source descriptors. In this milestone, we’ve added an API for connecting the two worlds. The function debug.asDebugSourceUri creates a URI from a DAP Source object. This makes opening a DAP Source into a VS Code editor simple:
Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always, we are keen on your feedback. This is what you have to do to try out a proposed API:
Note that you cannot publish an extension that uses a proposed API. There may be breaking changes in the next release and we never want to break existing extensions.
CodeAction.disabled
VS Code encourages extensions to implement refactoring functionality using Code Actions. However it can be difficult for users to discover which refactorings an extension supports and to understand why a given refactoring is not available for a specific selection. The CodeAction.disabled API proposal aims to help extensions make their refactorings more discoverable.
In addition, to help with discoverability, disabled Code Actions are shown as faded in the Refactor and Source Action context menus:
Note that disabled actions are not show in the top-level lightbulb menu.
If your extension uses Code Actions, please let us know if CodeAction.disabled is something that you would find useful and be able to implement.
Custom Editors editing capabilities
We continued to work on the custom editor proposal this iteration. As a reminder, custom editors are webview-based views that can be used in place of VS Code’s normal text editor for specific file types. As of VS Code 1.41, Custom editors can now integrate with VS Code’s Undo/Redo and Save functionality, which enables many interesting use cases including using them as visual and WYSIWYG editors.
You can find the current API proposal in vscode.proposed.d.ts and we have also put together some very simple extension samples that demonstrate using custom editors for text and for binary files.
If you are interested in custom editors, please share your feedback on the current proposal and let us know if you would be able to implement it.
Semantic tokens provider
We have added new proposed API for a semantic tokens provider. The new API allows extensions to provide additional token information to be used by the editor to enrich the TextMate based syntax highlighting.
Each semantic token annotates a range with a token type and any number of token modifiers. For example, type variable and modifiers member and modification would describe a write access to a member variable. The token types and modifiers are then used to add styles in the editor.
Styling can be configured in both color themes and user settings:
If you are interested in this feature, we would like to get your feedback regarding the current proposal and we would love to encourage experimentation and some early implementations.
A full sample is available in the vscode-extensions-samples repo.
Language Server Protocol
There is now proposed support for the call hierarchy view via LSP.
Browser support
Improved support for Firefox and Safari (macOS & iPadOS)
During this milestone, we focused on improving the experience of VS Code running in a browser when using Firefox or Safari. We fixed many issues to support both browsers (Firefox, Safari). On Firefox, we don’t have full keyboard shortcut support yet due to upstream blockers and you can read more details at tracking issue #85252.
We also fixed many issues to enable basic VS Code functionality in Safari on iPadOS. Core UI elements are now accessible to touch and pointer devices. However, there are still major blockers related to predefined keybindings ( Escape and Function keys), hovers, and touch friendly UI/UX. See issue #85254 for more information.
More features available running in a browser
Last milestone, we introduced support for running yarn web from our repository to set up VS Code running in the browser. This setup is still meant to be used for testing issues in browsers and not for development.
This milestone we added more features that can be tested:
Here is a video showing the new features in action:
Note: Do not use this setup for any serious development. The intent is to allow the community to contribute changes back to VS Code to improve the overall experience in the browser.
Engineering
Insiders available in the yum repository
Continuous build for Monaco Editor
This iteration we added continuous build and a test pipeline for the Monaco Editor. We build the Monaco Editor core from the VS Code repository main branch and perform sanity testing to catch potential bugs or unexpected breaking changes as early as possible.
Notable fixes
Thank you
Last but certainly not least, a big Thank You! to the following folks that helped to make VS Code even better:
Contributions to our issue tracking:
Contributions to vscode :
Contributions to language-server-protocol :
Bradley Walters (@bmwalters): Fix wrong client capabilities interface listed for document symbol PR #862
Contributions to vscode-css-languageservice :
Contributions to debug-adapter-protocol :
Contributions to vscode-chrome-debug-core :
Contributions to vscode-vsce :
Contributions to localization :
There are over 800 Cloud + AI Localization community members using the Microsoft Localization Community Platform (MLCP), with over about 100 active contributors to Visual Studio Code. We appreciate your contributions, either by providing new translations, voting on translations, or suggesting process improvements.
Here is a snapshot of contributors. For details about the project including the contributor name list, visit the project site at https://aka.ms/vscodeloc.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
May 2019 (version 1.35)
Update 1.35.1: The update addresses these issues.
Downloads: Windows: User System | Mac: 64 bit | Linux 64-bit: deb rpm tarball snap | 32-bit: deb rpm tarball
Welcome to the May 2019 release of Visual Studio Code. There are a number of updates in this version that we hope you will like, some of the key highlights include:
If you’d like to read these release notes online, go to Updates on code.visualstudio.com.
Insiders: Want to see new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available. And for the latest Visual Studio Code news, updates, and content, follow us on Twitter @code!
Updated Visual Studio Code icon
Over the past two months, we’ve been working on updating the VS Code product logo. We’ve taken feedback from the community (thank you to everyone who responded) and we are happy to release the new logos for Stable and Insiders. We are also using same logo on all platforms.
Stable | Insiders |
---|---|
Note: Depending on your platform, you may still see the earlier logo due to the operating system caching the application icon. If you do encounter caching issues, follow these steps to clear your icon cache.
Editor
Go to Definition improvements
We have polished the Go to Definition action and its friends, Go to Declaration, Go to Type Definition, and Go to Implementation.
Breadcrumbs displayed
Breadcrumbs for quick file and symbol navigation are now on by default. This can be toggled in the View menu View > Show Breadcrumbs command.
Languages
TypeScript 3.5
VS Code now ships with TypeScript 3.5.1. This update brings TypeScript language improvements, along with tooling enhancements for both JavaScript and TypeScript. It also fixes a number of important bugs, including fixes for performance issues that some users were seeing when working with styled-components.
Smart selection for JavaScript and TypeScript
JavaScript and TypeScript now support smart selection. This feature uses semantic knowledge to intelligently expand selections for expressions, types, statements, classes, and imports:
Extract to type alias refactoring for TypeScript
Use the new Extract to type alias refactoring for TypeScript to quickly extract part type into its own type alias:
See the Code Action documentation for more information on configuring keybindings for refactorings.
JavaScript and TypeScript suggestion sorting
We’ve tuned our suggestion sorting for JavaScript and TypeScript to more heavily prioritize suggestions for local variables over suggestions for globals or auto-imports:
Integrated Terminal
True color support
The terminal now supports programs that use true color (24-bit) escape sequences, rendering the correct color instead of the previous approximation of it.
Improved surfacing of shell selector on Windows
For some time, there has been a command to select the default shell on Windows. This release makes the command more discoverable as a shortcut available in the terminal selector dropdown.
Source control
Compare merge conflicts with complete context
A new setting merge-conflict.diffViewPosition allows you to open the diff view in a new editor group when you compare merge conflicts. In addition, the new view shows the complete diff view of the changed file, which provides better context for the merge conflicts.
Contributions to extensions
Remote Development (Preview)
The Remote Development extensions are now available for VS Code Stable and allow you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment. The extensions run in the context of the remote workspace while you work with VS Code just as you would in a local workspace.
You can learn about new extension features and bug fixes in the Remote Development release notes.
Extension authoring
Command enablement
Contributed commands can now control their enabled state using a new enablement property. Its value is a when clause, similar to keybindings and menu contributions.
The sample below shows how to add a Hello Enablement command to the editor’s context menu and have its enabled state depend on whether text is selected in an editor.
Disabled commands are shown as grayed-out in menus:
Note that certain menu implementations, like the Command Palette, don’t show commands that are disabled. There is also some semantic overlap between enablement of commands and the when clause of menu items. The enablement clause defines the enabled state for all representations of a command while the when clause defines when a command should be included in a menu. For instance, an explorer context menu item might only make sense for certain file types, such as TypeScript files, while enabling that command might depend on another condition, for example «TypeScript server running». You can learn more about commands and menus in the Command Extension Guide.
Updated Octicons
We have added new icons to the Octicon library:
We have also updated existing icons to be a consistent size:
New theme color for active tab of an inactive editor group
A new color tab.unfocusedActiveBackground allows you to control the background color of the active tab in an editor group that does not have focus. This color inherits from the tab.activeBackground color.
Webviews that set retainContextWhenHidden can now receive messages when in the background
Keep in mind that for a good user experience, webviews should not perform complex operations such as DOM manipulation or network requests while in the background.
Comments API
We have finalized the Comments API for extensions to provide commenting support within VS Code. For example, the GitHub Pull Request extension uses the Comments API to create and update comments for open pull requests directly in the editor and a dedicated Comments Panel.
You can play with the comment sample extension to get a better understanding of the API or take a deep look at the GitHub Pull Request extension repository.
Uninstall extension command
Debug Adapter Protocol
Thanks to Andrew Crawley, the Debug Adapter Protocol better supports hardware-oriented debuggers that need to surface processor registers and memory contents. Both additions are optional, and new and existing debug adapters are not affected. However, if a debug adapter is interested in showing registers and/or memory contents, it can opt into these features. Note that the debugger frontend also needs to add support: Visual Studio plans to support both and we have not yet decided for Visual Studio Code.
Support for reading registers
Register support for DAP has been retrofitted to the existing «Scope» mechanism: a debug adapter can return a set of CPU registers to the frontend as an additional scope in the scopes request. To mark a scope as a «register» scope, a new optional presentationHint attribute and a value registers has been added to the Scopes type. Using this hint is all that is needed to opt into the feature; there is no corresponding capability.
Support for memory access and disassembly
Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always we are keen on your feedback. This is what you have to do to try out a proposed API:
Note that you cannot publish an extension that uses a proposed API. We may likely make breaking changes in the next release and we never want to break existing extensions.
DocumentLink.tooltip
The proposed DocumentLink.tooltip property allows a DocumentLinkProvider to customize the text displayed when a user hovers over a document link:
VS Code includes instructions on how to activate the link ( Cmd+click to in this example) along with the tooltip text.
Background terminals
The new proposed runInBackground terminal option lets extension authors create terminals but not surface them through the UI. Background terminals will become regular terminals visible to the user once Terminal.show() is called for the first time.
This is useful if you need an interactive terminal session but don’t want to display it to the user unless something goes wrong.
New documentation
Remote Development topics
The VS Code Remote Development extensions are still in preview but there is extensive documentation to help you get started.
There are specific topics for each Remote Development extension:
Under the Remote table of contents, you will also find a Tips and Tricks guide as well as FAQ.
Notable improvements
Notable fixes
Thank you
Last but certainly not least, a big Thank You! to the following folks that helped to make VS Code even better:
Contributions to vscode :
Contributions to our issue tracking:
Please see our Community Issue Tracking page, if you want to help us manage incoming issues.
Contributions to language-server-protocol :
Contributions to vscode-languageserver-node :
Contributions to vscode-vsce :
Contributions to node-jsonc-parser :
Contributions to localization :
There are over 800 Cloud + AI Localization community members using the Microsoft Localization Community Platform (MLCP), with over about 100 active contributors to Visual Studio Code. We appreciate your contributions, either by providing new translations, voting on translations, or suggesting process improvements.
Here is a snapshot of contributors. For details about the project including the contributor name list, visit the project site at https://aka.ms/vscodeloc.
Downloads
Visual Studio 2022
Community
Powerful IDE, free for students, open-source contributors, and individuals
Professional
Enterprise
Scalable, end-to-end solution for teams of any size
Preview
Get early access to latest features not yet in the main release
Preview
Get early access to latest features not yet in the main release.
A standalone source code editor that runs on Windows, macOS, and Linux. The top pick for Java and web developers, with tons of extensions to support just about any programming language.
By using Visual Studio Code you agree to its license & privacy statement.
Still not sure which tool is best for you? We can help
Visual Studio Code for Windows
Lightweight yet powerful source code editor with tons of extensions for many languages and runtimes.
Hundreds of programming languages supported
Visual Studio Code for Mac
Hundreds of programming languages supported
Visual Studio for Mac
A complete array of development tools and features in native macOS experience for every stage of your software development.
Downloads
Visual Studio 2022
Community
Powerful IDE, free for students, open-source contributors, and individuals
Professional
Enterprise
Scalable, end-to-end solution for teams of any size
Preview
Get early access to latest features not yet in the main release
Preview
Get early access to latest features not yet in the main release.
A standalone source code editor that runs on Windows, macOS, and Linux. The top pick for Java and web developers, with tons of extensions to support just about any programming language.
By using Visual Studio Code you agree to its license & privacy statement.
Still not sure which tool is best for you? We can help
Visual Studio Code for Windows
Lightweight yet powerful source code editor with tons of extensions for many languages and runtimes.
Hundreds of programming languages supported
Visual Studio Code for Mac
Hundreds of programming languages supported
Visual Studio for Mac
A complete array of development tools and features in native macOS experience for every stage of your software development.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
July 2017 (version 1.15)
Update 1.15.1: The update addresses these issues.
Welcome to the July 2017 release of Visual Studio Code. There are a number of significant updates in this version that we hope you will like, some of the key highlights include:
If you’d like to read these release notes online, you can go to Updates on code.visualstudio.com.
The release notes are arranged in the following sections related to VS Code focus areas. Here are some further updates:
Insiders: Want to see new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available.
Editor
Large file support
Large files are always a great way to stress-test an editor. We currently use a line based representation of the text buffer, which has some serious advantages, but also disadvantages, especially in terms of memory consumption (for example, a file with very many short lines).
Any file that is over 30MB or over 300K lines will now be considered a large file and will be handled specially in some circumstances. By disabling certain features for large files, for example tokenization, line guides, and wrapping or folding, we were able to optimize memory usage, in some cases, by as much as 50%. Additionally, large files will never travel to our web worker, which computes diff information, link detection, or word based completions. This helps in reducing the memory pressure on the operating system.
Some of the optimizations will impact all files, although the effects should not be noticeable for small files. We decided to remove the hard-coded file size limit of 50MB on 64-bit installations and enforce a 300MB file size limit on 32-bit installations. Refer to #30180 for more information about the different optimizations.
Color Picker
We’ve introduced a color picker for color customizations in this release. It supports configuration of hue, saturation and opacity for the color that is picked up from the editor. It also provides the ability to trigger between different color modes by clicking on the color string at the top of the picker. The picker appears on a hover when you are over the color definition in a document.
For the preview, we enabled it for CSS, Sass and LESS files, supporting RGBA, HSLA and Hex color modes. We plan to extend the picker with more functionality as well as to enable extension authors to contribute their own color modes together with color definitions for their languages in future releases.
Auto indentation
In this milestone, we’ve turned on auto-indenting by default ( «editor.autoIndent»: true ). If the language you are working with has proper indentation rules (for example, TypeScript, JSON, CSS), the indentation will be adjusted when you type, move lines and paste blocks of code.
Emmet 2.0
Two releases ago, we introduced a new Emmet implementation («Emmet 2.0»). During its preview, users could opt-in and try new features such as showing Emmet abbreviations in the suggestion/auto-completion list and multi-cursor support for most of the Emmet actions. In this release, Emmet 2.0 and these features are enabled by default.
Now that Emmet abbreviations are displayed in the suggestion/auto-completion list, VS Code no longer triggers Emmet abbreviations with the Tab key by default. This solves 2 major issues:
You can still bind any keyboard shortcut (other than Tab key) to the editor.emmet.action.expandAbbreviation command or use Emmet: Expand Abbreviation from the Command Palette.
Custom Emmet Snippets
If you use custom Emmet snippets, you will have to modify them slightly to make them work in the new Emmet.
Read more about the new Emmet in Emmet 2.0 blog post.
Support for snippet choices
Below is a working sample specifying a fixed set of color choices:
Last but not least, when inserting snippets via IntelliSense a preview is now shown.
Improved diff editor results
In this release, we made some changes to our diff algorithm to adjust the differences (which are found with the help of a Longest-Common-Substring algorithm) in such a way that they are more pleasing to the human eye.
Workbench
User definable syntax highlighting colors
Thanks to Cody Hoover (@hoovercj), you can now customize the editor syntax highlighting colors in user settings. This is a great way to easily adjust your editor colors without creating a full color theme.
The new color will be applied on top of the current theme. It will applied live and no reloading of VS Code is required.
Check out the theme section in our docs for more details.
File Explorer sort order
Thanks to Dmitry Zabello (@foreverest), a new setting explorer.sortOrder configures how files and folders are sorted in the File Explorer. You can choose between:
This is how the Explorer looks like with explorer.sortOrder: mixed
Launch Integrated Terminal from the File Explorer
The context menu item to open a folder in a terminal (Open in Terminal) now defaults to open the folder in the Integrated Terminal. You can configure this to point at the external terminal using the terminal.explorerKind setting.
Managing views
Now that VS Code supports custom views in the Explorer, it is useful to be able to customize their layout. With this release, you can now change the order and the visibility of the views in the:
You can drag and drop sections reorder and context menus allow you to hide and display sections. Changes to views are persisted across VS Code restarts.
New setting to close window when last editor closes
There is a new setting window.closeWhenEmpty to control if the window (instance) should close when the last editor is closed. On macOS, it is typical application behavior that the instance should close when the last document is closed. If you want this behavior, you can enable the setting.
Note: The setting only has an impact for windows that have no folders opened.
Note: If you always want to close the window when the last editor closes, check out the new window.closeWhenEmpty setting for empty windows.
New theme color for title bar border
If you are on macOS, we show a custom title bar at the top. A new color titleBar.border can now be defined in themes or settings to draw a border separating the title bar from the rest of the editor.
Compare dirty file with version on disk
Thanks to Tobias Friemel (@tfriem), a new action compares a dirty (unsaved) file to its version on disk to quickly see the recent changes:
You can find the action from the context menu of dirty files within the OPEN EDITORS view of the Explorer and also as global command Files: Compare Active File with Saved ( ⌘K D (Windows, Linux Ctrl+K D ) ).
Font aliasing (macOS only)
A new setting workbench.fontAliasing was added (macOS) to control the font smoothing within the workbench and editor. By default, fonts are subpixel anti-aliased. Change the setting to antialiased to smooth the font on the level of the pixel, as opposed to the subpixel (this can make the font appear lighter overall). You can disable font smoothing if you set it to none (text will show with jagged sharp edges).
Remove entries from recently opened
A new action (X) now shows up next to each entry of the recently opened picker ( ⌃R (Windows, Linux Ctrl+R ) ) to remove that entry from the list.
Quick Open command with prefix
The existing command workbench.action.quickOpen can now receive a prefix as an argument to open the Quick Open picker with any text prefilled.
For example, you can configure a keybinding to bring up Quick Open with text prefilled like this:
As an extension author, you can programmatically execute the command and pass in arguments:
Thanks to cristianhosu (@cristianhosu) for helping out with this.
Search changes
Integrated Terminal
Configure environment of terminal sessions
A new setting for each platform terminal.integrated.env.
allows adding additional environment variables to new terminals:
Terminal switching
You can now quickly switch active terminals and rename them using the quick picker. Either use the command Terminal: Switch Active Terminal or type in term (with a space) in Quick Open.
Better terminal session names on Windows
We’ve cleaned up the default terminal names on Windows when launching a process from the initial shell. For example, running powershell.exe or cmd.exe in the terminal will now display the name as simply ‘powershell’ or ‘cmd’.
Additional delete word keybindings in the terminal
The Integrated Terminal now has default keys for deleting words:
These work by sending keystrokes to the shell and as a result, they don’t work on some Windows shells.
Force selection using Alt on macOS
Running programs in mouse mode within the terminal (like tmux) will intercept the mouse and therefore not allow you to make a selection. You can now hold the Alt key to force the mouse event to perform a selection rather than be sent to the terminal.
Tasks
Less and Sass compiler problem matchers
Tasks Status Bar display
We also added a Status Bar item for tasks which becomes visible as soon as a task is executed. Clicking on the tasks Status Bar display guides you to the output of an executed task.
Node Debugging
Loaded Scripts Explorer
For the last few VS Code releases, it has been possible to search and open loaded scripts via the Open Loaded Script command, which used a simple Quick Pick UI.
In this release, we’ve added an Explorer to the Debug view that provides direct access to all scripts and updates automatically as more scripts are loaded by the runtime:
In contrast to the limited Quick Pick UI, the Explorer supports concurrent debug sessions and the scripts are grouped according to folders if used in a multi-root workspace.
A second advantage of the Loaded Scripts Explorer is that it was implemented as an extension and shows a real world example of the new debug API and how to contribute to a tree view.
Languages
Search in Markdown preview
A PR from Cody Hoover (@hoovercj) brings search to webview contents, including the Release Notes, Markdown preview, and extension README pages:
Linkifying in the Markdown preview
Support for Markdown preview plugins
We added support for Markdown preview plugins for styles, scripts and Markdown it extensions.
Preview styles
Extensions can contribute CSS to customize the look or layout of the Markdown preview:
The VS Code GitHub Style extension is a good example that demonstrates using a stylesheet to make the Markdown preview look like GitHub’s rendered Markdown.
Markdown it plugins
Extensions can add support for additional Markdown syntax by contributing a markdown-it plugin.:
You can see this in action with the VS Code Markdown Emoji extension which uses a markdown-it plugin to add emoji support.
Preview scripts
Finally, for advanced functionality, extensions may contribute scripts that are executed inside of the Markdown preview:
Above you can see the VS Code Markdown Mermaid extension adding scripts to create mermaid diagrams and flowcharts.
New Markdown Preview Security Settings
The Markdown preview now blocks HTTP images by default. A popup is shown in the preview window when content has been blocked. You can change the security settings of Markdown previews in the current workspace by clicking on this popup or using the Markdown: Change Preview Security Settings command.
You can find more information about the new Markdown preview security levels in the VS Code Markdown documentation.
Extension Authoring
New API to extend the Markdown preview
Extension authors can now extend the Markdown preview. The new API offers three new contribution points for styles, scripts and markdown-it extensions.
Proposed API for storing credentials
New API to open an editor or diff editor with a specific selection
We enriched the existing TextDocumentShowOptions with a new property selection: Range that can be used from the showTextDocument method as well as the vscode.diff command. When provided, the editor will reveal and select the provided range.
Debug API updates
The proposed Debug API from last release ( vscode.debug.* ) has been slightly modified and extended.
Debugging can be started with the startDebugging function which takes either a named debug or compound configuration, or an in-memory configuration. Since named configurations or variables are only defined in the scope of a folder, we had to add a folder argument. A new onDidStartDebugSession event indicates that a debug session has been started.
The currently active debug session is available as the variable activeDebugSession and changes are reported through the onDidChangeActiveDebugSession event.
Custom Debug Adapter Protocol requests can be sent to a debug session with DebugSession.customRequest and corresponding custom events are reported through the onDidReceiveDebugSessionCustomEvent event.
Debug Contributions
Contributing views to the Debug Side Bar
You can now contribute views to the Debug Side Bar.
Variable substitution in package.json will no longer be supported
We will deprecate variable substitution in this release and plan to drop the feature in August. If it is difficult for you to move off this feature, please speak up by commenting here.
Debug Adapter Protocol
New process event
A new process event has been added that conveys the process ID and other information about the process being debugged.
New enum value normal for presentationHint attribute
New API for multi-root workspaces
New APIs have been added for multi-root workspaces. The «single root workspace» workspace.rootPath variable is now deprecated. Extension authors should use workspace.workspaceFolders which is a WorkspaceFolder array representing the current list of folders opened in the editor. There is a new event that fires when a folder is added or removed and a function getWorkspaceFolder to find a workspace folder for a given resource.
Icon for root folders
Icon theme authors, please get ready for multi-root support: We added two new icon categories for VS Code: rootFolder and rootFolderExpanded that can be used to show root folders in a different way compared to other folders. For example, the File Explorer will use this icon as well as the list of recently opened workspaces.
Configuration scopes
You can now classify the settings you contribute to configuration extension points into following scopes:
This classification is needed to configure settings impacting resources in a multi-root workspace through Configuration API.
Configuration API
The Configuration API is enhanced to support configuring settings at Global, Workspace and Folder levels in a multi-root workspace. Now you can ask for the configuration of a resource and inspect and update it in User, Workspace and Folder settings.
Here is an example of reading and writing the configuration of a resource in Folder settings in a multi-root workspace:
Note: There are no breaking changes to the existing Configuration API.
Preview: Multi Root Workspaces
Note: Multi-root functionality is only available in the Insiders build until we are confident enough that we can make it available in Stable. To try it out, grab our Insiders build from https://code.visualstudio.com/insiders.
We continued working on support for opening multiple folders in a single VS Code window (instance) (issue #396). There was a preview of this feature in our last release (see 1.14.0 release notes).
During this sprint, we focused on making multi-root workspaces a first class concept.
Introducing «Workspaces»
A Workspace is a new concept that surfaces in the UI whenever you want to have multiple folders opened in a single window (instance). A workspace is a simple configuration file that describes the folders you want to have open in a window. For example, for VS Code development we typically use three folders very frequently:
As you can see from the screenshot above, the workspace configuration file also contains a section for settings. Any Workspace Setting that you configure will end up in this file too (see below for more details around Workspace Settings).
Once you add additional folders to an empty window or a single-folder window, we make this window into an «Untitled Workspace». A window reload is currently required for this transition (see video below). In the future, we think that we can make this transition even smoother without a window reload.
Untitled Workspace
As long as you do not save a workspace, it will appear as an «Untitled Workspace». We do not force you to save a workspace until you want to have it in a permanent location, for example, on your Desktop. Untitled workspaces are present as long as the window they are using is open. Once you close a window with an untitled workspace, we will ask you to save it if you plan to open it again in the future:
Saved Workspaces
Workspaces show up in a similar way as folders. You can open them from the list of recently opened workspaces:
Any workspace will have an extra (Workspace) suffix appended to the name.
Workspace Settings
As mentioned above, the new Workspace concept introduces a workspace configuration file that contains a section to configure your workspace settings. In a multi-root workspace, when you open workspace settings, we now show this file. This file also contains other sections which are not related to workspace settings. To make them less prominent, we dim them in the editor. In future, we would improve the experience by showing only the settings section just like in User settings.
Folder Settings
Selecting the folder, opens the settings for that folder.
Only resource specific settings are applied at Folder level and window specific settings are not. Default settings editor on the left shows only those settings that can be applied at Folder level. If window specific settings exist in Folder settings, then they are shown dimmed with an info icon.
Refer to Configuration scopes to know about window and resource specific settings.
Multi-root debugging
When opening a multi-root workspace with multiple launch.json files, the Debug dropdown shows all configurations (with the originating folder in parentheses):
Multi-root Search
Thanks to a PR from Keegan Carruthers-Smith, search results in a multi-root workspace are now grouped by folder.
Windows 64 bit
Visual Studio Code 64-bit builds are now available on Windows for the Stable release! They come in the usual Setup Installer format as well as a ZIP archive. We will show a message box to guide you to install the 64-bit version on Windows. Below are the download links:
Note: If you are using the Setup Installer, you’ll need to uninstall the 32-bit version before you install the 64-bit build.
Note: All your settings and extensions will be preserved when you upgrade to the 64-bit version.
Proxy server authentication
Authenticated proxies should work seamlessly within VS Code with the addition of PR #22369.
The authentication methods supported are:
When using VS Code behind an authenticated HTTP proxy, the following authentication popup will appear:
Note that SOCKS5 proxy authentication support isn’t implemented yet; you can follow the issue in Chromium’s issue tracker.
You can learn more about proxy server support and how VS Code uses the Chromium network stack in the new Network Connections in VS Code topic.
New commands
Key | Command | Command id |
---|---|---|
⌘K D (Windows, Linux Ctrl+K D ) | Compare a dirty file with the version on disk | workbench.files.action.compareWithSaved |
Delete word left in terminal | workbench.action.terminal.deleteWordLeft | |
Delete word right in terminal | workbench.action.terminal.deleteWordRight |
New documentation
We update the https://code.visualstudio.com website at a different cadence than the product release, so you might have missed some of the recent additions.
Tutorials
We’ve created tutorials for React, Angular, and Node.js Deployment to Azure. These tutorials walk you through creating sample projects and using VS Code for smart code editing and debugging.
Thank You
Last but certainly not least, a big Thank You! to the following folks that helped to make VS Code even better:
Contributions to vscode :
These are the closed bugs and these are the closed feature requests for the 1.15 update.
Contributions to vscode-node-debug :
Contributions to vscode-chrome-debug :
Contributions to vscode-json-languageservice :
Contributions to vscode-css-languageservice :
Contributions to vscode-tslint :
Contributions to vscode-debugadapter-node :
Contributions to vscode-recipes :
Contributions to vscode-github-issues-prs :
Contributions to localization :
This is the fourth month since we opened community localization in Transifex. We now have more 300 members in the Transifex VS Code project team. We appreciate your contributions, either by providing new translations, voting on translations, or suggesting process improvements.
Here is a snapshot of top contributors for this release. For details about the project including the contributor name list, visit the project site at https://aka.ms/vscodeloc.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Скачать Visual Studio Code
Скачать мощный редактор кода
Бесплатно • Размер: 76.3 Мб • ОС: Windows • Стабильная версия
Бесплатно • Размер: 73.1 Мб • ОС: Windows • Стабильная версия
Бесплатно • Размер: 74.6 Мб • ОС: Windows • Стабильная версия
Бесплатно • Размер: 80 Мб • ОС: GNU/Linux • Стабильная версия
Visual Studio Code — один из самых популярных редакторов кода, ориентированный на разработчиков самого широкого профиля. Обзор Visual Studio Code
Скачать популярный текстовый редактор для программистов
Текстовый редактор для программистов
Скачать расширяемый текстовый редактор от GitHub
Мощный текстовый редактор для программистов и простых пользователей
Удобный и функциональный текстовый редактор
Code editing. Redefined.
Free. Built on open source. Runs everywhere.
By using VS Code, you agree to its license and privacy statement.
Meet IntelliSense.
Go beyond syntax highlighting and autocomplete with IntelliSense, which provides smart completions based on variable types, function definitions, and imported modules.
Print statement debugging is a thing of the past.
Debug code right from the editor. Launch or attach to your running apps and debug with break points, call stacks, and an interactive console.
Git commands built-in.
Working with Git and other SCM providers has never been easier. Review diffs, stage files, and make commits right from the editor. Push and pull from any hosted SCM service.
Extensible and customizable.
Want even more features? Install extensions to add new languages, themes, debuggers, and to connect to additional services. Extensions run in separate processes, ensuring they won’t slow down your editor. Learn more about extensions.
Deploy with confidence and ease
With Microsoft Azure you can deploy and host your React, Angular, Vue, Node, Python (and more!) sites, store and query relational and document based data, and scale with serverless computing, all with ease, all from within VS Code.
VS Code for
Want new features sooner?
Use vscode.dev for quick edits online!
GitHub, Azure Repos, and local files.
License and Privacy Terms
By downloading and using Visual Studio Code, you agree to the license terms and privacy statement. VS Code automatically sends telemetry data and crash dumps to help us improve the product. If you would prefer not to have this data sent please go see How to Disable Crash Reporting to learn how to disable it.
Downloads
Visual Studio 2022
Community
Powerful IDE, free for students, open-source contributors, and individuals
Professional
Enterprise
Scalable, end-to-end solution for teams of any size
Preview
Get early access to latest features not yet in the main release
Preview
Get early access to latest features not yet in the main release.
A standalone source code editor that runs on Windows, macOS, and Linux. The top pick for Java and web developers, with tons of extensions to support just about any programming language.
By using Visual Studio Code you agree to its license & privacy statement.
Still not sure which tool is best for you? We can help
Visual Studio Code for Windows
Lightweight yet powerful source code editor with tons of extensions for many languages and runtimes.
Hundreds of programming languages supported
Visual Studio Code for Mac
Hundreds of programming languages supported
Visual Studio for Mac
A complete array of development tools and features in native macOS experience for every stage of your software development.
February 2021 (version 1.54)
Update 1.54.1: The update addresses an issue with an extension dependency.
Update 1.54.2: The update addresses these issues.
Update 1.54.3: The update addresses this issue.
Welcome to the February 2021 release of Visual Studio Code. There are a number of updates in this version that we hope you will like, some of the key highlights include:
If you’d like to read these release notes online, go to Updates on code.visualstudio.com.
Join us live at the VS Code team’s livestream on Thursday, March 11 at 8am Pacific (4pm London) to see a demo of what’s new in this release, and ask us questions live.
Insiders: Want to try new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available.
Apple Silicon
We are happy to announce our first release of stable Apple Silicon builds this iteration. Users on Macs with M1 chips can now use VS Code without emulation with Rosetta, and will notice better performance and longer battery life when running VS Code. Thanks to the community for self-hosting with the Insiders build and reporting issues early in the iteration.
The default download of VS Code for macOS is now a Universal build that runs natively on all Macs. On the Downloads page, you can find more links to architecture-specific builds for Intel or Apple Silicon, which are smaller downloads compared to the Universal package.
Accessibility
Toolbars and tabs occupy one tab stop
All toolbars in the workbench now follow the standard navigation behavior, so the toolbar occupies only a single position in the tab order, and is navigable with the arrow keys. Once the focus is on the toolbar, arrow keys should be used to move focus to a specific item in the toolbar. As a result of this change, the workbench has far fewer tab stops, making it easier to navigate across all the parts.
For consistency, the same change was applied to the tabs area. Thus the whole tab area is only one tab stop, and keyboard navigation between tabs should be done with the left and right arrow keys.
Word navigation on Windows
We have improved how word navigation is done on Windows to align with what Screen Readers on Windows expect from an Electron-based application. Now, when using word navigation, each word will be properly read out by the Screen Reader.
Due to this change, we are deprecating the following commands. They will still work, but we might remove them in the future.
Non-Windows platforms already worked as expected, so we made no changes there.
Improved roles for views and buttons
Integrated Terminal
Retain terminal processes on window reload
Local terminal processes are now restored on window reload, such as when an extension install requires a reload. The terminal will be reconnected and the UI state of the terminals will be restored, including the active tab and split terminal relative dimensions.
This feature can be disabled by setting terminal.integrated.enablePersistentSessions to false.
Windows performance improvements
Thanks to the new terminal process layout, frequent pty data events from terminal processes should now process more quickly. This is expected to affect Windows more than other platforms due to the smaller events provided by conpty on Windows.
Automatically relaunch terminal requiring environment changes
Recently a new feature was rolled out that enabled extensions to influence the terminal’s environment. This is used by various language extensions and the built-in git extension to enable VS Code as a git auth provided to negate the need to sign in. Previously the UX for this was to present a subtle ⚠️ icon in the top-right corner to indicate that a terminal’s environment was stale. The indicator was subtle, since environment changes may or not be important.
Workbench
Emmet
The Wrap with Abbreviation and Wrap Individual Lines with Abbreviation commands have been merged into a single Wrap with Abbreviation command to reduce any confusion over which wrap command to use. Additionally, the Wrap with Abbreviation command now shows the preview whitespace properly.
The emmet.extensionsPath setting can now also take in an array of paths, rather than just a string. Therefore, when combined with Settings Sync, one can point to different snippet files depending on the machine they are on, without having to update the setting per machine.
Product Icon Themes
The first Product Icon Themes have become available in the Extension Marketplace. Thanks to the theme authors for the great work!
To select or find a theme, use the Preference: Product Icon Theme command from the command prompt or the Settings gear.
IntelliSense for context keys
VS Code uses when-clauses to enable and disable keybindings. Extensions also use when-clauses to control menu- and view-contributions. Authoring these when-clauses is now much simpler because the editor offers completions for them.
Theme: GitHub Light Theme, Font: FiraCode
Open Editors New Untitled File action
There is now a New Untitled File action in the Open Editors view title area.
Updated application menu settings
The window.menuBarVisibility setting for the application menu visibility has been updated to better reflect the options. Two primary changes have been made.
Second, the Show Menu Bar entry in the application menu bar now toggles between the classic and compact options. To hide it completely, you can update the setting, or use the context menu of the Activity Bar when in compact mode.
Theme: GitHub Light Theme
Webview caching improvements
We’ve improved caching for a local file inside a webview. If a webview reloads a file from disk, then we now use ETags to avoid reading the file again if it has not changed. This can eliminate data transfer, and improves response time, especially for remote workspaces.
This caching currently only applies when an existing webview reloads a resource. It does not apply to newly created webviews, even if that webview belongs to an extension that previously created a similar webview.
Changes to workspace search actions
We have modified the existing workbench.view.search to no longer place the selected text into the search input, but instead open the input. To create a new search using the selected text and respecting the search.mode setting, workbench.action.findInFiles should be used.
Modifier only keybindings
Updated list/tree UI
We have updated the list/tree styles to match native focus and selection indicators: focused elements will now be rendered with an outline color.
Breaking change
Theme publishers are advised to adopt this style as well simply by swapping the customization of the list.focusBackground color for the quickInput.list.focusBackground color. To see an example, check out this commit.
Table widget
We introduced a new table widget, built on top of the existing list widget, so we can render tabular data with the same performance as we can render list elements. For now, it is used in the Ports view for our Remote features.
Getting Started
Timeline view
You can now compare changes across Git history timeline entries, using the Select for Compare and Compare with Selected commands—similar to comparing files in the Explorer view. This feature lets you quickly see all the changes between any two commits in your Git file history.
Default sash hover border color
In the 1.52 release, we introduced the hover border color token for sashes ( sash.hoverBorder ), but did not set a default. We now show this color by default on all themes.
Debugging
Breakpoints view improvements
New inline action for removing breakpoints
We have added an inline action X to remove breakpoints in the Breakpoints view. This action should make it easier to remove breakpoints.
Help text support for exception filters
Recently we have added support for editing conditions on exception filters in the Breakpoints view.
In order to make these conditions more discoverable and their syntax self-explanatory, VS Code now shows a hover on the exception filter and a placeholder text in the condition text box.
Since the information for both is provided by the underlying debug extension, it can be much more specific (and thus helpful) than some generic message.
Since this new feature is based on additions to the Debug Adapter Protocol (see below), it requires an opt-in of debug extensions. In this release, only VS Code’s built-in JavaScript debugger supports the new feature.
New settings and other improvements
Collapse identical lines in the Debug Console
Control which editors to save before debugging
This setting is useful for PowerShell debugging since the PowerShell debugger supports debugging unsaved files.
Improved Enablement for Restart Frame action
With a new addition to the Debug Adapter Protocol debug extensions are now able to communicate to the VS Code UI whether the «Restart Frame» action is available on a selected stack frame. VS Code now disables the restart frame inline action in the Call Stack view for stack frames that cannot be restarted.
For example JS-Debug extension has adopted this and now async stack traces disable the restart frame action.
Languages
TypeScript 4.2
VS Code now ships with TypeScript 4.2.2. This major update includes many TypeScript language improvements, along with many improvements and bug fixes for JavaScript and TypeScript tooling.
You can read more about TypeScript 4.2 on the TypeScript blog.
Quick Fix to declare missing functions
The new Add missing function declaration Quick Fix stubs out missing functions. For example, if we have a call to a missing function add :
Using Add missing function declaration on add results in:
You can use this Quick Fix while writing code to quickly stub out a function based on a call signature.
To use this Quick Fix in JavaScript, you must enable type checking.
JS Doc templates now generate @returns
JS Doc templates now automatically include @returns if the function being annotated includes a return statement. For example, for the function getViz :
The generated JSDoc template is:
Deprecated DOM APIs are now marked
Deprecated DOM methods are now marked as deprecated in suggestions and in code:
Notebooks
Automatically reload notebooks
Notebooks now automatically reload when their file changes on disk and when they don’t have unsaved changes. This should make it much simpler to work with notebooks that are under version control.
Improved focus for large cells
When a large notebook cell is focused, you can now better tell which cell is focused when the top and bottom of the cells are out of view. We now show a border on the left and right side of the focused cell.
Hovers in CSS/LESS/SCSS and HTML
You can now fine-tune the content of hovers in HTML and CSS to:
Preview features
Extensible Markdown renderers for notebooks
This iteration, we explored making the Markdown renderer for notebook cells extensible. In the screenshot below, for example, we’ve extended VS Code’s Markdown renderer to support showing math formula in notebook cells:
In order to make our Markdown renderer extensible, we explored using Markdown It to render all notebook Markdown. We also explored moving the rendered Markdown into the backlayer webview of the notebook.
While we aren’t yet ready to open up an official API for this, we plan on continuing this exploration in March. You can also try out the new extensible Markdown renderers today with the undocumented notebook.experimental.useMarkdownRenderer: true setting.
Contributions to extensions
Brackets
Developers coming from the Brackets source code editor can keep using their same keyboard shortcuts in VS Code with the Brackets Keymap extension. There is also a Brackets Extension Pack, which bundles extensions for working with CSS and creating live previews.
GitHub Pull Requests and Issues
Work continues on the GitHub Pull Requests and Issues extension, which allows you to work on, create, and manage pull requests and issues.
To learn about all the new features and updates, you can see the full changelog for the 0.24.0 release of the extension.
Remote Development
Work continues on the Remote Development extensions, which allow you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
Feature highlights in 1.54 include:
You can learn about new extension features and bug fixes in the Remote Development release notes.
Extension authoring
Limits for editor title menu and «run» submenu
The space in the editor toolbar ( editor/title ) is limited. Therefore, we have
Also know that the run submenu is dynamic, will replace itself with its first child when that’s the only child.
Authentication Provider API
You can now register an authentication provider, which can be used by other extensions to perform authentication against a service.
New feedback channel for the Extension Marketplace
There’s a new public repository for issues related to the Extension Marketplace. If you have technical issues, want to give feedback, or have feature requests, please open an issue.
Updated codicons
We’ve added the following new icons to our codicon library:
We’ve also updated the following icons to be consistent:
Proposed extension APIs
Every milestone comes with new proposed APIs and extension authors can try them out. As always, we want your feedback. This is what you have to do to try out a proposed API:
You cannot publish an extension that uses a proposed API. There may be breaking changes in the next release and we never want to break existing extensions.
Icon contribution point
The icon contribution point allows extensions to define a new icon by ID, along with a default icon. That icon ID can then be used by the extension (or any other extensions that depend on the extension) at the places where ThemeIcon can be used: In Markdown strings (for example, «$(distro-ubuntu)» Ubuntu 20.04″ ) and at all places that take a ThemeIcon (for example, new ThemeIcon(«distro-ubuntu») ).
Product icon themes can redefine the icon (if they know about the icon ID).
For more information, see issue 114942 for details and to provide feedback.
Inline value provider API
Today the Show Inline Values feature of VS Code’s debugger is based on a generic implementation in VS Code core, and doesn’t provide customizability through settings or extensibility via extensions. As a consequence, it is not a perfect fit for all languages and sometimes shows incorrect values because it doesn’t understand the underlying source language. For this reason, we are working on an extension API that allows to replace the built-in implementation completely or to replace parts of the implementation with custom code.
In this milestone, we’ve made a first implementation of the proposed API available.
Here is the inline values provider API in a nutshell:
The following snippet (from Mock Debug) shows a minimal inline values provider for «markdown» files that uses a regular expression to locate «variables» and then instructs VS Code to find their values via the Variables view:
And now the inline values provider in action:
If you want to provide feedback for this proposed API, please add comments to this issue.
Testing
We continued to make progress on testing in VS Code. This month we focused on refining the base experience in VS Code and the extension APIs. We have also published some provisional documentation on testing, which will be fleshed out as the APIs continue to stabilize.
Language Server Protocol
A first proposal of a diagnostic pull model got implemented for the upcoming 3.17 release. The proposal is available in the next versions of the VS Code LSP libraries.
Debug Adapter Protocol
More help text properties for ExceptionBreakpointsFilter
With these attributes, clients can display additional information about exception breakpoints. The description property could be displayed in a hover and the conditionDescription could be used as a placeholder text for a text box where the condition can be edited.
Improved description for setExceptionBreakpoints request
We have improved the description of the setExceptionBreakpoints request by adding guidance for what an adapter should do if the user inputs an invalid exception breakpoint condition.
New canRestart property for stack frames
A new optional boolean property canRestart has been added to the stack frame. It indicated whether the stack frame can be restarted with the restart request. Based on this information a client can enable or disable a Restart Frame context menu action.
Engineering
Progress on Electron sandbox
This milestone we continued to make the VS Code window ready for enabling Electron’s sandbox and context isolation features.
New terminal process layout
Terminal processes are now spawned under a new «pty host» process, instead of the window process. This change is not only part of the Electron sandbox but should also improve stability and performance of the terminal.
Windows installers published to Windows Package Manager
Building VS Code using TypeScript 4.3
VS Code now is built using a nightly build of TypeScript 4.3. This lets us validate the TypeScript team’s latest work and also provide feedback on new changes.
The latest TypeScript version already helped us catch a few cases where we were missing awaits in conditionals.
Prevent yarn.lock changes
We now have CI that prevents PRs against yarn.lock files, in order to improve supply chain security.
Default branch: main
Documentation
VS Code and Python in the classroom
Read the case study of a Computer Science professor at Harvey Mudd College, who uses VS Code in his introductory CS classes with Python. Learn about the settings he recommends for his students, as well as helpful extensions and free self-paced Python and Data Science lessons.
Troubleshooting extensions blog post
Everybody loves installing and using VS Code extensions. However, when you have lots of extensions installed, sometimes the editor can start to act «funny» and it would be great to know if the behavior is caused by a specific extension. If you missed the earlier announcement of the extension bisect utility, you can read this «Resolving extension issues with bisect» blog post, which describes how you can quickly troubleshoot «bad» extensions and even help the extension author(s) with feedback.
Notable fixes
Thank you
Last but certainly not least, a big Thank You to the following people who contributed this month to VS Code:
Contributions to our issue tracking:
Contributions to vscode :
Contributions to language-server-protocol :
Contributions to vscode-languageserver-node :
Contributions to vscode-emmet-helper :
Contributions to vscode-html-languageservice :
Источники:
- http://soft.mydiv.net/win/download-Visual-Studio-Code.html
- http://biblsoft.ru/windows/developers/programming/425-visual-studio-code
- http://visualstudiocode1.ru/
- http://softportal.pro/visual-studio-code.html
- http://code.visualstudio.com/?ref=4tunelab
- http://www.techspot.com/downloads/7142-visual-studio-code.html
- http://code.visualstudio.com/?WT.mc_id=fsharp-github-dmitryso
- http://code.visualstudio.com/?WT.mc_id=vscoderelease-medium-buhollan
- http://code.visualstudio.com/?wt.mc_id=PyCon-github-taallard
- http://code.visualstudio.com/updates/v1_57
- http://code.visualstudio.com/?wt.mc_id=heroessvelte-github-jopapa
- http://code.visualstudio.com/?WT.mc_id=aspcoreiniciantes-github-gllemos
- http://code.visualstudio.com/?ref=denniscortes
- http://code.visualstudio.com/?page=14
- http://visualstudio.microsoft.com/downloads/?
- http://code.visualstudio.com/updates/v1_34
- http://visualstudio.microsoft.com/downloads/?sku=community
- http://code.visualstudio.com/?WT.mc_id=crudgolangfiber-github-gllemos
- http://code.visualstudio.com/?WT.mc_id=faceapinodejs-github-gllemos
- http://code.visualstudio.com/?WT.mc_id=14134-DEV-tuts-article25
- http://code.visualstudio.com/?WT.mc_id=personalblog-blog-emwalker
- http://visualstudio.microsoft.com/downloads/?rr=https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
- http://code.visualstudio.com/?wt.mc_id=heroesangular-github-jopapa
- http://code.visualstudio.com/?wt.mc_id=heroesangularserverless-github-jopapa
- http://code.visualstudio.com/updates/v1_33
- http://code.visualstudio.com/?WT.mc_id=loveisland-medium-amynic
- http://ktonasoft.ru/visual-studio-code/
- http://code.visualstudio.com/?wt.mc_id=ondotnet-devto-cephilli
- http://1progs.ru/visual-studio-code/
- http://github.com/Microsoft/vscode/
- http://visualstudio.microsoft.com/ru/downloads/?rr=https://www.google.com/
- http://code.visualstudio.com/updates/v1_45
- http://code.visualstudio.com/updates/v1_52
- http://code.visualstudio.com/?WT.mc_id=theurlist-github-cephilli
- http://code.visualstudio.com/?WT.mc_id=dockerzerotohero-github-gllemos
- http://code.visualstudio.com/?ref=zcognition.com
- http://code.visualstudio.com/?WT.mc_id=julyot-rover-dglover
- http://code.visualstudio.com/?q=wix&ref=shappify
- http://code.visualstudio.com/?from=msidevs.net
- http://visualstudio.microsoft.com/downloads/?branch=master
- http://code.visualstudio.com/updates/v1_41
- http://code.visualstudio.com/?q=Shopify
- http://code.visualstudio.com/?WT.mc_id=educator-blog-dmitryso
- http://code.visualstudio.com/updates/v1_35
- http://visualstudio.microsoft.com/downloads/?sku=community&clcid=0x409&telem=ga
- http://visualstudio.microsoft.com/downloads%20/
- http://code.visualstudio.com/?WT.mc_id=iotcentral-adafruitlearningsystemjabenn
- http://code.visualstudio.com/?v=1.0.19
- http://code.visualstudio.com/updates/v1_15
- http://code.visualstudio.com/?WT.mc_id=staticwebapps-personal-gllemos
- http://code.visualstudio.com/?WT.mc_id=iot-10976-dglover
- http://code.visualstudio.com/?WT.mc_id=16552-DEV-sitepoint-article88
- http://code.visualstudio.com/?WT.mc_id=twitch-social-cxa
- http://code.visualstudio.com/?WT.mc_id=pycon-blog-dglover
- http://www.slo.ru/download/get/visual_studio_code
- http://code.visualstudio.com/?WT.mc_id=devto-twitter-shboyer
- http://visualstudio.microsoft.com/downloads/?amp&&
- http://code.visualstudio.com/updates/v1_54