I'm writing a vs code extension to create always visible buttons in the built-in views in the sidebar but I can't make some of them position at the top of the view container. There are also some views where I can only make them appear when the view is not collapsed and some where they won't appear at all!
A custom view in a custom view container works as expected, but I spend a lot time in the built-in containers for some activities.
Here are examples of each (see code snippet below) ...

"Extensions" on the Activity bar correctly shows my HelloWorld button on the "Enabled" and "Recommended" views.
How can I add buttons at the top of the container next to the "Clear Extensions Input" button?

In the "Debug" container I can add to the debug/toolbar, but the toolbar only appears when debugging.
How do I add to the 'Run' line at the top of the sidebar?
Why isn't HelloWorld button showing in the 'Variables' (and other) views - even when they are open so the built-in icons show?

A custom view in the Debug container only seems to show it's buttons when it's open.
How do I make it always visible?

Similarly, the "No Folder Opened" and custom views in the Explorer container only seems to show buttons when open & hovered. As soon as you do open a folder the HelloWorld button doesn't appear at all. "Opened Editors" never shows HelloWorld.
References
I've primarily been using these as reference...
- https://code.visualstudio.com/docs/getstarted/userinterface
- https://code.visualstudio.com/api/references/contribution-points
- https://code.visualstudio.com/api/extension-guides/tree-view
Test code & settings
I've added these settings to try and force actions to appear, but it doesn't seem to help when the treeview is collapsed:
"workbench.view.alwaysShowHeaderActions": true
"scm.alwaysShowActions": true
I've been testing using the basic HelloWorld as generated by yo code (accepting all defaults), and the replacing the "contributes" section with:
"contributes": {
"commands": [
{
"command": "hello1.helloWorld",
"title": "Hello World 1",
"icon": "resources/HelloWorld.svg"
},
{
"command": "hello1.helloWorld2",
"title": "Hello World 2",
"icon": "resources/HelloWorld2.svg"
}
],
"views": {
"debug": [
{
"id": "HelloWorldD",
"name": "HelloWorldD"
}
],
"explorer": [
{
"id": "HelloWorldE",
"name": "HelloWorldE"
}
]
},
"menus": {
"view/title": [
{
"command": "hello1.helloWorld",
"group": "navigation"
},
{
"command": "hello1.helloWorld2"
}
]
}
}
This is a public domain svg for testing if required.
I experimented with various other contribution points, but 'menus - view/title' seems the correct one for this use if I could figure out how it works.
Background:
I am trying to avoid use of the keyboard when I am not actively coding, so I want to have buttons in various places for the task at hand. I have various software and hardware to assist with this for common PC activities, but I rely on buttons in apps to do activities specific to that app.
Alternatives I've explored:
There is no 'main' toolbar in Code.
The status bar is too far away from the action - as is the editor/title toolbar.
Neither appears to relocatable, and anyway both of them are already overflowing from various in-house and tooling related buttons.
There doesn't seem to be a way to create a floating toolbar.
The built-in debug bar looked promising, but I couldn't figure out how to make it always appear, and it's weirdly constrained at the top two "lines" of the app when floating (where it has to block other UI elements).
I thought Code being a java/browser app there would be some way to navigate up the UI/tree and insert elements via code - but this is locked down.
I toyed with a webview to hold some buttons, but it seemed slow, looks clumsy and takes up a lot of screen space. I will look further at this if the sidebar can't show the buttons when I need them.
Monkey patching the exe to run arbitrary JS is a last resort because it's very hacky and will be hard to get authorised in our environment (and this isn't the 90s!). I'm not even sure js could add extra buttons to the workbench?
Any other ideas I can try?