基于 Monaco Editor & LSP 打造智能 IDE

lxf2023-04-21 22:30:02

1. 背景介绍

1.1 业务背景

基于公司产品的特征——大数据平台,数据开发工程师在使用产品开发的过程中存在很多代码编辑的使用场景。对比现有 codemirror编辑器,存在很多不满足现有产品的业务需求。

  • 编辑器功能:缺少查找缩略图注释快捷键右键菜单等功能。
  • 语言功能:存在关键字提示不完整缺少内置依赖(包)提示缺少token补全缺少代码格式等问题。

2. 技术方案

2.1 Monaco Editor

Monaco Editor 是微软开源的基于 VS Code 的代码编辑器,运行在浏览器环境中。目前很多浏览器上的 "云编辑器" 都是基于 monaco-editor

Monaco Editor涵盖了编辑器的基础功能,例如代码注释,查找,缩略图,右键菜单等