VS Code中discord.js项目除index.js外无代码自动补全如何解决
问题原因及排查方向
- 项目缺少正确的jsconfig.json/tsconfig.json配置
VS Code的智能提示依赖配置文件识别项目作用域,入口文件默认会被识别为项目根文件,其他JS文件如果没有被纳入配置的include范围,就无法自动加载discord.js的类型声明文件。你可以在项目根目录新建jsconfig.json,加入以下内容:{ "compilerOptions": { "target": "ESNext", "module": "CommonJS" }, "include": ["**/*.js"], "exclude": ["node_modules"] } - 非入口文件的discord相关对象缺少类型标注
如果你的其他文件里的Client、Message这类对象是从入口文件传参进来的,没有显式标注类型的话VS Code无法识别对应类型,你可以用JSDoc手动标注类型,示例:/** * @param {import('discord.js').Client} client * @param {import('discord.js').Message} message */ function handleMessage(client, message) { // 这里输入client.就会有正确的智能提示 } - VS Code IntelliSense缓存损坏
按下Ctrl+Shift+P(Mac为Cmd+Shift+P)调出命令面板,执行「开发者:重新加载窗口」或者「TypeScript:重新加载TS服务器」即可修复缓存问题。 - 模块导入写法不匹配
如果你用的是ES模块(package.json里设置了"type": "module"),其他文件里用了CommonJS的require()写法导入discord.js,或者反过来,也会导致类型识别失败,统一导入写法即可。
效果参考
- otherfile.js异常效果:

- index.js正常效果:

内容的提问来源于stack exchange,提问作者Sobaku
相关产品推荐
相关产品推荐

