VSCode代码提示失效求助:MongoDB相关对象无补全
VSCode MongoDB代码提示失效问题
问题场景
在MongoDB项目中,我导出了mongoConnect和getDb方法,代码如下:
const mongodb = require("mongodb"); const MongoClient = mongodb.MongoClient; let _db; const mongoConnect = (callback) => { MongoClient.connect("mongodb://0.0.0.0:27017") .then((client) => { console.log("Connected!"); _db = client.db("shop"); // callback(); }) .catch((err) => { console.log(err); throw err; }); }; const getDb = () => { if (_db) { return _db; } throw "No database found!"; }; exports.mongoConnect = mongoConnect; exports.getDb = getDb;
在该文件内,_db变量赋值后调用方法时能正常显示所有属性提示,但在其他文件中通过const db = getDb();获取数据库对象后,无法显示该变量的属性提示,不过代码可正常运行。
我的VSCode配置
{ "editor.suggestSelection": "recentlyUsed", "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", "editor.defaultFormatter": "esbenp.prettier-vscode", "workbench.colorCustomizations": {}, "liveServer.settings.donotShowInfoMsg": true, "workbench.sideBar.location": "right", "editor.cursorBlinking": "phase", "files.autoSave": "afterDelay", "files.autoSaveDelay": 3, "editor.fontFamily": "Fira Code", "editor.fontLigatures": true, "liveServer.settings.donotVerifyTags": true, "javascriptBooster.formattingOptions": {}, "typescript.validate.enable": false, "prettier.embeddedLanguageFormatting": "off", "editor.formatOnSave": true, "prettier.quoteProps": "preserve", "tabnine.experimentalAutoImports": true, "bracketPairColorizer.consecutivePairColors": [ "()", "[]", "{}", //gold, orchid, lightskyblue ["Orange", "Amber", "Gold"], "Red" ], "bracketPairColorizer.colorMode": "Independent", "vsicons.dontShowNewVersionMessage": true, "files.exclude": { "**/.classpath": true, "**/.project": true, "**/.settings": true, "**/.factorypath": true }, "security.workspace.trust.untrustedFiles": "open", "[dart]": { "editor.formatOnSave": true, "editor.formatOnType": true, "editor.rulers": [80], "editor.selectionHighlight": false, "editor.suggest.snippetsPreventQuickSuggestions": false, "editor.suggestSelection": "first", "editor.tabCompletion": "onlySnippets", "editor.wordBasedSuggestions": false, "editor.defaultFormatter": "Dart-Code.dart-code", "editor.wordWrap": "wordWrapColumn", "diffEditor.wordWrap": "on", "editor.wordWrapColumn": 90 }, "dart.hotReloadOnSave": "manual", "dartImport.fixOnSave": true, "workbench.colorTheme": "GitHub Light Default", "terminal.integrated.fontFamily": "monospace", "dart.showInspectorNotificationsForWidgetErrors": false, "editor.codeLensFontFamily": "Fira Code Light", "editor.fontWeight": "normal", "files.associations": { "*.java": "java", "*.js": "javascriptreact" }, "dart.flutterCreatePlatforms": ["android", "windows", "web"], "[markdown]": { "editor.wordWrap": "on", "editor.wordWrapColumn": 80, "diffEditor.wordWrap": "inherit" }, "editor.tabSize": 2, "workbench.iconTheme": "vscode-icons", "window.menuBarVisibility": "toggle", "workbench.layoutControl.enabled": false, "workbench.editor.tabSizing": "shrink", "editor.fontSize": 16, "window.commandCenter": true, "[javascriptreact]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" }, "explorer.confirmDragAndDrop": false, "editor.minimap.enabled": false, "editor.codeActionsOnSave": {}, "fluttergpt.apiKey": "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", "chat-gpt.lang": "en", "workbench.startupEditor": "none", "eslint.codeAction.disableRuleComment": { "location": "sameLine" } }
已尝试的解决方法
- 更新内置的TypeScript和JavaScript扩展
- 安装ESLint扩展
- 安装IntelliCode扩展
内容的提问来源于stack exchange,提问作者samadfullstack
相关产品推荐
相关产品推荐

