TypeScript 添加用于转到JS node_modules定义而不是.d.ts声明的导航路径

yeotifhr  于 2022-10-29  发布在  TypeScript
关注(0)|答案(9)|浏览(193)

问题类型:Bug
当我在JavaScript项目中“转到模块定义”时,它会跳转到TypeScript类型文件(如果可用),而不是 * 实际 * 定义。如果TypeScript类型 * 不可用 *,它将按预期工作。
过去,VSCode维护人员曾评论说:
这并不是说TypeScript类型阻止您跳到实现
(注解)

通常,不能跳转到npm模块的js实现。
(注解)

通常没有逻辑来检查任意节点模块的代码并确定哪些外部调用Map到模块中的哪些实现。
(注解)
但这显然是完全错误的。在右键单击上下文菜单中有一个单独的命令用于导航到TypeScript类型:“转到类型定义”,它直接显示在“转到定义”下面。
再次重申:如果删除TypeScript文件,则一切都按预期运行。
人们在单步执行源代码定义时不想浏览TypeScript定义文件。抽象是有漏洞的。我们需要找出原因。
VS代码版本:代码1.43.2(2020年3月24日7:52:11.516Z)
操作系统版本:Linux x64 5.0.0-16-通用

1dkrff03

1dkrff031#

人们在单步执行源代码定义时不想浏览TypeScript定义文件。抽象是有漏洞的。我们需要找出原因。
我想补充的是,当我知道我在开发过程中必须处理什么类型时,有时候我 * 确实 * 喜欢浏览TS定义文件;但我同意在调试期间浏览代码。

oxosxuxt

oxosxuxt2#

将此反馈移到上游

nimxete2

nimxete23#

“Go to Definition”、“Go To Type Definition”和“Go To Implementation”的提供程序目前做的是同样的事情。在这个截屏视频中可以看到,我依次调用它们:https://asciinema.org/a/619AvvIQjd3zG7IV5MoLafVec的最大值
我希望只有“Go to Type Definition”会转到d.ts文件。也许“Go To Definition”和“Go to Implementation”应该转到JS文件,如果它们是唯一具有实现的文件。这是一个非常严重的问题,因为它使得调试依赖代码变得非常困难。

6gpjuf90

6gpjuf904#

有什么办法能把这件事提升到更高的优先级吗?我每天都在为这件事疯狂🤪
还有,问题标签是错误的。这必须被认为是一个bug吗?
此外,不确定这是一个TypeScript问题,似乎更像是一个VSCode问题给我。

lawou6xi

lawou6xi5#

这是打字稿问题,甚至存在测试失败:#39426的最大值

gdrx4gfi

gdrx4gfi6#

这个问题影响了很多OpenSource贡献者,当他们试图解决OpenSource存储库中的问题时。

htzpubme

htzpubme7#

肯定等着这个!

nnt7mjpx

nnt7mjpx8#

这个问题是否仍然相关?
从6月初开始,VS代码中提供Go to Source Definition(转至源代码定义)
https://code.visualstudio.com/updates/v1_68#_go-to-source-definition

gajydyqb

gajydyqb9#

更新:goToSourceDefinition也被添加到neoclide/coc-tsserver#384中。这个问题也被neovim解决了。谢谢🙏

相关问题