【问题标题】:Why does code-completion work on Stackblitz, but not in Intellij?为什么代码完成在 Stackblitz 上有效,但在 Intellij 上无效?
【发布时间】:2022-10-19 22:54:44
【问题描述】:

这是一个重现问题的简单存储库:https://github.com/tmtron/mathjs-typescript-types

Stackblitz 作品

当我们在Stackblitz 中打开项目时,代码完成工作正常:

IntelliJ 不工作

出于某种原因,IntelliJ(2022.2.3 Ultimate)中的代码完成不起作用:

当我Ctrl+单击MathJsStatic 导入符号,IntelliJ 显示 2 个选项:

而且似乎用错了(定义在node_modules/mathjs/types/index.ts):

问题

我们如何让 IntelliJ 使用来自 index.d.ts 的正确类型(并忽略 index.ts)?

【问题讨论】:

  • node_modules/mathjs/types/index.ts 右键菜单中,选择覆盖文件类型>纯文本- 有帮助吗?
  • @Lena 然后 ctrl-click 起作用(即带我到 index.d.ts),但代码完成仍然不起作用(即使在 Invalidate-Caches 并重新启动 IDE 之后)。但是,当我完全删除 index.ts 文件时,我发现一切正常。

标签: typescript intellij-idea code-completion mathjs


【解决方案1】:

更新

该问题已在版本 11.3.1 mathJs Fix #2812 中修复

原来的

我认为问题在于该库包含一个不相关的index.ts 文件和一个index.d.ts 文件,这应该由库作者修复:请参阅此discussion

目前的解决方法:

  • node_modules/types/index.ts 重命名为node_modules/types/main.ts
  • 或删除node_modules/types/index.ts

【讨论】:

    猜你喜欢
    • 2012-09-20
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    相关资源
    最近更新 更多