Microsoft MakeCode

Insert loop/conditional block

I have created a program in MakeCode. Turns out that I need to insert a loop belween two blocks. This is very, very difficult. My usual way of handling this is to switch to JavaScript, write it in JavaScript, and switch back to blocks mode. But how can I explain this to a 10-year-old? The problem is that if I try to insert a loop, instead of creating a loop block where I want it, with an empty body, it decides to subsume all the blocks to the end of my program as the loop body. This seems remarkably silly to me. But I cannot figure out how, using the blocks editor, to insert an empty loop block? Or, alternatively, how can I select three blocks and surround them with a conditional or a loop block? Remember, I need to be able to explain how to do this with a 10-year-old who has no concept of JavaScript, or “syntax”.
joe

Quick justification for current behavior (not thorough / full reasoning): the current behavior allows loops to ‘do something’ when they are used, where any other behavior requires the use of a loop to always be a multi step process. A simple case for using a loop often ends up being ‘I have done this thing, and now I want to do this thing again’. The current behavior works great in that case (and even other cases where you want to do part of the things over again, it makes it a bit easier as you only have to place it around the beginning of the things you want, and drag out the remainder).

Simplest approaches to getting the behavior you want would just be to drag the things out after they’ve come in, or to fill in the loop outside of the final destination and then drag that in:

drag out (note that dragging the first element contained in the loop drags the elements below it as well, so the action will always be the same no matter how many blocks end up in the loop):

or fill in the loop first, then drag into destination (maybe easier to explain; ‘before we put this loop with the rest of the code that is working, we should make it do something’):

While not “intuitively obvious” (placing a block should always just place the block, not absorb other blocks), at least it is a workaround I can explain to a 10-year-old.