vscode
vscode copied to clipboard
Remove workspace specific views
Workspace specific views are so confusing that currently toggling the visibility of these views are same as for other views. We can either introduce UI gesture mentioning that toggle the view for this workspace or change these views as other views. Currently we have following workspace specific views:
https://github.com/microsoft/vscode/blob/edc585edf6ec34d121196a3eda229c1c0fed676e/src/vs/workbench/common/views.ts#L289
- [x] SCM views @lszomoru
- [x] Test Explorer View @connor4312
- [x] Tunnel View @alexr00
- [ ] Remote Container Views @alexr00
Can you please validate your views and let me know if these views need to be workspace scoped or not. If there is no need for workspace scope then I would like to remove this property.
@connor4312 I do not see a reason why Test Explorer has to be a workspace specific view and it is expected that if I hide this view, the visibility shall be stored across workspaces just like other views. So, I would go ahead and remove this as workspace view.
Discussed this a few weeks ago. Remote Explorer views and Ports view should be fine to make non-workspace.
Actually, looking further, Remote Explorer is intentionally workspace to prevent https://github.com/microsoft/vscode/issues/112200
I will still remove workspace
from the Ports view, but it is needed for views in Remote Explorer.
but it is needed for views in Remote Explorer.
@alexr00 May I know the exact purpose in the remote explorer?
Yes, it fixes https://github.com/microsoft/vscode/issues/112200. Without workspace specific views, you can end up with incorrect Remote Explorer views showing when you have multiple windows open.
@alexr00 But I am under the impression that visibility of the remote views is controlled by the remote viewlet. If so, I am wondering how does the visibility state matters. To summarise, the question is how does the remote viewlet depends on the visibility state of the views?
@sandy081 if I recall correctly it is because the view visibility state is synced across windows. Example:
- Open window 1 and connect to a WSL remote.
- Remote explorer in window 1 shows only WSL related views in the remote explorer.
- Open window 2 and open the remote explorer. Use the remote explorer drop down to pick SSH. Window 2 now shows SSH views in the remote explorer.
- If the remote explorer doesn't use workspace specific views, then the SSH view visibility state gets synced across windows.
- Go back to window 1. It will now, incorrectly, show SSH views in the remote explorer.
We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!