TypeScript 从常量类型返回的文档而不是从常量本身返回

ylamdve6  于 5个月前  发布在  TypeScript
关注(0)|答案(3)|浏览(63)

microsoft/vscode#89508

TypeScript 版本: 3.8.0-dev.20200128
搜索词:

  • jsdoc
  • quickinfo
  • signatureHelp
    代码

对于代码:

/**
* Interface!
*/
interface Handler<T> {
    /**
* Call!
*/
    (): void;
}

/**
* Instance!
*/
declare const catHandler: Handler<string>;

catHandler()
  1. 悬停在 catHandler()

预期行为:

返回文档 Instance!

实际行为:

返回 Call! 的文档:

/cc @Tyriar

qyyhg6bp

qyyhg6bp1#

这个很棘手,因为Call的jsdoc文档中经常有我们可能想要返回的内容,例如@param的文档。向上游移动以获得TS团队的更多反馈

rqmkfv5c

rqmkfv5c3#

我认为现有的行为至少和提议的行为一样合理。
考虑这样一个情况:

如果你接受以下为真:

  • 在类似 func() 的调用中,你的光标悬停在 func 部分或 () 部分上不应该有区别
  • () 内部,你希望了解实际调用的具体重载(我们已经收到了关于这个问题的错误报告)

那么期望的行为是明确的。
在非调用位置,我们显示特定于变量的文档,这似乎也是清楚的(因为可能有一些与非调用方面相关的文档)。
关于“为什么不都用”,将不相关的文档片段组合在一起可能会非常令人困惑,让人觉得是一个作者写的。

相关问题