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