如何在没有“N more”和“...”的情况下查看完全扩展的 TypeScript 类型?

Jus*_*ant 20 intellisense typescript visual-studio-code

在 VSCode 中,TypeScript 显示了我定义的类型的非常有用的扩展。但是 TS 在 IntelliSense 中显示的内容是有限的。如果一个类型太长,那么我会看到这样的输出:

在此处输入图片说明

注意接近尾声的“11 more”。有时,为了对困难的类型定义进行故障排除,查看“N more”部分中的内容确实很有帮助。

有没有办法获得(用于开发期间的故障排除目的)完全扩展的类型定义,而没有那些“N more”消息来隐藏里面的内容?

https://github.com/Microsoft/vscode/issues/6638暗示截至 2017 年 2 月,此功能可能尚未可用(也未计划),但我不确定我是否正确阅读了该问题,无论情况如何在此期间发生了变化。

Mat*_*hen 29

尝试在 中将该noErrorTruncation选项设置为 true tsconfig.json。令人困惑的是,至少在某些情况下,此选项会影响悬停时显示的类型的截断;看到这个问题。小心:如果你的类型真的很大,当你尝试查看它时 VS Code 可能会挂起。

  • 为了清楚起见,请按如下方式设置选项: { "compilerOptions": { "noErrorTruncation": true, } } (11认同)
  • @Hugheth 此 GitHub 评论显示了这些情况的解决方法:https://github.com/microsoft/TypeScript/issues/26238#issuecomment-672086446 引用:“对于使用 VS Code 的人,快速修复将打开 <Microsoft VS代码安装文件夹>/resources/app/extensions/node_modules/typescript/lib/tsserver.js 并将第 12797 行左右的 ts.defaultMaximumTruncationLength = 160 更改为更高的值,例如 ts.defaultMaximumTruncationLength = 800。” (8认同)
  • typescript-explorer 扩展可能是更好的答案 - https://github.com/Microsoft/TypeScript/issues/26238#issuecomment-1518834920 (6认同)
  • 不幸的是,正如问题链接中提到的,这似乎只在某些情况下删除“...”,而不是全部 (2认同)

Mat*_*ens 24

接受的答案适用于类型描述的长度为 1600 个字符或更少的情况。

为了超越这个硬性限制,有必要调整源代码,如GitHub 上发布的此修复中所述。

去引用:

对于使用 VS Code 的人来说,一个快速修复方法是在第 12797 行左右打开<Microsoft VS Code install folder>/resources/app/extensions/node_modules/typescript/lib/tsserver.js 并更改为更高的内容,例如.ts.defaultMaximumTruncationLength = 160ts.defaultMaximumTruncationLength = 800

完成更改后,关闭并重新启动 VSCode 以获得预期效果。

(新的硬限制将为 10 * 无论您设置什么值。)