Skip to content

Relative path does not in Typescript/Javascript cells in vscode Notebooks. #196172

@mmis1000

Description

@mmis1000

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

  • VS Code Version: 1.83.1
  • OS Version: windows 10

Steps to Reproduce:

  1. install https://marketplace.visualstudio.com/items?itemName=donjayamanne.typescript-notebook or https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter-renderers
  2. open a workspace
  3. create typescript file 'a.ts' with some exports in the workspace, for example export const a = 1
  4. create a notebook with one of the extensions and save it next to the typescript file.
  5. add a cell with language type 'typescript' or 'javascript'.
  6. import the exported symbol from step 3, for example: import {a} from './a.ts'
  7. right click on file name and click go to definition

Expected:

  1. The symbol imported normally.
  2. go to definition lead you to the file next to it

Actually:

  1. The import has a red underline with TS(2307) Cannot find module
  2. go to definition lead you to a error page that has a nonsense path like this
    圖片

Note:

It seems this is caused by the way typescript language extension handles virtual paths.
The typescript language extension put all virtual path under ^/{protocol}/{authority}/{file-path}#{cell-id}
Which end up being treated as {workspace root}/^/{protocol}/{authority}/{file-path}#{cell-id} by the language server
And thus broke all relative paths.

I made a experiment about appending the cell id and authority to file name instead, and it seems fix this issue.

mmis1000@bb9910b

Related issue: DonJayamanne/typescript-notebook#79

Metadata

Metadata

Assignees

Labels

bugIssue identified by VS Code Team member as probable bughelp wantedIssues identified as good community contribution opportunitiesnotebook

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions