I wonder if it's seeing the second equals (in the =>) as another equal sign and the parens are empty so it just backs up to repeat sayHi.
If you remove the =>, does it still repeat? (obviously you need the =>, but you could also phrase it as a function() instead. Which would be annoying.
There is an addon called
$1 which claims to improve intellisense and such. I have not used it.
I am sighted but I often have nvda active while testing my projects, and it just babbles away while I code. So I have some sense of how it works with vscode, but I never actually *use* it.
Good Luck.