Agreed; lots of useful suggestion here. Many of them are just 'tidying up' and consistency in GUI controls, but they're the sort of thing that makes workflow so much easier.
Given how often you do a "print" block followed by a "text & text" block (eg print "blah=" <variable>), and given that print is almost always used for this sort of debugging, some kind of shorthand would save a ton of time
It's not ideal, but a solution that I am using is to having AutoIT automate some of the features that require click-and-dragging. The example of the debug printing is the one I use most. I have placed the [Print anything], [text & text] and [anything as text] blocks in the Favorites palette, and I have a hotkey assigned that drags them into a blank space on the code-block canvas. The script literally replicates the mouse and button actions that I would carry out to drag the three blocks into place in a blank area of the 'coding canvas'. I then just have to drag the created block structure into place in my code. My AutoIT script looks like this:
Func DebugPrintTextAsAnything()
MouseClick("left",1669,993, ) ;Select favorites palette
MouseClickDrag("left",1500,245,1000,800,0) ;Drag [Print anything] block
MouseClickDrag("left",1500,270,1010,800,0) ;Drag [text & text] block
MouseClickDrag("Left",1550,295,1118,800,0) ;Drag [anything as text] block
MouseMove(985,806) ;Position mouse ready to drag new blocks
EndFunc
As long as you are looking at a screen where the blocks can be added, it works perfectly. Naturally, if you use this script, you'll need to adjust the x,y locations for the mouse / block coordinates. The whole script should only take a few minutes to put together, including adding the hotkey. When the script is run with the hotkey, it takes fewer than 2 seconds to complete.
For clarity, the resulting blocks appear as shown in the attached screenshot.