Microsoft/vscode

typescript.tsdk not resolved correctly when it starts with the same name as the parent directory

開放

#272,761 建立於 2025年10月22日

 (1 則留言) (0 個反應) (1 位負責人)TypeScript (39,847 個分叉)batch import
AndroidBookmarks and TracksGood first issueTranslationsbughelp wantediOStypescript

倉庫指標

星標
 (184,936 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Does this issue occur when all extensions are disabled?: No

  • VS Code Version: 1.105.1
  • OS Version: Windows 11

Steps to Reproduce:

  1. Create a directory called x and open it in VS Code
  2. Create a .vscode/settings.json with "typescript.tsdk": "x/.yarn/sdks/typescript/lib"
  3. Press ctrl+shift+p, choose "Select TypeScript Version", then Pick "Use Workspace Version"
  4. Note that the error message says

The path c:\path\to\x.yarn\sdks\typescript\lib\tsserver.js doesn't point to a valid tsserver install. Falling back to bundled TypeScript version.

when it should should be c:\path\to\x\x\.yarn\sdks\typescript\lib\tsserver.js

It's because of https://github.com/microsoft/vscode/blob/81a9252210bc64a201449a75995c708aa7a5db96/extensions/typescript-language-features/src/utils/relativePathResolver.ts#L11-L15

Originally introduced in https://github.com/microsoft/vscode/commit/733e208be4cfa85e5a1b2e2ea415843f0a9a7b6d

Workaround: "typescript.tsdk": ".//x/.yarn/sdks/typescript/lib", note the double slash at the start.

I could submit a PR that deletes that code to solve it, but I don't understand what it's there for in the first place.

CC @mjbvz

貢獻者指南