Trae对Deno或Bun提示不准,需检查运行时LSP配置:1.在设置中明确选择Deno/Bun环境或通过deno.jsonc/bunfig.toml触发识别;2.为Deno启用deno lsp服务并添加@deno-types注释;3.为Bun在tsconfig.json中配置"types": ["bun"]并安装@types/bun;4.禁用@types/node冲突。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 Trae 进行 AI 代码补全时,发现对 Deno 或 Bun 运行时的提示不准确、类型缺失或 API 无法识别,则可能是由于 Trae 对非 Node.js 运行时的标准库支持尚未完全对齐。以下是针对该问题的具体排查与适配方法:
一、检查 Trae 的运行时语言服务器配置
Trae 依赖底层语言服务器(如 TypeScript Server 或专用 LSP)提供类型推导与补全能力。Deno 和 Bun 均不直接复用 Node.js 的 @types/node 类型定义,而是各自维护独立的全局类型声明。因此,需确保 Trae 加载的是对应运行时的类型上下文。
1、打开 Trae 设置界面,定位到“Language Server”或“TypeScript / JS Settings”选项。
2、确认“Runtime Environment”下拉菜单中已明确选择 Deno 或 Bun,而非默认的 “Node.js” 或 “Auto-detect”。
3、若无显式选项,手动在项目根目录下创建 deno.json(Deno)或 bunfig.toml(Bun),以触发 Trae 的运行时自动识别逻辑。
二、启用 Deno 官方 LSP 支持
Deno 自 v1.30 起内置标准化的 Language Server Protocol 实现,Trae 可通过桥接方式调用其原生服务,从而获得完整 API 补全、权限提示及 import 自动解析能力。
1、确保系统已安装 Deno 运行时(v1.38+),并在终端执行 deno --version 验证版本。
2、在 Trae 设置中启用 “Use Deno LSP” 开关,并将 LSP 启动命令设为 deno lsp。
3、在项目任意 TypeScript 文件顶部添加注释 // deno-lint-ignore-file 或 // @deno-types="https://deno.land/x/deno@v1.38.0/types.d.ts",强制激活 Deno 类型上下文。
三、配置 Bun 的 TypeScript 类型桥接
Bun 当前未内置独立 LSP,但其运行时行为高度兼容 TypeScript 编译器,Trae 可通过修改 tsconfig.json 的 lib 和 types 字段,引导 TypeScript Server 加载 Bun 提供的全局声明。
1、在项目根目录确认存在 tsconfig.json,且其中包含 "lib": ["ES2022", "DOM", "WebWorker"]。
2、向 tsconfig.json 的 "compilerOptions" 中添加:"types": ["bun"]。
3、若仍无补全,手动安装 Bun 类型包:在终端执行 bun add -d @types/bun,并重启 Trae 的语言服务进程。
四、使用 deno.jsonc 或 bunfig.toml 显式声明运行时特性
Trae 会主动读取项目配置文件以推断可用全局变量与内置模块。Deno 使用 deno.jsonc 启用 unstable APIs 或自定义权限;Bun 使用 bunfig.toml 指定 target、jsx 等构建参数,二者均影响类型补全范围。
1、为 Deno 项目创建 deno.jsonc,内容至少包含:{"tasks": {}, "fmt": {}, "lint": {}},即使为空对象也能激活 Deno 模式。
2、为 Bun 项目创建 bunfig.toml,写入 [test] 或 [build] 区块,例如:[build]\n target = "browser"。
3、保存后,在 Trae 中右键点击任意 .ts 文件,选择 “Reload TypeScript Project” 强制刷新类型索引。
五、禁用冲突的 Node.js 类型插件
当项目同时存在 node_modules 和 Bun/Deno 运行时配置时,Trae 可能错误加载 @types/node,导致 fetch、WebSocket 等 Web API 类型被覆盖或报错。
1、检查工作区设置中是否启用了 "typescript.preferences.includePackageJsonAutoImports": "auto",如有则设为 "off"。
2、在 tsconfig.json 的 "compilerOptions" 中显式排除 Node.js 类型:"types": ["bun"] 或 "types": ["deno"],并移除 "node"。
3、删除 node_modules/@types/node 目录(若存在),避免 TypeScript Server 自动引入冲突声明。


















