zoukankan      html  css  js  c++  java
  • CodingSouls团队项目第二阶段冲刺(2)-个人概况

    第二阶段冲刺第二天:

      学习使用Monaco Editor

      微软之前有个项目叫做Monaco Workbench,后来这个项目变成了VSCode,而Monaco Editor(下文简称monaco)就是从这个项目中成长出来的一个web编辑器,他们很大一部分的代码(monaco-editor-core)都是共用的,所以monaco和VSCode在编辑代码,交互以及UI上几乎是一摸一样的,有点不同的是,两者的平台不一样,monaco基于浏览器,而VSCode基于electron,所以功能上VSCode更加健全,并且性能比较强大。

      首先,我们自己可以设想一下,假如要自己来实现代码补全以及错误提示,我们会怎么做?

      第一,我们要解析输入的文本,这时,我们就需要写一个Parser。

      第二,根据Parser解析的结果来调用monaco的标注接口来标注错误的代码从而实现错误提示功能

      第三,根据Parser解析的结果信息,提供上下文相关的代码候选项来实现代码补全功能。

      可以看出来,实现起来难度会很大,涉及到的点很多,不过,和语法高亮一样,monaco也帮助我们实现了这些功能,目前支持html,css,ts/js,json四种语言,我们只需要引入即可。但是这边的引入可没有语法高亮那么简单。

      Monaco的实现采用worker的方式,因为语法解析需要耗费大量时间,所以用worker来异步处理返回结果比较高效。我们使用的话需要两步。

  • 相关阅读:
    iOS——归档对象的创建,数据写入与读取
    iOS——plist的创建,数据写入与读取
    SQL SERVER 2005快捷键
    图片放大源码
    验证url 地址是否是图片
    JS三大经典变量命名法
    载入锁频
    SQL Server 查询分析器键盘快捷方式
    关于ajax get方式请求 url地址参数怎么变成空了的问题
    SQL计算表的列数
  • 原文地址:https://www.cnblogs.com/125418a/p/13086636.html
Copyright © 2011-2022 走看看