Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extensions already installed on a Remote (ssh, wsl, devcontainer) suddenly disapeared while upgrading vscode to 1.76 #176275

Closed
jvillemure opened this issue Mar 6, 2023 · 3 comments
Assignees
Labels
*as-designed Described behavior is as designed user-profiles User profile management

Comments

@jvillemure
Copy link

Type: Bug

I use a non default profile settings for work (I used the feature since it was made available as an experimental setting). Since the upgrade to 1.76 I have experienced some unexpected behaviors when I use my work profile settings. One of those is that, in any remote setup, any extensions that were previously intalled on the remote, suddenly disapears from the extensions view and the IDE behaves accordingly as if the extension were not installed remotely. However, if I go in the ~/.vscode-server/extensions directory, I can see that all my remote extensions install folders are already there. This is the first time I experience this behavior, and seems to be specific to non default profile settings.

I did the same upgrade to 1.76 on my personal computer, using my default settings profile, and I did not experienced what I explained just above.

VS Code version: Code 1.76.0 (92da948, 2023-03-01T10:22:44.506Z)
OS version: Windows_NT x64 10.0.19045
Modes:
Sandboxed: No
Remote OS version: Linux x64 5.15.90.1-microsoft-standard-WSL2
Remote OS version: Linux x64 5.15.90.1-microsoft-standard-WSL2
Remote OS version: Linux x64 5.15.0-58-generic

System Info
Item Value
CPUs 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz (16 x 2496)
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
webgpu: disabled_off
Load (avg) undefined
Memory (System) 15.73GB (1.12GB free)
Process Argv --crash-reporter-id c5a1a827-bcc3-4406-8db9-b4ae3a1d12c9
Screen Reader no
VM 0%
Item Value
Remote Dev Container: milo-development-environment
OS Linux x64 5.15.90.1-microsoft-standard-WSL2
CPUs 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz (16 x 2495)
Memory (System) 7.62GB (5.23GB free)
VM 0%
Item Value
Remote WSL: Ubuntu
OS Linux x64 5.15.90.1-microsoft-standard-WSL2
CPUs 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz (16 x 2495)
Memory (System) 7.62GB (5.23GB free)
VM 0%
Item Value
Remote SSH: Aragorn2
OS Linux x64 5.15.0-58-generic
CPUs Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz (48 x 2099)
Memory (System) 125.77GB (24.94GB free)
VM 6%
Extensions (21)
Extension Author (truncated) Version
language-x86-64-assembly 13x 3.0.0
Bookmarks ale 13.3.1
language-gas-x86 bas 0.0.2
file-icons fil 1.0.29
codespaces Git 1.13.10
remotehub Git 0.52.0
vscode-drawio hed 1.6.6
better-shellscript-syntax jef 1.4.2
vscode-boost-jam mlo 0.0.2
jupyter-keymap ms- 1.1.0
remote-containers ms- 0.283.0
remote-ssh ms- 0.99.2023030315
remote-ssh-edit ms- 0.84.0
remote-wsl ms- 0.76.1
vscode-remote-extensionpack ms- 0.24.0
azure-repos ms- 0.28.0
remote-explorer ms- 0.3.2023021509
remote-repositories ms- 0.30.0
remote-server ms- 1.1.2023022709
conanlight Son 1.4.0
vscode-icons vsc 12.2.0

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyonecf:30548226
pyindex848:30662994
nodejswelcome1:30587005
3biah626:30602489
pyind779:30671433
89544117:30613380
pythonsymbol12:30671437
2i9eh265:30646982
showlangstatbar:30672706
vsccsb:30677849
funwalk2cf:30676044

@sandy081
Copy link
Member

sandy081 commented Mar 8, 2023

This is because of this feature - https://code.visualstudio.com/updates/v1_76#_profiles-in-remote-workspaces - We now also support in remote workspaces which means that your extensions on the remote are also scoped per profile. All current extensions are part of default profile and there are no remote extensions scoped to the non default profile.

@sandy081 sandy081 added the user-profiles User profile management label Mar 8, 2023
@sandy081 sandy081 closed this as completed Mar 8, 2023
@sandy081 sandy081 added the *as-designed Described behavior is as designed label Mar 8, 2023
@jvillemure
Copy link
Author

That seems like an anti feature, if I wanted per remote custom settings I could already do this with the remote settings.json.

When I use my work profile I would expect it to replace (most settings) from the user settings.json.

With new per remote profile settings feature, does it mean I would now need to copy my hole custom work settings profile to any and all remote I use? I use several remotes: SSH, WSL, devcontainers, and I create new remotes from time to time. I wouldn't be pleased to learn that I would now need to copy my custom work profile to all and any eventual remotes I use. Moreover, I would often open my settings file to change some defaults when I install extensions, or try new features when new vscode versions are released, or sometimes I just find out the some specific combinations of settings just better suit me (after trying them); if we now have independent settings profiles per remote, then keeping consistent user settings across a several number of remotes become unmanageable. For instance, if I change my preference about using "editor.insertSpaces" then I would previously change it in 2 places: my defaut settings profile and my work profile; that's ok for me and is reasonable. I don't think its reasonable to deduplicate settings anymore than the number of settings profiles. Especially, it is not uncommon these days to create new remotes (both at workplace and personal computer): new SSH targets, new WSL distros, and most especially creating devcontainers.
(Remark: On the other hand, I'd expect that setting profiles would usually stay constant in time: one for personal use and one for each workplace, in particular the more profile I use, the more efforts I have to deploy to keep my user preferences in sync, so I really aim to keep the number of profile I use to the lowest, that is two).

@sandy081
Copy link
Member

@jvillemure Only remote extensions are scoped per profiles and remote settings are not. Remote settings are applied across all profiles because they are remote machine settings.

@github-actions github-actions bot locked and limited conversation to collaborators Apr 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
*as-designed Described behavior is as designed user-profiles User profile management
Projects
None yet
Development

No branches or pull requests

2 participants