Repository: vscode
Issue: Sidebar defaultWidth, View-Specific Sidebar widths, & View-Specific Sidebar defaultWidths
Labels: feature-request,layout

<!-- ⚠️⚠️ Do Not Delete This! feature_request_template ⚠️⚠️ -->
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
<!-- Please search existing issues to avoid creating duplicates. -->

<!-- Describe the feature you'd like. -->
## Summary
It'd be awesome if each Activity Bar View(ie. "File Explorer", "Search", "Source Control", "Extensions")'s Sidebar has its own unique width, that can be adjusted:
1. manually (via the sash)
2. using defaults in the User/Workspace settings
3. or both

## Reasoning
When switching between the different Views in the Activity Bar, there are different Sidebar widths that are more conducive to productively using each View (a value, which, will vary per user's preferences and/or per workspace's details). 
For example, personally for my workspace, the "Source Control" View needs more space than the "File Explorer" View does. So, when I switch between the two, I have to adjust the Sidebar width manually (via the sash) every time if I want to maximize screen space with the "File Explorer" View or efficiently use the wider "Source Control" View.

## Current Behavior
- The Sidebar default width cannot be adjusted in User/Workspace settings.
- The Sidebar width can be adjusted manually (via the sash), but it is not preserved on close/reopen of VSCode and is the same regardless of which View is selected.

## Desired Behavior
- The Sidebar default width can be configured in User & Workspace settings.
- When switching between Views in the Activity Bar, each View's Sidebar can have its own unique width.
- Manual changes to each View's Sidebar width (via the sash) can be left unpreserved, preserved in local storage temporarily, or preserved permanently in User/Workspace settings.
- Each View's Sidebar's default width can be configured in User or Workspace settings.
- Views that are created by 3rd party extensions can have their Sidebars be configured the same way.

### Potential (example) Settings
#### General
- `"workbench.sidebar.defaultWidth" = 400`
[default: {whateverVSCodeCurrentlyUses}]
(the default width of every View's Sidebar that does not have a custom value set to it)
- `"workbench.sidebar.useViewSpecificSidebarWidths" = true`
[default: false]
(make each View's Sidebar have its own unique width)
- `"workbench.sidebar.autoAssignViewDefaultWidths" = true`
[default: false]
(assign the defaultWidth setting of a View every time there is a manual change via the sash to a View's Sidebar width)
(requires `workbench.sidebar.useViewSpecificSidebarWidths` = `true`)
#### View-Specific Sidebar Default Widths
(require `workbench.sidebar.useViewSpecificSidebarWidths` = `true`)
- `"workbench.sidebar.explorer.defaultWidth" = 500`
[default: `workbench.sidebar.defaultWidth`]
(the default width of the "File Explorer" View's Sidebar)
- `"workbench.sidebar.scm.defaultWidth" = 600`
[default: `workbench.sidebar.defaultWidth`]
(the default width of the "Source Control" View's Sidebar)
- `"workbench.sidebar.search.defaultWidth" = 900`
[default: `workbench.sidebar.defaultWidth`]
(the default width of the "Search" View's Sidebar)
- `"workbench.sidebar.extensions.defaultWidth" = 550`
[default: `workbench.sidebar.defaultWidth`]
(the default width of the "Extensions" View's Sidebar)
- `"workbench.sidebar.gitlens.defaultWidth" = 870`
[default: `workbench.sidebar.defaultWidth`]
(the default width of the "GitLens" View's Sidebar)
- `"workbench.sidebar.{anyActivityBarView}.defaultWidth" = 700`
[default: `workbench.sidebar.defaultWidth`]
(the default width of the "{anyActivityBarView}" View's Sidebar)