Yeah, agree its a bit of a pain,
Did a bit more experimenting and there's actually a somewhat illogical consistency to it - so the funny thing is that when the IDE can't properly interpret your code, i.e. a missing " somewhere or a random inserted character, then it allows tabbing because it can't figure out what intellisense item to insert.
So.. if you want to use tab to indent/outdent, insert a random character on a new line at the top of your code, like an 'a', then you can use tab on all of the code below it, then just remove the character after you're done 🤔
Cheers,
Sancho