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

手把手教你实现在Monaco Editor中使用VSCode主题

背景 笔者开源了一个小项目code-run,类似codepen的一个工具,其中代码编辑器使用的是微软的Monaco Editor,这个库是直接从VSCode的源码中生成的,只不过是做了一点修改让它支持浏览器运行...,但是功能基本是和VSCode一样强大的,所以笔者看来Monaco Editor等于VSCode的编辑器核心。...新的曙光 就在笔者已经放弃Monaco Editor中直接使用VSCode主题的想法后,无意间发现codesandbox和leetcode两个网站编辑器主题效果和VSCode基本一致,而且可以明显的看到...,一般还包含编辑器其他部分的主题,比如标题栏、状态栏、侧边栏、按钮等等,所以我们也可以页面应用这些样式,达到整个页面的主题也能随编辑器代码主题一起切换的效果,这样能让页面整体更加协调,具体的实现上,我们可以使用...CSS变量,先把页面所有涉及到的颜色都定义成CSS变量,然后切换主题时根据主题的colors选项里的指定字段来更新变量即可,具体使用哪个字段来对应页面的哪个部分可以根据实际情况来确定,VSCode主题的所有可配置项可以

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

手摸手打造类码上掘金在线IDE(二)——编辑器

确实,坦率的讲,对于一个技术项目,这个东西技术难度层面,就是侮辱人的智商的,很多人都对他嗤之以鼻, 很是不屑 然而,我想说的是,我们的日常工作,很多人都是都是靠着这么多crud 去养活没有这些东西...,既然这样的话,我们也不需要了吧, 毕竟残废版 其实,我之前的文章写了个文件系统 git 地址如下,有兴趣的jym 可自取 tree list 接下来,我们一个个梳理他的这几个模块 编辑器部分 东家的编辑器部分...codemirror5 这也是跟monaco-editor 可以分庭抗礼的编辑器,支持语言众多而且接入方便,文档,齐全, 虽然也是英文, 可我们有翻译软件啊 而在,社区繁荣的今天,更是有大佬在他的基础上做出了专门用于...vite 有个esm的bug ,所以需要手动添加default 能跑通编辑器之后,我们就需要来接入主题美化了vscode俺以为最美的主题莫过于OneDarkPro 于是,俺在网上找到了他的移植版本...就简单很多了 主要包含: 编辑器包vue-codemirror 主题包 @codemirror/theme-one-dark 自带暗黑主题 js 语言包@codemirror/lang-javascript

2.6K11

VS code 使用的代码编辑器

前言 有时候我们会有需要在网页写代码或者改代码配置的需求,这个时候就需要用到代码编辑器,常规的代码编辑器有 CodeMirror 和 Monaco Editor, CodeMirror 使用的人比较多...,但 Monaco Editor 移动 web 却不支持。...: 100%"> 3、 js 文件引入 monaco editor, 并创建编辑器 import * as monaco from 'monaco-editor/esm/vs/editor...参数 说明 类型 默认值 可选值 value 编辑器的初始值 string - - theme 编辑器主题样式,除了提供的可选值外,也可以通过 monaco.editor.defineTheme 自定义主题...并且拥有智能的语法提示,代码是开源的 小结 本文简单介绍了下 monaco-editor,当然还有很多高级功能等待着我们去探索和挖掘, 文中罗列并不全面,深入挖掘请大家参考官网和 Github ,希望未来的开发能够快速上手类似的代码编辑器实现

2.7K20

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

Monaco Editor 是一款开源的在线代码编辑器。它和大热的 VSCode 都是微软家的娃。...Monaco与VSCode微软之前有个项目叫做Monaco Workbench,后来这个项目变成了VSCode,而Monaco Editor(下文简称monaco)就是从这个项目中成长出来的一个web编辑器...Monaco 是一个用于浏览器编辑器,始于 2011 年 Erich Gamma 加入微软。后期主要使用在 Visual Studio Online, OneDrive 以及不少内部网站。...最终使用 Electron 包装成为一个跨平台的编辑器,当然其实她还是一个浏览器里。...monaco集成度最高,引入文件量巨大,引入方式兼容性不太好,但功能实现完备,不需另外的扩展引入,适合需要实现复杂功能但不进行深度扩展的应用,因其不支持mobile且文件量大,electron这类的客户端环境使用较为合适

