首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Monaco Editor对标优势—为什么选择Monaco为在线编辑器内核

Monaco Editor 是一款开源在线代码编辑器。它和大热 VSCode 都是微软家娃。...MonacoVSCode微软之前有个项目叫做Monaco Workbench,后来这个项目变成了VSCode,而Monaco Editor(下文简称monaco)就是从这个项目中成长出来一个web编辑器...(语言定义),token(语法标记),state(状态机),rules(输入规则)等语言解析模块,其中可以通过json文件直接定义语言集成vscode编辑功能,使用较为简单使用vscode外观和交互较为友好原生支持代码...monaco集成度最高,引入文件量巨大,引入方式兼容性不太好,但功能实现完备,不需另外扩展引入,适合需要实现复杂功能但不进行深度扩展应用,因其不支持mobile且文件量大,在electron这类客户端环境使用较为合适...参考文章:基于JavaScript代码编辑器比较和选型 https://sq.163yun.com/blog/article/184733100361850880转载本站文章《Monaco Editor

3.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

Monaco Editor教程(二):前端为什么一定要学习monaco-editor

背景 今天这篇文章我就来唠唠,为什么前端开发者要一定要学习monaco-editor这个项目,之所以要写这篇文章,是想和读者们讨论一下,monaco-editor编辑器地位,以及学会它能够对前端又那些好处...(PS: 目前Github单文件编辑器是用CodeMirror) 开发者利器 VS Code(它地位对研发就不要多说了)核心编辑器就是monaco-editor, 另外代码管理DevOps平台.../ 另外还有 code-server 之前介绍 dbt 项目也是使用monaco-editor编辑器。...monaco-editor 特性 默认支持30多种编程语言数据类型 支持对比功能 支持webwork多线程渲染 代码格式化 多文件tab切换 自定义语言样式 丰富鼠标,光标事件交互 丰富默认指令,...如果你订阅了我专栏,那将事半功倍,我专栏里通俗易懂地讲解了monaco-editor各种常用特性,如何使用,集成,API方法,参数详解。还有就是一些常见业务场景实现。

4.2K31

集成 GPT-4 编辑器 Cursor

编辑器 Cursor 集成了openaiGPT-4,而且还是免费,本文记录使用方法和示例。...简介 自从 OpenAI 退出了 ChatGPT 系列语言模型,技术和知识门槛不断降低,未来人们生活和工作方式也很可能发生重要转变。...现在又一个工具出现,一个叫Cursor编辑器已经集成了openaiGPT-4,而且还是免费,它将彻底改变我们写代码方式。...可以根据需求直接写出代码,可以修校 bug,可以写注释,可以提问题 …… 使用方法 下载安装 Cursor 编辑器提供了Windows、MacOS、Linux 三个平台安装包, 可以从官方直接下载:...使用方法 Cursor 是一个极简编辑器集成了编程支持 ChatGPT4,核心命令只有两个 Generate / Edit 和 Chat,分别表示生成代码和聊天,快捷键分别为 CTRL+K 和 CTRL

3.1K10

VueJsshallowRefshallowReactive使用比较

01 shallowRef()函数 如果传入基本数据类型,那么shallowRefref作用基本没有什么区别,也就是浅层ref内部值将会原样存储和暴露,并不会被深层递归地转为响应式 但如果是对象的话...,那么就存在区别了,shallowRef不处理对象类型数据 其实,它就是只处理基本数据类型响应式,不进行对象响应式处理 性能优化,应用场景:如果有一个对象数据,后续功能不会修改该对象中属性,而是生对象来替换...,那么就可以用shallowRef shallowRef()常常用于对大型数据结构性能优化或是外部状态管理系统集成 const state = shallowRef({ count: 1 }) /...,也就是只处理第一层对象数据,在往下嵌套数据,操作数据是不起作用 只考虑对象第一层数据响应式,在第一层嵌套下数据不考虑 reactive()不同,没有深层及转换,一个浅层响应式对象里只有根级别的属性是响应式...shallowRef在某些特殊应用场景下,是可以提升性能,前者针对对象,用于浅层作用响应式数据处理,而后者只处理基本数据类型响应式,不进行对象响应式处理

1.1K30

vueJs中toRawmarkRaw函数使用比较

这是一个可以用临时读取而不引起代理访问/跟踪开销,或是写入而不触发更改特殊方法,在官方文档里,是不建议保存对原始对象持久引用 使用场景:用于读取响应式对象普通对象,对这个普通对象所有操作,不会引起页面的更新...// 也适用于嵌套在其他响应性对象 const bar = reactive({ foo }) console.log(isReactive(bar.foo)) // false markRaw()shallowReactive...()这样浅层式API使你可以有选择避开默认深度响应/只读转换,并在状态关系谱中嵌入原始,非代理对象 如果把一个嵌套,没有标记原始对象设置成一个响应式对象,然后再次访问它,你获取到是代理版本...被标记为了原始对象,但 foo.nested 却没有 nested: foo.nested }) console.log(foo.nested === bar.nested) // false 总结 ref()reactive...()是将一个非响应式类型数据变为响应式数据,而toRaw()markRaw()相当于是对响应式数据还原,将一个响应式数据变为非响应式数据 而toRaw只针对响应式对象类型数据起作用,如果涉及到将一个响应式数据转变为非响应式数据

