TypeScript版本: 3.7.2
搜索词:
- navtree
- tsserver
代码
对于TypeScript:
interface IFoo2 {
foo: any;
}
interface IFoo2 {
foo2: any;
}
1.运行一个 navTree
请求
错误:
返回两个span,但只有一个nameSpan
{
"text": "<global>",
"kind": "script",
"kindModifiers": "",
"spans": [
{
"start": {
"line": 1,
"offset": 1
},
"end": {
"line": 8,
"offset": 2
}
}
],
"childItems": [
{
"text": "IFoo2",
"kind": "interface",
"kindModifiers": "",
"spans": [
{
"start": {
"line": 1,
"offset": 1
},
"end": {
"line": 3,
"offset": 2
}
},
{
"start": {
"line": 5,
"offset": 1
},
"end": {
"line": 7,
"offset": 2
}
}
],
"nameSpan": {
"start": {
"line": 1,
"offset": 11
},
"end": {
"line": 1,
"offset": 16
}
},
...
}
]
}
对于VS Code的工具,我们希望有一个所有namespans的列表
3条答案
按热度按时间dzhpxtsq1#
@mjbvz 我想语言服务是按树形结构而不是语法结构来表示的,所以我们为
IFoo2
提供了一个带有两个子节点的单个节点,每个成员一个。当前协议只允许每个节点有一个nameSpan
。你提议修改协议使nameSpan
成为数组吗?(或者说,添加一个nameSpans
属性?)gwbalxhn2#
@jrieken 了解关于为什么VS Code需要这些信息的原因。
lvjbypge3#
我们需要这个来突出显示预览/转到符号时的正确范围。我不知道打破协议更改的影响是什么。