禁用 VSCODE 中默认打字稿库的智能感知

Posted

技术标签:

【中文标题】禁用 VSCODE 中默认打字稿库的智能感知【英文标题】:Disable intellisense for default typescript libraries in VSCODE 【发布时间】:2019-12-11 16:44:50 【问题描述】:

在使用打字稿的 Visual Studio 代码中,我在使用智能感知/自动完成功能时收到了不需要的建议。

例子:

htmlAllCollection
DOMError

etc...

原因似乎是智能感知自动将所有文件包含在

vscode dir/resources/app/extensions/node_modules/typescript/lib

有什么方法可以禁用这些的智能感知吗?

最后,我希望智能感知仅包含与我的项目明确相关的内容。

【问题讨论】:

***.com/questions/43850267/… 和其他人的副本 【参考方案1】:

为了控制在您的项目中加载哪些库并提供智能感知/自动完成,您需要在 tsconfig.json 文件中配置 compilerOptionslib 属性 [数组类型]

如果lib 属性未配置,TypeScript 将自动加载以下库:

对于目标 ES5:DOM、ES5、ScriptHost。 对于目标 ES6:DOM、ES6、DOM.Iterable、ScriptHost。

tsconfig.json 文件中的示例配置如下所示:


  "compilerOptions": 
    "target": "es5",
    "lib": [
      "es2017"
    ]
  

这将只加载 ECMAScript 2017 intellisense 的库。

您可以在此处阅读有关编译器选项的更多信息,包括lib:https://www.typescriptlang.org/docs/handbook/compiler-options.html

【讨论】:

【参考方案2】:

macOS上打开设置editor File > Preferences > Settings (Code > Preferences > Settings

sn-ps 要禁用基本的 TypeScript sn-ps,您可以在 settings 文件中将 editor.snippetSuggestions 设置为 "none"。如果您想查看 sn-ps,可以指定相对于建议的顺序;在顶部("top"),在底部("bottom"),或按字母顺序排列的内联("inline")。默认为"inline"

JSDoc 支持: 要在 TypeScript 中禁用 JSDoc 评论建议,请设置 "typescript.suggest.completeJSDocs": false

自动导入: 您可以通过设置 "typescript.autoImportSuggestions.enabled": false 来禁用自动导入

格式:"typescript.format.enable" 设置为 false 以禁用它。

JSX 和自动关闭标签:"typescript.autoClosingTags" 设置为 false 以禁用 JSX 标签关闭。

未使用的变量和无法访问的代码: 要禁用淡出未使用的代码,请将"editor.showUnused" 设置为false。您还可以通过设置仅在 TypeScriptScript 中禁用未使用代码的淡入淡出,

"[typescript]": 
    "editor.showUnused":  false
,
"[typescriptreact]": 
    "editor.showUnused":  false
,

代码建议: 将“typescript.suggestionActions.enabled”设置为false 以禁用建议。

您可以在https://code.visualstudio.com/docs/languages/typescript 上阅读更多内容

【讨论】:

以上是关于禁用 VSCODE 中默认打字稿库的智能感知的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VS Code 中为模板中的 vue 道具启用 Typescript 打字和智能感知?

如何使用打字稿为反应测试库设置智能感知

如何让 VS Code 智能感知在多个 node_modules 文件夹中搜索打字稿

这个 VSCODE 智能感知是从哪里来的?

如何在 VSCode 中智能感知别名模块路径

如何在 vscode 中使用自己的 javascript 文件获取智能感知