microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
158.92k stars 27.79k forks source link

scm.workingSets.enabled steals focus from integrated terminal #212048

Open aslatter opened 1 week ago

aslatter commented 1 week ago

Type: Bug

I changed a test-projects user-settings to:

{
    "scm.workingSets.enabled": true,
    "scm.workingSets.default": "empty"
}

And then opened the integrated terminal.

When I ran the command:

git switch -c tmp

I expected input-focus to remain in the integrated terminal. Instead, focus was removed (I can't tell where focus went, though).

If I then click into the integrated terminal and run:

git switch -

Focus is again removed from the integrated console. This time it lands into the editor window I had open in the previous branch.

When I'm performing branch-switch operations in the terminal I frequently execute additional scm-operations (like creating and pushing a commit).

VS Code version: Code 1.89.0 (b58957e67ee1e712cebf466b995adf4c5307b2bd, 2024-05-01T02:08:25.066Z) OS version: Linux x64 6.8.7-arch1-1 Modes:

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz (8 x 3448)| |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_graphite: disabled_off
video_decode: enabled
video_encode: disabled_software
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: disabled_off| |Load (avg)|2, 2, 1| |Memory (System)|7.41GB (3.00GB free)| |Process Argv|--unity-launch --crash-reporter-id e4ee9f37-a035-4594-8d86-b34257ba10c5| |Screen Reader|no| |VM|0%| |DESKTOP_SESSION|gnome| |XDG_CURRENT_DESKTOP|GNOME| |XDG_SESSION_DESKTOP|gnome| |XDG_SESSION_TYPE|wayland|
Extensions (8) Extension|Author (truncated)|Version ---|---|--- prettier-vscode|esb|10.4.0 go|gol|0.41.4 terraform|has|2.30.1 rainbow-csv|mec|3.11.0 csharp|ms-|2.23.15 vscode-dotnet-runtime|ms-|2.0.3 rust-analyzer|rus|0.3.1940 code-spell-checker|str|3.0.1
A/B Experiments ``` vsliv368:30146709 vspor879:30202332 vspor708:30202333 vspor363:30204092 vscoreces:30445986 vscod805:30301674 binariesv615:30325510 vsaa593:30376534 py29gd2263:31024239 c4g48928:30535728 azure-dev_surveyone:30548225 962ge761:30959799 pythongtdpath:30769146 welcomedialog:30910333 pythonidxpt:30866567 pythonnoceb:30805159 asynctok:30898717 pythontestfixt:30902429 pythonregdiag2:30936856 pyreplss1:30897532 pythonmypyd1:30879173 pythoncet0:30885854 2e7ec940:31000449 pythontbext0:30879054 accentitlementsc:30995553 dsvsc016:30899300 dsvsc017:30899301 dsvsc018:30899302 cppperfnew:31000557 ccp2r3:30993541 dsvsc020:30976470 pythonait:31006305 dsvsc021:30996838 jg8ic977:31013176 pythoncenvpt:31022790 dwnewjupytercf:31035177 ```
aslatter commented 1 week ago

I would like to add that I appreciate the thoughtfulness of the scm.workingSets feature in that it works even if I prefer working with my scm system from the terminal.

aslatter commented 1 week ago

I tried the workflow again with all extensions temporarily disabled and got the same result (focus is removed from the integrated terminal when switching branches).

bduffany commented 1 week ago

I am affected by this behavior as well. Here is a screen recording - while I am typing ????... the focus suddenly and unexpectedly shifts to the editor.

https://github.com/microsoft/vscode/assets/2414826/7a0d0653-b9e5-44c7-a3d2-24167ccf10ad