Microsoft and the Visual Studio Code (VS Code) team have rolled out version 1.67 of the Electron-based editor that has become the world’s favorite IDE – StackOverflow’s last survey reckoned it was used by 71.06% of respondents, more than double the usage of second-placed Visual Studio.
It has become a monster project and issues are opened every few minutes on GitHub.
Sometimes small changes make the biggest impact, and that may be the case with bracket pair colorization, a feature that was originally an extension but became part of VS Code’s core in August 2021 – with a claimed 10,000 times performance improvement.
In this latest release it is on by default, which means those developers who had not discovered it before may wonder how they managed without it.
Markdown editing is improved. Authors can create links to files by drag and drop from the Explorer or from a web browser while holding down shift, handy for documentation. Another new Markdown feature is find all references, which works for headers, links, file references, and URLs.
Related is the new ability to rename link destinations including headers, file links, and reference links, while automatically updating any links that target them. This makes updating a large document without breaking links much easier.
Perhaps the most strategic change in this release though is a preview feature, the ability to import and export settings profiles. This includes which extensions are installed as well as UI customizations such as which items are visible in the Activity Bar – the bar with icons for key functions like Explorer, Search and source control.
It does not yet include all settings but more comprehensive import and export is planned. Use cases include standardising settings for a development team, or providing students with a pre-configured setup.
It is already possible to have language-specific settings but combining with profiles would make this more powerful. Caution is required though since importing profiles overwrites existing settings.
Java coders benefit in this release from lazy variable resolution, a debugger feature which defers retrieval of values for what the team describes as “an expensive variable” until it is explicitly viewed.
Python support has also been updated. The official Python extension was getting too big so the team is breaking into separate extensions to improve performance.
A new extension now supports the Black Python code formatter which its authors describe as “uncompromising” because “you agree to cede control over minutiae of hand-formatting.”
There are also improvements to the Jupyter notebook support. The extension can now be used as a web extension with the browser version of VS Code, though with limited functionality, and many more features are planned for this, so it will work in environments such as Microsoft’s vscode.dev.