> VSCode does support that. It's up to language extension authors to implement it though because obviously only they know which bit of text is in which language.
Wrong, proper tooling can infer that intelligently, or by having the user annotate it with a comment (e.g. #language=bash).
> I don't think SQL queries in code is a very big use case […]
You seem to have very little exposure to mature codebases, then. Embedded SQL without an ORM is widespread, still. You'll also find plenty of advocates on this very forum.
> […] and even there, any that are large enough to need syntax highlighting are probably better off in a separate file.
That isn't up to the tool author to decide.
> The biggest use case of multi-language files I've seen is Vue single file components, […]
…and HTML files, YAML config for CI pipelines, database migration scripts, DevOps configuration files, Postgres extensions, …
> but in practice they turned out to be a terrible idea precisely because of tooling issues like this.
> The Vue ecosystem is very well and alive; also, proper tooling is very capable of solving issues like this.