在 visual studio code 中编写基于 angular material 的 scss 代码时如何能够智能提示?比如下面的 scss 代码,在输入 mat.
时出现提示
@use '@angular/material' as mat;
@include mat.core();
1) VSCode 使用的技术应该是和 https://codemirror.net/ codemirror类似,codemirror是一款功能非常强大的web编辑器。他提供有autocomplate智能提示接口,(当然也有人说VSCode其实就是使用codemirror内核)
2) 在智能提示里,许多软件都是通过正则表达式来进行分析,但是VS Code 好想不是,他是通过构建 “抽象语法树(AST)” 来分析用户输入的代码,进而给出提示(AST参考见 https://juejin.cn/post/7030457038840791053)。
通过AST的好处是,更能知道代码真实的意图,所以,在VS里, 有一个类X,然后定义一个X类型变量 x,系统会知道X和x真实的意思,进而给出不同的提示。
3)在有了智能提示后,接下来VS还会给出文本帮助,在VS里,很多DLL都自带了一个 Microsoft.*.xml 文件,这些文件会给出具体帮助信息。
通过上面1-3步完成智能提示