TMa
TMa

Reputation: 833

Vscode: error TS2307: Cannot find module 'vscode'

When compiling VSCode extension then typescript persistently complained

error TS2307: Cannot find module 'vscode'.

Installation npm install vscode or magic links never helped.

Strace provided:

stat("/home/work/mymodule/src/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/work/mymodule/node_modules/vscode", 0x7ffe73f2d200) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/work/mymodule/node_modules/vscode.ts", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode.tsx", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode.d.ts", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode", 0x7ffe73f2d230) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/@types", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/tma/work/qore/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/tma/work/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/tma/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/node_modules", 0x7ffe73f2d460)   = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/src/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/work/mymodule/node_modules/vscode", 0x7ffe73f2d200) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/work/mymodule/node_modules/vscode.js", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode.jsx", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode", 0x7ffe73f2d230) = -1 ENOENT (No such file or directory)

How to proceed?

Upvotes: 34

Views: 52042

Answers (7)

Korbinian Hutter
Korbinian Hutter

Reputation: 31

Make sure that you have an "@types/vscode" entry within the devDependencies in the package.json file of your extension, e.g.:

"devDependencies": {
        ...
        "@types/vscode": "^1.43.2",
        ...
}

Upvotes: 2

Amir Kabir
Amir Kabir

Reputation: 103

I suggest that you close and open VS Code

Upvotes: 5

Mauricio Gracia Gutierrez
Mauricio Gracia Gutierrez

Reputation: 10844

If you get this error when trying to create a webview for a vsCode extension, check that you are doing it under the client folder and no the server folder

Upvotes: 0

Mosh Feu
Mosh Feu

Reputation: 29249

The solution

Run npm install to fix the issue.

Why?

Because there is "post install" script (node ./node_modules/vscode/bin/install) which fetch a vscode.d.ts according to the engine you're using in your project.

Detected VS Code engine version: ^1.6.0 Found minimal version that qualifies engine range: 1.6.0 Fetching vscode.d.ts from: https://raw.githubusercontent.com/Microsoft/vscode/e52fb0bc87e6f5c8f144e172639891d8d8c9aa55/src/vs/vscode.d.ts vscode.d.ts successfully installed!

source

Upvotes: 39

Xianpeng Shen
Xianpeng Shen

Reputation: 21

In my case, the reason is: can't load a module with a long path on Windows. Relate issue link: https://github.com/nodejs/node/issues/1990

So, after I upgrade nodejs v14.x to v15.x, the issue was gone.

Upvotes: 0

Sverrisson
Sverrisson

Reputation: 18157

Update your Package.json "scripts" section to be:

"compile": "tsc -watch -p ./",

Upvotes: 0

TMa
TMa

Reputation: 833

The solution is a link pointing to vscode.d.ts from node_modules directory.

ln -s /home/work/mymodule/node_modules/vscode.d.ts /usr/share/code/resources/app/out/vs/vscode.d.ts

Upvotes: 1

Related Questions