VS Code Version
Version: 1.124.2 (user setup)
Commit: 6928394f91b684055b873eecb8bc281365131f1c
Date: 2026-06-12T00:12:36Z
Electron: 42.2.0
ElectronBuildId: 14159160
Chromium: 148.0.7778.97
Node.js: 24.15.0
V8: 14.8.178.14-electron.0
OS: Windows_NT x64 10.0.26200
Fresh install of VS Code with all default settings. No extensions installed, no custom configuration applied.
Also reproduced on VS Code for the Web (vscode.dev) with no extensions or custom configuration.
Reproducible Example
function bar() {
return "bar";
}
var a = typeof a < "u";
function foo() {
return "foo";
}
Steps to Reproduce
- Install VS Code with all default settings (no extensions, no custom configuration).
- Create a new
.js file.
- Paste the code above.
- Run:
Developer: Inspect Editor Tokens and Scopes
- Inspect the first
function keyword (bar declaration).
- Inspect the second
function keyword (foo declaration).
Actual Result
The first function declaration is tokenized correctly:
storage.type.function.js
meta.function.js
source.js
The second function declaration is tokenized incorrectly:
entity.name.type.js
meta.type.parameters.js
meta.var.expr.js
source.js
Syntax highlighting becomes incorrect for all code following:
Expected Result
The second function declaration should receive the same scopes as the first:
storage.type.function.js
meta.function.js
source.js
No tokenizer state should leak past the end of the variable declaration.
Additional Investigation
Replacing:
with:

immediately fixes the issue. The second `function` is then correctly scoped as:
Notes
- Reproduced on a fresh VS Code install with all default settings and no extensions.
- Reproduced across all built-in themes; the issue is not theme-specific.
- The JavaScript is syntactically valid.
VS Code Version
Fresh install of VS Code with all default settings. No extensions installed, no custom configuration applied.
Also reproduced on VS Code for the Web (vscode.dev) with no extensions or custom configuration.
Reproducible Example
Steps to Reproduce
.jsfile.functionkeyword (bardeclaration).functionkeyword (foodeclaration).Actual Result
The first function declaration is tokenized correctly:
The second function declaration is tokenized incorrectly:
Syntax highlighting becomes incorrect for all code following:
Expected Result
The second function declaration should receive the same scopes as the first:
No tokenizer state should leak past the end of the variable declaration.
Additional Investigation
Replacing:
with:
Notes