项目背景:项目需要前端提供一个sql语句的编辑器,供语句查询可视化。
技术框架:vue + monaco-editor
实现功能:语法提示,自动补全,语言高亮,主题切换,自适应,单行选中,格式化,主题切换
1:语法提示,monaco-editor编辑器有多种内置的编辑器语法,注册了几个默认的内置语言,“javascript”,“css”,“html”,“json”。如果需要注册其他语言,那么办法来了,在monaco-editor插件包中已经帮我们集成了大部分语言配置,路径:monaco-editor/esm/vs/basic-languaages/xxx,以sql为例。
注册语言,keys的值是sql语言的内置值,主要匹配关键字做提示,那么同理,如果需要自定义的语言提示,在suggestions中增加匹配的逻辑然后return出去。
2语言高亮
3主题切换
4自适应
5单行选中
6格式化
7主题切换,主题可以自己设定,图中是默认的编辑器主题