1.2K10

vueJs中readonlyshallowReadonly函数使用比较

01 readonly()函数 让一个响应式数据变为只读,接收一个响应式数据,经过readonly加工处理一下,那么新赋值数据都不允许修改 接受一个对象 (不论是响应式还是普通) 或是一个 ref...,返回一个原值只读代理 页面没有更新有两种情况 [1]....02 shallowReadonly()函数 接收一个响应式数据,经过shallowreadonly处理,变成一个只读,只考虑对象第一层数据,不可以修改,但是第一层嵌套里深层数据却支持修改 让一个响应式数据变为只读能力...+ 总结 readonlyshallowReadonly都是让响应式数据只具备读能力,后者是浅层次只读,也就是只对数据对象第一层起作用,深层次嵌套,当时用shallowReadonl()处理时...,也是由产品功能决定,支不支持修改,可以控制数据是否能读写能力

88520

实现一个 Code Pen:(三)10 行代码实现代码格式化

在上文中,我们使用 monaco-editor 结合 Next.js,打造了编辑器功能,在本文中,我们将继续优化 monaco-editor, 使它拥有代码格式化功能。...集成monaco-editor monaco-editor 本身也提供了格式化命令,可以通过右键菜单或者快捷键⇧ + ⌥ + F来对代码进行格式化,目前自带格式化工具不如 Prettier 标准...disposables.forEach((disposable) => disposable.dispose()); }, }; } 上述代码中 通过 model.getValue() 获得当前编辑器文本...,通过 model.getLanguageId() 获得当前编辑器编程语言,每一种语言都有不同解析器,需要与Prettier paser 对应,比如:JavaScript 语言对应就是babel...修改 monaco 默认格式化代码方法; editor.

1.6K10

AgileConfig-1.5.5 发布 - 支持 JSON 编辑模式

该编辑框集成了一个 json 代码编辑器- monaco-editor 方便用户快速编辑 json 配置文件。...顺便提一下 monaco 这个是微软开源一个编辑器,看它官方介绍你就知道他有多牛了:The Monaco Editor is the code editor that powers VS Code...对没错,它就是 VS Code 编辑器。 现在你可以像使用 appsettings.json 一样来定义配置文件了。...注意: 非法json文件,编辑器会给出提示,并且不能保存 对于 bool 或者 intger 类型定义时候没有问题,但是保存后系统会默认给转成文本类型比如 false='false' , 1='1'...编辑好json文件后,点击“保存”按钮,系统会对比新老配置,自动列出哪些是“新增”配置项,哪里是“编辑”配置项,哪些是“删除”配置项。

89730

20个惊艳React组件库,每一个都值得收藏(上)

Editor:打造你代码编辑器 在开发工具和在线IDE中,代码编辑器是核心组件之一,而Monaco Editor是Visual Studio Code背后强大代码编辑器。...利用React Monaco Editor这个库,你可以轻松地将Monaco Editor集成到你React应用中,打造强大代码编辑和展示界面。...为什么选择React Monaco Editor? 将Monaco Editor集成到React项目中可能会遇到一些挑战,比如编辑器初始化和配置。...React Monaco Editor库提供了一个简单React组件封装,让集成过程变得无痛,同时保留了Monaco Editor强大功能和灵活配置能力。...React Quill是基于Quill.js开发一个React组件库,它提供了一个强大富文本编辑器,不仅功能全面,而且界面风格可定制,非常适合集成到React应用中。

78711

VueJstoReftoRefs函数一个比较

,那怎么样将一个非响应式数据变成响应式数据 就需要用到toRef()toRefs()这两个componsition API 单纯去看概念,往往比较抽象,是难以理解,还是需要从具体实例出发 01...toRef()函数 作用:创建一个ref对象,其value值指向另一个对象中某个属性值,原对象是存在关联关系 也就是基于响应式对象上一个属性,创建一个对应ref,这样创建ref与它源属性是保持同步...,源对象存在引用关系 改变源属性值将更新ref值 语法: const 变量名 = toRef(源对象,源对象下某个属性) 如:const name = toRef(person,'name')...,而且源数据也会同步 如果只是用于纯数据页面的展示,那是没有必要将数据转化为响应式数据,如果需要修改数据,那么就需要将非响应式数据转化为响应式数据 是通过toRef()函数实现 02 ref不同...toRefs()是非常实用,都是将一个非响应式数据变为一个具备响应式数据能力,源对象可保持数据同步,具备引用关系,前者只支持单个属性数据处理,而后者支持数据批量处理 修改数据时,页面数据会更新

