Skip to content

Tabs API does not allow to identify internal tabs #158853

@McSodbrenner

Description

@McSodbrenner

Type: Bug

If you set a listener to vscode.window.tabGroups.onDidChangeTabs, you will only get an undefined for tab.input when switching to the "Settings" or the "Keyboard Shortcuts".

vscode.window.tabGroups.onDidChangeTabs((tabs) => {
    if (tabs.changed.length) {
        tabs.changed.forEach(tab => {
            console.log(tab.input);
        })
    }
});

Since the tab object does not contain any meaningful usable indication of what the user is actually looking at (except for the label, which is language dependent though), it is not possible to build a complete replacement for the "Open Editors" panel.
Here an internal uri object (with path: "vscode://settings") would be useful, so that one can open the tab via vscode.open as with all other tab items.

VS Code version: Code 1.70.2 (e4503b3, 2022-08-16T05:35:13.448Z)
OS version: Windows_NT x64 10.0.22000
Modes:
Remote OS version: Linux x64 5.10.16.3-microsoft-standard-WSL2

System Info
Item Value
CPUs Intel(R) Core(TM) i3-8130U CPU @ 2.20GHz (4 x 2208)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_renderer: enabled_on
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 7.91GB (0.49GB free)
Process Argv --crash-reporter-id f99464a5-8822-46d7-a621-d6395d9680b9 --crash-reporter-id f99464a5-8822-46d7-a621-d6395d9680b9
Screen Reader no
VM 0%
Item Value
Remote WSL: Ubuntu
OS Linux x64 5.10.16.3-microsoft-standard-WSL2
CPUs Intel(R) Core(TM) i3-8130U CPU @ 2.20GHz (4 x 2207)
Memory (System) 3.79GB (0.66GB free)
VM 0%

Metadata

Metadata

Assignees

Labels

apifeature-requestRequest for new features or functionalityworkbench-tabsVS Code editor tab issues

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions