This has come up a couple times before:
#13072
#31290
And has been discussed in the language server protocol repo:
microsoft/language-server-protocol#274
When implementing a language server using the language server protocol, it's common to complete parens and place the cursor between them, for example: println($0). However, this creates a problem: the ( in the snippet doesn't trigger signature help, even though ( is a signature-help trigger-character.
As a workaround, you can provide editor.action.triggerParameterHints as the completion-item command, as discussed in #31290. But this is not a great solution, because editor.action.triggerParameterHints isn't part of the language-server-protocol.
The proper solution would be for VSCode to treat signature-help trigger-characters the same, whether they are being typed by the user, or being inserted as part of a snippet.