denoland / vscode_deno Goto Github PK
View Code? Open in Web Editor NEWVisual Studio Code plugin for Deno
Home Page: https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno
License: MIT License
Visual Studio Code plugin for Deno
Home Page: https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno
License: MIT License
are there any examples of other plugins that do this?
After installing vscode_deno, all of my node typescript files had errors like
import express from "express"; // cannot find module 'express'
Even though express was installed and in my node_modules folder. Uninstalling vscode_deno fixes the problem.
One of the problem with importing files at the moment is that it does not do it properly. For example here we can see that when I auto-import this file it will create:
import { cache } from "utils/cache";
However the actual path is ./utils/cache.ts
It is missing the ./
and the ending of .ts
Note: These were all working on Axetroys extension but after switching over this is have quite a few issues.
Thank you
As I understand it is only possible to disable Deno extension manually with "deno.enable": false
in vscode settings.json
. But I think it can be more comfortable if extension would automatically being disabled in projects that have package.json
file or node_modules
folder inside.
Considering it's possible to import .js(x) and .ts(x) files with deno out of the box, auto imports should respect the target file extension.
Extension version: 1.33.0
VSCode version: 1.45.1
I use direnv
to set PATH per project. Which means:
~$ which deno
deno not found
~$ cd deno-playground
direnv: loading .envrc
direnv: export ~PATH
~/deno-playground$ which deno
/home/user/.deno-1.0/bin/deno
I think a settings field like "deno.denoPath" should be introduced just like "python.pythonPath".
I'm experiencing the same issue as https://github.com/justjavac/vscode-deno/issues/78; starting a new issue here since this seems to be the location of new development.
Mac Mojave 10.14.6
VS Code 1.45.0
VS Code Deno Extension version 1.27.0
Deno 1.0.0
$ deno info
DENO_DIR location: "/Users/ME/.deno"
Remote modules cache: "/Users/ME/.deno/deps"
TypeScript compiler cache: "/Users/ME/.deno/gen"
$ deno eval 'console.log(JSON.stringify(Deno.version))'
{"deno":"1.0.0","v8":"8.4.300","typescript":"3.9.2"}
$ env | grep -i deno
DENO_INSTALL=/Users/ME/.deno
DENO_DIR=/Users/ME/.deno
$ which deno
/Users/ME/.deno/bin/deno
I use zsh as my main shell environment.
I tracked the error down to
vscode_deno/client/src/utils.ts
Line 64 in 9a684b5
execa
. From the execa README.
Unless the shell option is used, no shell interpreter (Bash, cmd.exe, etc.) is used, so shell features such as variables substitution (echo $PATH) are not allowed.
I export DENO_INSTALL
and DENO_DIR
in my .zshrc file and add it to the path. Perhaps execa
isn't finding Deno because it's not in the standard PATH locations?
Since the last version update of VS Code the extension causes the following error.
[Info - 08:09:30.553] Starting TS Server
[Info - 08:09:30.553] Using tsserver from: c:\Users\Dev\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib
[Info - 08:09:30.557] <syntax> Forking...
[Info - 08:09:30.567] <syntax> Starting...
[Info - 08:09:30.571] <semantic> Forking...
[Info - 08:09:30.580] <semantic> Starting...
[Error - 08:09:35.702] TSServer exited with code: 3221225477
After 5 retries it crashes and disables the TypeScript Language Service.
My tsconfig.json
is:
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"plugins": [
{
"name": "typescript-deno-plugin"
}
]
}
}
The settings in VS Code for the extension are the defaults.
I am using Windows 10, and this is the VS Code version:
Version: 1.45.1 (user setup)
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:27:35.169Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363
To experience this yourself, simply write the following:
import { encode as msgpackEncode, decode as msgpackDecode } from "https://cdn.pika.dev/messagepack@^1.1.10";
Because the JS attempts to import URLs that begin with a /, it interprets them relative to the harddrive than to the URL.
// NOTE: Don't directly import the browser-optimized URLs below! Import the current file/URL instead.
export * from '/-/[email protected]/dist=es2017/messagepack.js';
export {default} from '/-/[email protected]/dist=es2017/messagepack.js';
import '/-/@pika/[email protected]/dist=es2017/polyfill.js';
This plugin struggles with TS types received via X-TypeScript-Types
in response header, and will cause TypeScript language service to die if you import any package from pika.dev
TypeScript Version: 4.0.0-dev.20200516
Steps to reproduce crash
mod.ts
import * as pkg from 'https://cdn.pika.dev/react@^16.13.1'
console.log(pkg)
deno run ./mod.ts
TS Server Error Stack
RangeError: Maximum call stack size exceeded
at new URLSearchParams (internal/url.js:126:14)
at URL.onParseComplete (internal/url.js:236:26)
at parse (<anonymous>)
at new URL (internal/url.js:319:5)
at Function.create (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/hash_meta.js:78:43)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:19:43)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/universal_module_resolver.js:11:66)
at Object.resolve (/home/igor/.vscode/extensions/justjavac.vscode-deno-1.31.0/node_modules/typescript-deno-plugin/out/module_resolver/remote_module_resolver.js:40:84)
Hi!
I'm using vscode on windows10.
My project is located in the wsl2 directory.
when I use modules with URL, an error has occurred.
typescript server log is here.
Info 70 [21:46:3.354] [typescript-deno-plugin] baseUrl: file:///wsl$/Ubuntu-20.04/home/path/to/project/
Info 71 [21:46:3.354] [typescript-deno-plugin] module "https://deno.land/[email protected]/path/mod.ts" can not resolved
and relative path's error log is,
Info 75 [21:46:3.355] [typescript-deno-plugin] moduleName: ../util.ts
Info 76 [21:46:3.355] [typescript-deno-plugin] e: TypeError [ERR_INVALID_FILE_URL_PATH]: File URL path must be absolute
at getPathFromURLWin32 (internal/url.js:1310:13)
at Object.fileURLToPath (internal/url.js:1342:22)
at parseModuleName (C:\Users\xxx\.vscode\extensions\denoland.vscode-deno-1.24.0\node_modules\typescript-deno-plugin\out\index.js:331:30)
at ConfiguredProject.tsLsHost.resolveModuleNames (C:\Users\xxx\.vscode\extensions\denoland.vscode-deno-1.24.0\node_modules\typescript-deno-plugin\out\index.js:95:50)
at Object.compilerHost.resolveModuleNames (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:135192:52)
at resolveModuleNamesWorker (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:97713:127)
at resolveModuleNamesReusingOldState (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:97983:24)
at processImportedModules (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:99448:35)
at findSourceFile (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:99191:17)
at c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:99020:85
at getSourceFileFromReferenceWorker (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:98987:34)
at processSourceFile (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:99020:13)
at processRootFile (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:98843:13)
at c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:97809:60
at Object.forEach (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:167:30)
at Object.createProgram (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:97809:16)
at synchronizeHostData (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:135218:26)
at Object.getProgram (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:135310:13)
at ConfiguredProject.Project.updateGraphWorker (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:139786:53)
at ConfiguredProject.Project.updateGraph (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:139729:42)
at ConfiguredProject.updateGraph (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:140654:63)
at ProjectService.createLoadAndUpdateConfiguredProject (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:142246:25)
at ProjectService.assignProjectToOpenedScriptInfo (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:143101:44)
at c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:143396:107
at Object.mapDefined (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:562:30)
at ProjectService.applyChangesInOpenFiles (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:143396:48)
at Session.handlers.ts.createMapFromTemplate._a.<computed> (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:144260:46)
at c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:146003:88
at IOSession.Session.executeWithRequestId (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:145994:28)
at IOSession.Session.executeCommand (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:146003:33)
at IOSession.Session.onMessage (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:146027:35)
at Interface.<anonymous> (c:\tools\VSCode-win32-x64\resources\app\extensions\node_modules\typescript\lib\tsserver.js:147342:27)
at Interface.emit (events.js:203:13)
at Interface._onLine (readline.js:316:10)
at Interface._normalWrite (readline.js:461:12)
at Socket.ondata (readline.js:172:10)
at Socket.emit (events.js:203:13)
at addChunk (_stream_readable.js:295:12)
at readableAddChunk (_stream_readable.js:276:11)
at Socket.Readable.push (_stream_readable.js:210:10)
at Pipe.onStreamRead (internal/stream_base_commons.js:166:17)
Do you have any solutions?
I noticed if I hit F5 to run & debug it doesn't work. What's the status and upstream work to be done for this feature?
Here is the old travis.yml
sudo: false
language: node_js
env:
global:
- DENO_VERSION=v0.40.0
- YARN_VERSION=1.19.2
node_js:
- "12"
cache:
directories:
- "node_modules"
yarn: true
before_install:
- curl -L https://deno.land/x/install/install.sh | sh -s $DENO_VERSION
- export PATH="$HOME/.deno/bin:$PATH"
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version $YARN_VERSION
- export PATH="$HOME/.yarn/bin:$PATH"
install:
- yarn global add vsce
- yarn
script:
- yarn run check
- yarn compile
- vsce package
Hi @justjavac - thank you for your work on vscode-deno
!
I encountered a couple of issues related to executable scripts.
This is more of a suggestion for vscode-deno
(however, the 2nd point below is directly related to this and seems like an issue).
It might be a good addition to this extension if it can recognize executable scripts (especially .ts extension-less ones) as possible Deno scripts.
For example, let's say I have some Deno executable scripts (without a .ts
extension)
.
└── bin
├── setup
├── build
└── deploy
And the content of those scripts looks something like this:
#! /usr/bin/env deno run --allow-read --allow-write
import * as fs from "https://deno.land/std/fs/mod.ts";
import * as path from "https://deno.land/std/path/mod.ts";
// ...
Currently, when I open such files in VS Code, they show up as plaintext
.
If I have vscode-deno
installed, it would be nice if it automatically switches the file language to typescript
. This can be done by scanning the first line of the document - for example:
function setTextDocumentLanguageByFirstline(document: vscode.TextDocument) {
if (document.lineAt(0).text.match(/^\#!.*\bdeno\b/)) {
await vscode.languages.setTextDocumentLanguage(document, 'typescript');
}
}
vscode.workspace.textDocuments.forEach(setTextDocumentLanguageByFirstline);
vscode.workspace.onDidOpenTextDocument(setTextDocumentLanguageByFirstline);
Worth mentioning that VSCode already does something like this with Node (and a plenty of other languages)! If I create a file without an extension and the first line in the file is #! /usr/bin/env node
, VSCode automatically sets the language to javascript
.
Now, dealing with the same files above, when I try to manually change the language of a given script from plaintext
to typescript
, that does not seem to trigger the Deno Language Server/Service for those files.
It seems that Deno specific features are only available if the file has .ts
extension in its filename. Axetroy's implementation, on the other hand, works with extension-less filenames after changing the language manually from plaintext
to typescript
.
First of all, thank you for writing such a great plugin。When I wrote deno, it helped me a lot
。
But most of my projects are nodejs or pure front-end projects. When I use vscode to open these projects, I need to set the deno.enable property in the settings.json file. Otherwise, vscode will give a lot of warnings.
I feel a little annoyed. Because I don't want to create the settings.json file in some projects. If I forget to ignore the file in .gitignore, I may accidentally upload this file to the remote repository. This may confuse my partners.
Why not consider setting the default value of deno.enable to false?
I just wanted to pop by and say I enjoyed using this extension when working with deno!
The typescript language server plugin route is a smart idea
When I'm write
import { Application } from "https://deno.land/x/oak/mod.ts"
then save it, this will turn into a semicolon filled syntax:
import { Application } from "https://deno.land/x/oak/mod.ts";
I think some programmers don't like the existence of this semicolon, so it is better to have the semicolon following the style of the programmer, without changing the code to semicolon or non-semicolon.
this VS code extension has removed/disabled VS code built in IntelliSense for JS
ie. doc... no longer suggests document
querys.. no longer suggests querySelector .
I've installed this plugin, but when I try to write code, for example:
console.log(Deno.readDirSync("."));
vs code shows me an error:
Cannot find name 'Deno'.ts(2304)
I use built-in version of TypeScript. Do I need to download types somehow?
Not sure if this extension is at fault for this, but hopefully this can be improved in some way.
When using VS Code's "Go to definition" on a type that comes from the cache, the resulting file opened in VS Code does not have syntax highlighting.
Example
import { serve } from "https://deno.land/std/http/server.ts";
const body = "Hello World\n";
const s = serve({ port: 8000 });
for await (const req of s) {
req.respond({ body });
}
Right click > Go to Definition on serve
It correctly opens the file, but the file name does not end in ts
, which is why I am assuming its not highlighted.
The setting says:
Controls whether deno is enabled or not.
I'm assuming this is necessary so it doesn't clash with builtin TS/node support, it would be best to spell that out though.
At the moment we have:
The vscode_deno 1.24.0
official plugin that depends on, and is currently bundled with the 3rd party typescript-deno-plugin 1.29
typescript-deno-plugin v1.29.0
was released 19 days agov1.31.0
which was released 8 days ago. vscode_deno 1.24.0
still includes typescript-deno-plugin 1.29
, not the new one.There is no changelog for vscode_deno
https://github.com/denoland/vscode_deno/releases
And the VS Marketplace one does not make sense: https://marketplace.visualstudio.com/items/denoland.vscode-deno/changelog
Moved from https://github.com/justjavac/vscode-deno to https://github.com/denoland/vscode_deno in order to have an "official" Deno plugin. Thank you 迷渡!
It seems half the bug fixes are more relevant to the typescript-deno-plugin
, which is not official and is not where users are directed to for reporting issues. If they do get through to that repo, and get the bug fixed, then they don't get merged into the vscode_deno
extension right away. There is a random time-lapse that means all the error reports on the two different repos are out of sync.
I don't want to sound like I am complaining, and really appreciate the work @justjavac and others are doing, but something seems fundamentally wrong with the way this extension is setup and operates.
There should be one central place that people report bugs, and at least a few different people with the authority to accept the pull requests for the official Deno plugin as a whole, not split up. Having the extension split over two separate codebases, one official and the other 3rd party seems very complicated and unnecessary.
I spent a while this morning puzzling over why my JS was getting treated like it was TS even with "deno.enable": false
. When I turn off the extension then it works! I think this bug was fixed in typescript-deno-plugin v1.30.0
, 9 days ago #60, but I don't know as it is not yet merged into vscode_deno
I hope this issue has not been too confused, but I am very confused by the whole VS Code Deno extension situation.
THANKS again to everyone involved!
Node.js project still reports ts error after disable deno in .vscode/settings.json
"deno.enable": false
I have Prettier Single Quote enabled. When the plugin is installed, the prettier single quotes settings are overwritten to double quotes. That's fine when in a deno project. But when I went back to a node.js project, existing single quotes in the file gets converted to double quotes. Saw the Prettier Single Quote check in the settings was enabled but still double quotes are getting created. So I tried unchecking and checking it back making the Prettier single quote setting overwrite on the Deno plugin double quote setting and single quotes get set as expected.
So, if Deno plugin is disabling itself when in a node js project, it should also remove it's double quote setting so that user's Prettier settings get restored. When user gets back to a deno project, it can enable the double quotes.
Is there a away to set the root folder for the deno code? Currently it seems like it can only be limited to a workspace but my workspace contains the following:
workspace
|--client (Angular app)
|--server (deno app)
Enabling the plugin globally or for the workspace results in me geting all sorts of errors in my Angular project (bad imports without extensions).
Multiple workspaces in a single window is not yet a feature in vscode so I have to use multiple vscode windows.
Is there a way to avoid this?
the @deno_types directive don't work correctly in vscode type check. For example:
a.js
export const a = 100
a.d.ts
declare const a: boolean
export {a}
Variable a
should has type boolean
instead of number literal 100
in vscode type checker.
deno builtin type checker is correct when i run the program.
I've find out that even if Deno extension is disabled, my JS/TS code is still being formatted according to Deno rules. So, if there's a Node.js project which uses Prettier (and has required configuration), VSCode uses Deno extension to format all the code instead of Prettier. It is unexpected behavior for cases when Deno extension is explicitly disabled.
vscode extension for Deno has a new repository now 🎉, so we should start from scratch(0.x), and publish a usable version when Deno 1.0 is released.
deno cache
when importing a module that has not been cacheddeno fmt
as a formatter #10package.json
is detected in the root directory, display a prompt "disable Deno extension or not".(I've received a lot of feedback that this extension will break non Deno projects when it's enabled.) #7@deno_types
#21beyond 1.0
future
Following the tutorial in the docs:
const res = await fetch("https://jsonplaceholder.typicode.com/todos/1");
const body = new Uint8Array(await res.arrayBuffer());
await Deno.stdout.write(body);
I still get underline on the await:
'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.ts(1375)
And underline on the Deno
Cannot find name 'Deno'.ts(2304)
while if I run the file with deno, it obv runs. But vscode underlines are very irritating as well as it is not giving any type suggestions for Deno
object.
I installed the plugin Deno 1.32.0
by justjavac. I tried doing [command]+[p] and > Enable Deno
, which says deno is already enabled.
I tried to find any similar issue but seems it's not there while my issue is very basic regarding installation. I went through Readme but not able to solve the problem. Can you please help me what more I need to do to get it working?
It would be great if I could specify whether the plugin was enabled per directory.
My use-case is the following directory structure:
server/ <- deno sources for my server code
web/ <- the typescript here will be bundled using parcel and served by the server code
When the deno plugin is enabled, the server/ code autocompletes just fine but the web/ code breaks with errors like "cannot find name document".
I know that you can use the .vscode/settings.json to enable and disable the deno plugin, but as far as I'm aware that doesn't work in the case where I want to have both of these folders open and the extension to run depending on which path the file I'm editing is in.
Today, while working with some small TS files, I found this message popping up on my VS Code notification system. I don't know exactly why this happens, if it is a VS Code issue or a Deno extension issue.
The extension 'Deno' took a very long time to complete its last
operation and it has prevented other extensions from running.
Performance
vscode-deno
1.24.0
Windows_NT x64 10.0.18362
1.45.1
Hello,
I have been trying out Deno a bit, but I always have this same error in my .ts file.
The remote module "https://deno.land/std/async/delay.ts" has not been cached locally ts(10002)
But the file IS cached locally, it doesn't get downloaded again when I start the file, but it still always shows me this error. This is really annoying, and I can't seem to find a way to fix it.
I have installed latest Deno extenstion version from VSCode marketplace and everything is ok except the top-level await
statements. It seems that extension just does not recognize them:
Output of deno --version
command:
❯ deno --version
deno 1.0.0
v8 8.4.300
typescript 3.9.2
VSCode version:
❯ code --version
1.42.1
c47d83b293181d9be64f27ff093689e8e7aed054
x64
OS: macOS Mojave 10.14.6 18G2022 x86_6
I'm using a tsconfig.json to add "DOM" to the lib compilerOptions for typescript, and running deno bundle -c tsconfig.json whatever.ts
. I can't see any way to get the plugin to acknowledge the existing of the DOM lib though. Is this supported?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.