Syntax coloring has always been frustratingly bad in VSCode, because it uses TextMate grammars. Tree-Sitter is a new incremental parser has great syntax coloring implementations for many languages, including Rust. This weekend I put together a VSCode extension that adds Tree-Sitter support for several languages that VSCode has trouble with, including Rust. Tree-sitter coloring is on the right:
You can install it from the VSCode extension marketplace.