两者压根不是一个东西,为什么Monaco Editor不使用TextMate,而是要开发一个新的东西呢,原因是VSCode使用的是vscode-textmate来解析TextMate语法,这个库依赖一个Oniguruma正则表达式库,而这个正则表达式库是使用C语言开发的,当然不支持在浏览器上运行。
他们很大一部分的代码(monaco-editor-core)都是共用的,所以monaco和VSCode在编辑代码,交互以及UI上几乎是一摸一样的,有点不同的是,两者的平台不一样,monaco基于浏览器,而VSCode基于electron,所以功能上VSCode更加健全,并且性能比较强大。
笔者开源了一个小项目code-run,类似codepen的一个工具,其中代码编辑器使用的是微软的Monaco Editor,这个库是直接从VSCode的源码中生成的,只不过是做了一点修改让它支持在浏览器中运行,但是功能基本是和VSCode一样强大的,所以在笔者看来Monaco Editor等于VSCode的编辑器核心。 另外笔者是一个颜控,不管做什么项目,都热...
两者压根不是一个东西,为什么Monaco Editor不使用TextMate,而是要开发一个新的东西呢,原因是VSCode使用的是vscode-textmate来解析TextMate语法,这个库依赖一个Oniguruma正则表达式库,而这个正则表达式库是使用C语言开发的,当然不支持在浏览器上运行。
通过操作 Models 和编辑器文件交互。一个 Model 表示一个已打开的文件,比如文件系统上存在的文件(也可以非本地文件,比如 SSH 打开的远程文件,并非本地磁盘文件)。Models 的一些功能包括保存文本内容,确定内容的语言,并跟踪内容的编辑历史。 URIs Models 表示一个打开的文件,那么必然有一个文件地址用于操作、存储文件...
Monaco-editor,一个vs code 编辑器,需要将其集成到项目。不说闲话了,直接上代码。 npm地址:https://www.npmjs.com/package/monaco-editor 中文文档:https://aydk.site/editor/ 安装: pnpm add monaco-editor -S pnpm add vite-plugin-monaco-editor -D ...
【摘要】 背景笔者开源了一个小项目code-run,类似codepen的一个工具,其中代码编辑器使用的是微软的Monaco Editor,这个库是直接从VSCode的源码中生成的,只不过是做了一点修改让它支持在浏览器中运行,但是功能基本是和VSCode一样强大的,所以在笔者看来Monaco Editor等于VSCode的编辑器核心。另外笔者是一个颜控,不管做...
微软之前有个项目叫做Monaco Workbench,后来这个项目变成了VSCode,而Monaco Editor(下文简称monaco)就是从这个项目中成长出来的一个web编辑器,他们很大一部分的代码(monaco-editor-core)都是共用的,所以monaco和VSCode在编辑代码,交互以及UI上几乎是一摸一样的,有点不同的是,两者的平台不一样,monaco基于浏览器,而VSCod...
Monaco Editor是vscode的编辑器,简单介绍下项目中使用遇到的问题 以前项目是用ace编辑器的,但是总有些不敬人意的地方。前端事件看见的VS Code编辑器Monaco Editor准备更换下,下面介绍一些使用中遇到的一点问题。代码提示 1.项目引用 import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; ...
编辑器本身是没有这个功能,我们可以利用编辑器的onDidChangeModelContent事件对编辑器进行监听,间接实现识别内容是否更改功能。代码如下: vareditorContentVersionId = 0;//编辑历史版本idvareditorContentPageVersionId = 0;//编辑器的当前版本id require(['vs/editor/editor.main'],function() { ...