The Visual Studio Code (VSCode) team has delivered a long-requested feature in its latest update, multiple floating editor windows, as well as clipboard support for the File Explorer, TypeScript 5.3 support and more.
The Microsoft-sponsored VSCode project uses the Electron project to wrap Chromium, in order to run the web-based Monaco editor as a desktop application. While it has become wildly popular, a long-standing annoyance is (or was) that it is a single window application, though it does support tabs and splits for working on multiple files. In order to open a document in a new window it was necessary to start another instance of the editor.
This is no longer true. Version 1.85, just released, supports floating editor windows, also known as lightweight or “aux windows”, allowing developers to drag an open tab outside the main window. It is also possible to float the VSCode terminal, by first using Move Terminal into Editor Area, and from there making it a separate window. This is a welcome feature, giving much more flexibility and better use of screen space.
There are some oddities though. If a floating window is closed, it does not close but rather reappears as a tab in the main window. There is also an option called “Copy into new window” in which case the floating windows duplicates a tab, and typing into one echoes the edits into the other. Another anomaly is that quitting and reopening VSCode when floating windows are open does not preserve the layout; all the aux windows become tabs instead. It seems that enabling floating windows was complex and there are bugs to squash, such as “Copied terminal breaks when moved back to main window.”
Other features in this release include the ability to paste files from the operating system into the VSCode File Explorer, the ability to specify auto update for selected extensions (rather than all or none), and sticky scroll in the terminal, this last meaning that a command sticks to the top of the terminal window, similar to how sticky scroll works in the editor, though not yet enabled by default.
TypeScript support is bumped to version 5.3, a significant update. There are also debugger improvements, with new support for visualizing V8 heap snapshots, where V8 is the JavaScript engine, and also the ability to debug Rust compiled to WebAssembly. Full release notes are here.
The VS Code release train trundles on therefore; even if the floating windows feature looks unpolished in this first iteration.