必须安装 typescript-deno-plugin 插件:在 settings → plugins 的 marketplace 中搜索并安装该插件,安装后重启 webstorm;该插件已停止维护但兼容 webstorm 2024.3+ 和 deno 1.40+,不可用“deno support”等名称替代。

WebStorm 默认不支持 Deno,必须手动安装插件 + 配置路径 + 启用 TypeScript 插件才能获得完整开发体验。只装插件或只配路径都不行。
Deno 插件怎么装(不是“Deno Support”,而是 typescript-deno-plugin)
WebStorm 自带的 Deno 支持仅限运行时识别,类型检查和跳转定义依赖外部插件 typescript-deno-plugin。它不叫 “Deno Plugin” 或 “Deno Support”,搜不到就说明找错了。
- 打开 Settings/Preferences → Plugins,在 Marketplace 搜索
typescript-deno-plugin - 安装后必须重启 WebStorm,否则 IDE 不会加载它
- 注意:该插件已不再维护,但截至 2026 年仍兼容 WebStorm 2024.3+ 和 Deno 1.40+,不要试图找“新版替代品”
- 如果搜索不到,说明你用了旧版 WebStorm(com.github.justjavac.intellij-deno)
tsconfig.json 里 plugin 配置写错就会失效
typescript-deno-plugin 不会自动启用,必须显式声明在 tsconfig.json 中,且路径、字段名、JSON 格式全错不得。
- 项目根目录必须存在
tsconfig.json,内容至少包含:{"compilerOptions": {"plugins": [{"name": "typescript-deno-plugin", "importmap": "import_map.json"}]}} -
importmap字段值必须是相对路径字符串,不能是./import_map.json或绝对路径,也不能省略 - 如果
import_map.json不在根目录(比如放在config/import_map.json),这里就得写"importmap": "config/import_map.json" - 修改后必须执行 File → Reload project from disk,否则 WebStorm 仍按旧配置解析
为什么右键 Run 'xxx.ts' 总报 Permission denied
这不是系统权限问题,而是 WebStorm 默认用 Node.js 运行器去执行 Deno 文件——它根本没走 Deno 可执行文件。
- 右键文件 → Run ‘xxx.ts’ 失败后,立刻打开 Run → Edit Configurations…
- 点击左上角
+→ 选 Deno(不是 Node.js,也不是 JavaScript File) -
Script path填$FilePath$,Deno executable path必须指向你本地真实路径:
macOS/Linux:$HOME/.deno/bin/deno;Windows:%USERPROFILE%\.deno\bin\deno.exe -
Deno arguments至少加--allow-env --allow-net,别写--allow-all——否则权限提示失效,调试时反而更难定位问题
import_map.json 修改后类型提示断了怎么办
WebStorm 读取 import_map.json 是一次性缓存行为,改完文件不会自动重载,且格式非法会导致整个插件静默失败。
- 确保
import_map.json是合法 JSON(哪怕只是{}),不能有 trailing comma、注释、Unicode BOM - 改完后手动触发 File → Reload project from disk,或者关闭再重开项目
- 如果仍提示
Cannot resolve module,打开Help → Show Log in Explorer,搜deno-plugin看是否报初始化错误 - 常见陷阱:VS Code 里能用的
import_map.json,复制到 WebStorm 项目里可能因换行符或编码问题失效
最易被忽略的是:WebStorm 的 Deno 支持本质是“借壳运行”,它把 typescript-deno-plugin 当作 TS 语言服务插件来调用,而不是独立语言支持。所以 tsconfig.json、import_map.json、Deno 可执行路径三者必须严格对齐,缺一不可。











