Javascript - 如何在javascript中列出文件中的所有声明的类

时间:2017-04-10 12:36:54

标签: javascript class autocomplete ecmascript-6

我正在为基于Web的JS编辑器实现自动建议功能。当用户输入时,我想向他展示已经由他自己声明或使用的所有变量,函数和类的建议。我可以从window获取变量和函数,但是我无法获得声明的类列表。让我们说以下是迄今为止输入的代码:



class FooClass {
  constructor() {
    console.log("I am the constructor of ECMA6 class");
  }
};




在宣布课程后,如果用户输入Foo,我想向他显示FooClass的建议。

1 个答案:

答案 0 :(得分:0)

大多数IDE使用AST执行自动完成和其他智能重构以及缺陷检测。

最着名的Javascript AST工具之一是Esprima,它与解析Javascript一起运行在JS(浏览器和节点)中。

以下是它如何用于自动完成的演示: http://esprima.org/demo/autocomplete.html

如果您正在创建基于Web的JS编辑器,此工具可能会节省您批次的时间,不要重新发明轮子。

在CodeMirror的上下文中,您可能会发现这有用: https://github.com/maxogden/javascript-editor

  

codemirror + esprima powered html5 javascript编辑器组件