3.8K20

Monaco 代码编辑器主题配置实践

背景 Monaco 编辑器是目前 VS code 代码编辑器的开源内核,功能上基本碾压同类的其他代码编辑器,同时得益于丰富的插件体系,目前很多市面上在线 IDE 工具也都是基于此做了二次开发,包括 Coding...的 Cloud Studio 产品,以及 LeetCode 里的代码编辑器都是 Monaco,影响力可见一斑。...对于开源方案,大多数的情况下我们都需要二次修改以适配最终的业务产品形态,因此我们也有修改编辑器主题的诉求。 思路 通过代码捞出所有的配置,自己一个个去实验。...代码编辑器容器里不对该事件做冒泡,也就导致当你在编辑器里用鼠标滚轮滚动到底部时,也无法触发页面的滚动,因此需要将该配置设置为 false 。...={content} // 编辑器内容文本 onChange={handleEditorChange} // 监听内容变化 /> TODO 后续给一份配置好的主题参数 加载优化方案

14510

快速搭建一个代码在线编辑预览工具(实战)

this.isCanDrag('rightDown', index)) { return } // 找到拖动编辑器及其右边的编辑器的第一个还有空间的编辑器索引..._prop] - _minSize } // 更新拖动编辑器的宽度 this....编辑器 目前涉及到代码编辑的场景基本使用的都是codemirror,因为它功能强大,使用简单,支持语法高亮、支持多种语言和主题等,但是为了能更方便的支持语法提示,本文选择的是微软的monaco-editor...动态切换编辑器语言 Monaco Editor想要动态修改语言的话我们需要换一种方式来设置文档,上文我们是创建编辑器的同时直接把语言通过language选项传递进去的,然后使用setValue来设置文档内容...,这样后期无法再动态修改语言,我们修改为切换文档模型的方式: // 创建编辑器 editor = monaco.editor.create(editorEl.value, { minimap:

4.4K30

快速搭建一个代码在线编辑预览工具

this.isCanDrag('rightDown', index)) { return } // 找到拖动编辑器及其右边的编辑器的第一个还有空间的编辑器索引..._prop] - _minSize } // 更新拖动编辑器的宽度 this....编辑器 目前涉及到代码编辑的场景基本使用的都是codemirror,因为它功能强大,使用简单,支持语法高亮、支持多种语言和主题等,但是为了能更方便的支持语法提示,本文选择的是微软的monaco-editor...动态切换编辑器语言 Monaco Editor想要动态修改语言的话我们需要换一种方式来设置文档,上文我们是创建编辑器的同时直接把语言通过language选项传递进去的,然后使用setValue来设置文档内容...,这样后期无法再动态修改语言,我们修改为切换文档模型的方式: // 创建编辑器 editor = monaco.editor.create(editorEl.value, { minimap:

4K20

开源编程学习 APP Growth 发布 3.0,碎片时间里练习

使用 React Native 重写,性能提升了 N + 1 倍 Growth 1.x 里,我们使用了 Ionic 1.x + Angular 1.x 来开发,而当时 Angular 1.x 已经过时了... Growth 2.x 里,我们使用了 Ionic 2.x + Angular 2.x~4.x 重写了一遍,而我们发现性能不能让人满意。...Design Pattern 如果你已经能完成工作,但是迷茫,那么试试设计模式 内置 VS Code 的编辑器 基于 Monaco Editor 既然都已经有了 LeetCode,那么我们应该还有一个编辑器...找了几天,终于找到将 VisualStudio Code 的同款编辑器 Monaco Editor 集成进去了。 ?...这绝逼是我 Growth 做的最吊的,但是没有什么卵用的功能。 如果你想试试某行代码,那么试试新的编辑器。 成长路线与技能树 依旧的,仍然可以在上面看到技能树,并且速度更快了: ?

78880

云研发 IDE Uncode:演示版发布(欢迎加入开发)

