VSCode是如何做AST的?
因为VSCode对大部分主流语言都有Outline的功能,这个是做了AST抽取的:
请问下,VSCode是基于什么库来实现的AST抽取呢?
我看了package.json的依赖,没有找到任何AST相关的库。
VSCode是如何做AST的?
因为VSCode对大部分主流语言都有Outline的功能,这个是做了AST抽取的:
请问下,VSCode是基于什么库来实现的AST抽取呢?
我看了package.json的依赖,没有找到任何AST相关的库。
13 回答12.7k 阅读
8 回答2.5k 阅读
2 回答5k 阅读✓ 已解决
7 回答1.9k 阅读
3 回答2.2k 阅读✓ 已解决
5 回答774 阅读
3 回答1.1k 阅读✓ 已解决
VSCode 里 JavaScript 跟 TypeScript 是共用同一个 Language Server 的。截图中的 Outline View 依赖于 Document Symbols 这一特性。
相关代码在此:
P.S. 包括编辑器顶部的面包屑、Ctrl+Shift+O 唤起的 Goto 等功能,也都是基于同样的 Document Symbols。