**类型脚本版本:**2.7.2
**搜索条件:**getDefinitionAtPosition种类
代码
namespace A { export interface B {} }
class A {}
interface A {}
var x: A; // do getDefinitionAtPosition on the A reference here
预期行为:
在结果中,每个单独的声明都应具有相应的kind
:
[
{ fileName: 'test.ts', textSpan: { start: 10, length: 1 }, kind: 'module', name: 'A', ... },
{ fileName: 'test.ts', textSpan: { start: 44, length: 1 }, kind: 'class', name: 'A', ... },
{ fileName: 'test.ts', textSpan: { start: 59, length: 1 }, kind: 'interface', name: 'A', ... }
]
实际行为:
所有声明都具有相同的kind
:
[
{ fileName: 'test.ts', textSpan: { start: 10, length: 1 }, kind: 'class', name: 'A', ... },
{ fileName: 'test.ts', textSpan: { start: 44, length: 1 }, kind: 'class', name: 'A', ... },
{ fileName: 'test.ts', textSpan: { start: 59, length: 1 }, kind: 'class', name: 'A', ... }
]
8条答案
按热度按时间1yjd4xko1#
欢迎PR。
ygya80vv2#
大家好,我正在查看这个问题,这是我的第一个问题,我想我已经把它缩小到checker.ts中的getSymbolAtLocation函数。到目前为止,这是正确的思路吗?我不知道如何在VS Code中单步执行代码,所以我不得不根据直觉进行猜测。我已经设置了一个四斜杠测试,它会重新创建这个问题,所以希望我能很快解决这个问题。
x1m0n1x
checker.ts中的第25838行
zhte4eai3#
我已经把范围缩小到checker.ts中的getSymbolAtLocation函数。到目前为止,这是正确的思路吗?
您不希望更改此定义。相反,当您有一个定义时,您希望获得其含义,使用
getMeaningFromLocation
并过滤您必须匹配的含义。请参阅findAllRefernces.ts中
hasMatchingMeaning
的用法x9ybnkn64#
我在哪里可以找到
findAllRefernces.ts
字面上一直在寻找它的最后半个小时。我是一个绝对的初学者,抱歉,如果这是一个愚蠢的问题
u91tlkcl5#
我想了解一下GraceHopperOSD的这一点
kuhbmx9i6#
与kristielim一起为GraceHopperOSD工作
enxuqcxy7#
@kristielim@mengdidi嗨!我正在调查这个问题,但是不知道这个问题是否已经解决了。谢谢!
hi3rlvi28#
没什么,尽管接吧!