javascript 我怎么能看到JS/TS派生类的方法覆盖的所有引用,而不引用基类方法或VS Code中的其他覆盖?

5vf7fwbs  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(128)

我正在使用VS Code和TypeScript文件。我有一个实现了一些方法的基类,例如create()
对于一个重写create()方法的派生类,并且只有该派生类,我如何找到create()方法的所有引用?
目前,我只能找到基类 * 和所有 * 派生类中定义的方法的所有引用,而不是一个特定的派生类。

fruv7luv

fruv7luv1#

我可能错了但是
我不知道这样一个功能的存在,我不认为它可以存在(至少-不是在理想的意义上-也不清楚你在什么意义上寻找它)。
在理想的意义上,我不认为这样的东西是普遍可实现的。考虑这样一个事实,即某些东西可以被类型化为基类的示例,但被分配了派生类的示例,并且通过使用该类型化变量/参数/对象字段的代码的多个不同代码路径可以是基类或任何派生类的示例。在这种情况下。那里的线模糊了/水变得浑浊了。一个函数,其参数类型为基类,该函数调用该方法。对函数的一些调用传递基类的示例,一些传递派生类的示例。现在怎么办?你说它只是基类方法的用法,而实际上函数是用派生类的示例调用的吗?就例子而言,这是一个非常简单的例子。
如果你简化了你的请求,去寻找那些被调用的方法的对象是用派生类的类型注解的,或者那些类型对于所有代码路径都是静态可推断的,那么当然,这并不难做到。
但是请看这个TypeScript问题单:Find all references on overridden subclass method includes references to the parent class #37878听起来正合你的口味。问题单由VS Code维护者提出,其中一个TypeScript维护者认为当前行为不是问题,不需要“修复”。(注意:如果你要参加那里的讨论,请有建设性,优化你的话有意义的对话。如果你想提出一个不同的立场,那么尽你最大的努力提供一个强有力的理由和任何有助于支持它的例证)。您可以给予该问题单竖起大拇指表示支持,并订阅它以获得讨论和进度更新的通知。
事实上,一个VS Code维护者提出了这个问题,这几乎向我证实了这是VS Code中当前不可配置的已知行为。
出于您的参考/学习目的,该问题的门票是我在谷歌搜索“github vscode issues typescript find references of overridden method”时的首选搜索结果。

相关问题