当我在VSCode中按住Cmd
时单击导入的变量时,我经常会查看该变量的TypeScript声明。有没有办法让VSCode转而把它定义为它?我自己没有使用TypeScript,因此该功能现在对我没有帮助。
答案 0 :(得分:4)
目前,这是VS Code如何为外部模块处理JavaScript和TypeScript IntelliSense的限制。有关详细信息,请参阅this issue
总结一下:VS Code的JavaScript和TypeScript支持在后台由TypeScript提供支持。为了理解外部模块的API,TypeScript使用d.ts
文件来提高性能和可伸缩性。这样,它就不必尝试加载或解析所有模块的代码本身。这种方法的缺点是我们无法映射回实际的JS限制。
同样,目前没有好的解决方法,但我们正在跟踪https://github.com/Microsoft/TypeScript/issues/14479
的可能改进答案 1 :(得分:0)
实现捆绑并转换为javascript和vscode无法带你到那里,而不是它将带你到界面。您可以在javascript文件中搜索引用,也可以克隆或构建repo以查看typescript中的实现。
答案 2 :(得分:-1)
经过大量搜索,我找到了一个简单的解决方案。
您只需将 "typescript.disableAutomaticTypeAcquisition": true
添加到您项目的 settings.json
(或 vscode 的全局设置)。
这将禁用 TypeScript 定义的自动生成并恢复转到实现的原始“跳转到”行为。
来源: https://ianwalter.dev/jump-to-source-definition-instead-of-typescript-definition-in-vs-code
尽管作者提供了错误的说明(false
本来应该是 true
,所以阅读帖子时要小心。也不需要重新安装节点模块。