如何在vscode扩展中获取对象?

时间:2018-03-30 22:35:25

标签: typescript visual-studio-code vscode-extensions

开发Visual Studio Code的新扩展时,如何获取光标指向的当前类?

例如:

export class MyClassA {

  parameter1: number = 5;

  myFunc() {
    return parameter1 * 2;
  }

}

export class MyClassB {
   anotherParamenter = null;
}

如果我的光标位于myFunc范围内,我拨打registerHoverProvider或其他任何内容,我想知道我在课堂MyClassA内。

是否可以检索对象或仅检索光标位置?

1 个答案:

答案 0 :(得分:0)

代码编辑器中的文本上下文高度依赖于代码所使用的语言。您需要语言解析器来确定编写代码的语法和语义细节。

因此,您必须做的第一件事是实现解析器或使用其他工具提供的解析服务。完成此操作后,您可以查询该函数以查找句法上下文(例如myFunc MyClassA模块foo中的 select nplate, count('x') from observations group by nplate; },然后对其进行操作以为您的悬停提供程序生成信息。