One of my work colleagues was complaining about the activity bar wasting too much space, so this simply puts icons on the status bar that open the views of the activity bar. You can then hide the activity bar from the View menu...
The buttons are configurable, using
This extension also rebinds the main view selection keys. If you have modified the default key bindings, this may be an issue.
The panel views Terminal, Problems, Output and Debug Console can now also be moved to the activity bar. The extension supports these using the names "terminal", "problems", "output" and "debugConsole", again with default icons. These buttons will still work if the panel views are kept in the default location, but the views will not hide again if
The colour of the active and inactive buttons can also be specified using
If required, the position of the icons can be adjusted by changing the value of
Now that custom view containers are available, the configuration has been extended to support this. To add a button for a custom view, you'll need to find the name of the view's container. One way to find it is to inspect the package.json file of the extension that provides the view. Alternatively, go to Preferences -> Keyboard Shortcuts, then click the keybindings.json link near the top. If you then scroll to the bottom of the opened file, you should find commands for opening views, e.g.
Once you have the name of the view, choose an icon (see known issues below) from the list of codicons and add an entry to
By default, clicking a button again will toggle the sidebar so that it is not visible. If you want to disable this behaviour, set
Normally configuration in your workspace settings overwrites your user settings. If you want to have a base set of buttons in your user settings and then have additional buttons on a per workspace basis, set
One last option is
You can add spaces between buttons by including an empty object (
Buttons can also be configured to start tasks. Just use "task.task-label". For example, this:
will create a button with the tools icons which starts the "build" task when the button is clicked.
Buttons can also be configured to run arbitrary commands. Use "command.command-name". For example,
will create a button which reloads the window.
You can also add a button which opens the settings GUI using
Note: Buttons can all have optional tooltips and labels specified. Labels are added to the right of the icon.
Because there is no way to know when a view has been selected, the currently active view will not stay in sync if the normal activity bar is used.
If Find in Files is selected from the Edit Menu, again, the currently active view will become out of sync.
You can install the latest version of the extension via the Visual Studio Marketplace here.
Alternatively, open Visual Studio code, press
The source code is available on GitHub here.