50420

Consul容器集成

Consul容器集成 Consul是一种面向服务解决方案,可以帮助企业构建高效、可扩展和安全容器化应用程序。...ConsulDocker集成 Docker是一种流行容器化平台,可以帮助企业轻松地构建、部署和管理容器化应用程序。Consul可以Docker集成,以提供服务发现和健康检查等关键功能。...以下是将ConsulDocker集成步骤: 安装Consul 首先,需要在主机上安装Consul。可以通过官方网站下载安装包,并按照官方文档进行安装和配置。...可以使用ConsulAPI或CLI工具来完成注册。...现在,可以通过ConsulUI或API来查看已注册服务,并对它们进行操作。例如,可以查看服务健康状态、流量路由规则等。

59640

ConsulKubernetes集成

ConsulKubernetes集成Kubernetes是一种流行容器编排平台,可以帮助企业自动化部署、扩展和管理容器化应用程序。...Consul可以Kubernetes集成,以提供服务发现、健康检查和流量路由等关键功能。...以下是将ConsulKubernetes集成步骤:安装Consul首先,需要在Kubernetes集群中安装Consul。可以使用Helm或YAML文件来完成安装和配置。...集成应用程序现在,可以将应用程序部署到Kubernetes集群中,并将其注册到Consul中。可以使用KubernetesDeployments和Services来完成这个步骤。...部署定义了应用程序实例数量和配置,服务将应用程序端口暴露出去,并使用Consul标签选择器来注册服务。在这个例子中,应用程序使用了环境变量来指定Consul地址和服务名称、标签和端口。

97671

freeipa jenkins集成

背景:参照:Freeipa简单搭建配置,完成一下jenkins简单集成,用户组权限简单配置!...freeipa jenkins集成先说一下实现目标规划:jenkins 项目任务区分以环境开头qa-xxx是qa 服务器任务 develop-xxx为开发环境任务,当然了还可以有master-xxx...freeipa尝试一下组概念!...member managers:图片图片图片将tanyuqiang huozhonghao 加入jenkins-develop组:图片将tanyuqiang用户加入jenkins-qa组:图片jenkins集成...虽然他是组管理员,他只能在freeips控制台管理jenkins组下用户以及自权限图片接着出来问题:火狐浏览器登陆admin账户无法登陆了用上面我们初始化jenkins生成密码,且我们并没有将zhangpeng

1.8K101

开发一个在线代码对比工具

Monaco Editor Monaco Editor 是 VS Code 中使用开源代码编辑器, 拥有代码高亮和代码自动补全功能,并且内置了一个 Diff Editor。...马上掘金 使用 monaco-editor 创建一个简单代码编辑器 使用 monaco-editor 创建一个简单 Diff 编辑器 Monaco Editor 有 2 种加载方式,分别是 amd...关于 Monaco Editor 在 next.js 中配置,之前有介绍过,大家可以看这篇文章 《在 Next.js 中使用 Monaco Editor》。...({ jsx: monaco.languages.typescript.JsxEmit.React, }) 对一些 typescript 语法校验我们可以选择关闭,jsx 不支持,可以设置为 react...代码对比编辑器 GitHub 代码 以上就是本文全部内容,希望这篇文章对大家有所帮助,也可以参考我往期文章或者在评论区交流你想法和心得,欢迎一起探索前端。

2.9K11

VS code 使用代码编辑器

前言 有时候我们会有在需要在网页中写代码或者改代码配置需求,这个时候就需要用到代码编辑器,常规代码编辑器有 CodeMirror 和 Monaco Editor, CodeMirror 使用的人比较多...Monaco Editor 介绍 Monaco Editor 是 VS code 使用编辑器,支持丰富代码格式,拥有良好可扩展性,支持代码并排对比编辑器,并且友好支持视觉障碍人士,拥有语音播报功能...npm install monaco-editor 2、需要一个渲染编辑器容器节点,我们设置是一个 id 为 container div <div id="container" style="height...参数 说明 类型 默认值 可选值 value <em>编辑器</em><em>的</em>初始值 string - - theme <em>编辑器</em><em>的</em>主题样式,除了提供<em>的</em>可选值外,也可以通过 <em>monaco</em>.editor.defineTheme 自定义主题...,默认情况下,<em>monaco</em> editor 附带<em>的</em>所有语言都将包含在内,如果你觉得这样配置麻烦,可以使用 <em>monaco</em>-editor-webpack-plugin,通过只选择特定<em>的</em>语言或者只选择特定<em>的</em><em>编辑器</em>特性

2.7K20
领券