特别是五一之前,我尝试用 Druid 去构建一个编辑器,便发现这并不是容易的事情。所以,我走回了 WebView + Monaco 的路线,然后用 Rust 作为系统的核心: ?...TypeScript + React,选 React 而不是 Angular 的一个原因在于:1. 好久没用 React 了。2. 外加国内的 Angular 用户变小了。 App。...此处是有一个 DSL,只是我还在设计。 Modeling。说是建模,但是也说不上,模型的双向绑定。即扫描代码,生成 UML,然后展示;修改 UML 的话,会修改对应的代码。...Uncode Editor 好吧,看这截图,我承认,这就是一个带目录功能的编辑器。哦,不,暂时还不支持保存文件,但是基本可用。 其它 Todoing。 就这么五天,你还想要什么自行车。...如果你擅长又或者是对以下的内容感兴趣: React Monaco Editor Rust Tauri 对 UI 有美感 人生苦短,欢迎加入 Uncode 的开发:https://github.com/inherd

62860

知乎分享:vscode从入门到进阶

Ctrl+P:不同的文件跳转 Ctrl+Shift+Tab:在所有打开的文件中进行跳转 Ctrl+Shift+O:跳转到文件的Symbol Ctrl+T:搜索当前文件夹下的所有Symbol Ctrl...主题 包括颜色主题或文件图标主题 集成终端/terminal Ctrl+`,打开终端 Ctrl+Shift+`,打开新的终端 Ctrl+Home,滚动到顶 Ctrl+End,滚动到底 如何更好地学习VS...基于浏览器的代码编辑器:IntelliSense,代码验证,语法高亮等特性 Language Server Protocol IDE与语言服务器之间的协议,可以允许开发人员最喜爱的工具中使用各种语言来写程序...DAP 希望将编辑器与调试器解耦合,便于编辑器与其他Debugger的集成 VSCode是如何做开源的 开源的三个阶段:公开源代码->Issues&PRs->Planning&Design 实时更新,管理...Tasks,将重复工作自动化 菜单,选择终端>Configure Task来配置。 选择终端>Run Task来运行重复工作。 这样可以不用在终端反复输入重复的命令。

1.7K10

1000 行输入框的养成:如何平衡体验与灵活性?

这个功能从一个简单的输入框,变成了一个背后有 1000 行代码的「一行代码的编辑器」。在这一个过程,我们一直尝试平衡灵活性与体验,也依旧进这一方面的尝试。...于是呢,作为程序员的直觉,就是用编辑器解决 —— Monaco Editor。就像我们之前的架构工作台一样,如果一个编辑器不能解决,那就两个。 对应的模式: 下拉框 + 查询语句生成查询条件。...开发者体验优化:Monaco Editor 构建搜索框 功能实现上,我们借助于 Monaco Editor 构建了一个一行的输入框,即将一个编辑器封装成一个输入框。...通过下拉框选择对应的类型时,选择对应的感知类型。 主题。虽然,我们还没实现,但是它明显是可以的。 除了,载入比较慢之后,它似乎没有别的缺点。...不过,也存在一个问题,这些类型如果写在前端的时候,也会造成更新缓慢的问题。 文档内建。通过 Hover 和 Auto Suggest 来降低用户的学习成本。

64110

VSCode1.56版本特性+monaco字体

首先推荐一个编程的字体:monaco字体事实上是苹果电脑上的一款默认字体,号称苹果出品最好的编程字体。...的文件形式以后就会看到最后有这个字体相关的设置 然后加入,我把字体的连体也打开了 "workbench.colorCustomizations": { //覆盖当前所选颜色主题的颜色...有一些是随着版本的更新,API的接口发生了变化 ?...有两种方法可以将数学方程嵌入 Markdown 单元格: 使用单个美元符号:.... 这将创建一个内联数学方程。 使用双美元符号: ... . 这将创建一个居中的块数学方程。...https://katex.org/docs/supported.html 以上的链接和图片是这个数学编辑器的一些基本用法 VSCode变得越来越好,越来越强大,不断的蚕食着别家编辑器的生存地位。

2.5K10
领券