Monaco Editor编辑器教程(三一):在编辑器中实现模拟调试的交互

news2024/12/25 23:43:34

前言

最近有小伙伴咨询如何在编辑中实现 像vscode调试代码那样,可以打断点,可以高亮当前运行的一行。这样的需求并不多见,如果要做,那肯定是对编辑器做一个深层次的定制。一般很少很少会实现这种在浏览器中调试。
目前我还没见过,如果有遇到过的朋友可以指点一下。我去学习一下。
废话不多说,既然读者提出这样的要求,那肯定是有场景的。只是自己没有遇到过。
于是自己调研了一番, 勉强使用glyphMargin 与行高亮实现了。

下面讲解一下。

核心实现思路

在调试这一功能中,有一下几个动作,打断点,高亮当前运行的行,以及显示变量的值。最后一个暂时还没有实现。

像vscod,调试的页面大致是这样的。
在这里插入图片描述

还有chrome 浏览器的调试。
在这里插入图片描述

而我最终实现的效果是
在这里插入图片描述

首先是用户点击 行号的左侧区域,进行创建断点,
这里需要调用monaco的鼠标事件 editor.onMouseDown() ,由于鼠标事件有很多,我们需要挑选出,点击的是行号左侧区域的事件ÿ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/526880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cesium AI GPT 文档 源码 ChatGPT问答

我用Cesium104.0的 源码 | 文档 | 3DTiles标准 作为上下文语料定制了一个智能Cesium专家问答助手 语料: 3D Tiles Specificationhttps://cesium.com/downloads/cesiumjs/releases/1.104/Build/CesiumUnminified/Cesium.jshttps://github1s.com/CesiumGS/cesium/blob/HEAD/Doc…

redis中的管道

Redis 管道 文章目录 1. 前言2. Redis 管道3. 小总结 1. 前言 通过一个问题引出 我们接下来要学习的 Redis 管道 : 提问 : 如何优化频繁命令往返造成的性能瓶颈 ? 另外 : 关于上面这个问题的由来 也可以简单的说一说 上面所说的思路 其实就是管道的概念 &#xff0…

读俞敏洪的书

没有认真写过一篇关于书籍的读后感文章,但在读完俞敏洪老师这本书后,想推荐给大家,也想分享下我的想法。 几周前,我在微信读书首页看到了俞敏洪老师的读书推荐 《在绝望中寻找希望》——俞敏洪写给迷茫不安的年轻人 有好几个晚上&…

电池只能充电500次?别太荒谬!收下这份真正的充电秘籍

我们的生活已经离不开电子设备了,而电子设备嘛,又离不开给它们提供能源的电池。在网上有许许多多的“延长电池寿命小技巧”,比如“新买的电子设备,第一次充电之前要把电都放完”“笔记本电脑一直插着电源可以保护电池”“长期不用…

区分COCO数据集的coco minival和coco test-dev、conda常用命令和python -m 的作用

1、COCO数据集的测试集coco minival和coco test-dev: 两个数据集在官方网站对应的内容如下所示: COCO数据集官网:https://cocodataset.org/#download 两个数据集的区分参考网址:https://zhuanlan.zhihu.com/p/533676547 2、conda常用命令…

linux中epoll+socket实战

目录 参考前言案例 一、epoll的基本使用首先是epoll_create函数:然后是epoll_ctl函数:最后是epoll_wait函数:关于ET(边沿触发)、LT(水平触发)两种工作模式可以得出这样的结论: 二、使用代码简易…

基于html+css的图展示71

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

某音X-Bogus算法研究 2023-05-15

本文以教学为基准,研究JavaScript算法及反爬策略、本文提供的可操作性不得用于任何商业用途和违法违规场景。 如有侵权,请联系我进行删除。 今天我们分析一下douyin个人主页数据获取。 大多数小伙伴应该都知道想要拿到douyin的数据也不是那么容易的&a…

近世代数 笔记与题型连载 第十三章(环与域)

文章目录 基本概念1.环1.1.环的定义1.2.环的性质1.3.几种特殊的环1.4.子环 2.域2.1.域的定义2.2.环与域的同态 相关题型1.验证一个代数系统是否是一个环2.判断一个代数系统是否是整环3.判断一个代数系统是否是另一个代数系统的子环4.判断一个代数系统是否是域 基本概念 1.环 …

sed编辑器命令

sed编辑器 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。 sed 的工作流程主要包括读取…

Nat. Commun | 中国海洋大学张伟鹏组揭示海洋生物被膜群落硫氧化主要菌群及其作用机制...

海洋生物被膜玫瑰杆菌的厌氧硫氧化机制 Anaerobic thiosulfate oxidation by the Roseobacter group is prevalent in marine biofilms Article,2022-04-11,Nature Communications,[IF 17.7] DOI:10.1038/s41467-023-37759-4 原文…

Apache Hive函数高阶应用、性能调优

Hive的函数高阶应用 explode函数 explode属于UDTF函数,表生成函数,输入一行数据输出多行数据。 功能: explode() takes in an array (or a map) as an input and outputs the elements of the array (map) as separate rows.--explode接收…

「 操作系统 」CPU缓存一致性协议MESI详解

「 操作系统 」CPU缓存一致性协议MESI详解 参考&鸣谢 缓存一致性协议MESI 小天 CPU缓存一致性协议MESI 枫飘雪落 CPU缓存一致性协议(MESI) 广秀 2.4 CPU 缓存一致性 xiaoLinCoding 文章目录 「 操作系统 」CPU缓存一致性协议MESI详解一、计算机的缓存一致性二、CPU高速缓存…

100种思维模型之长远思考思维模型-63

古语有云:“人无远虑,必有近忧!” 任正非说:不谋长远者,不足以谋一时! 长远思考思维,一个提醒我们要运用长远眼光,树立宏大目标,关注长期利益的思维模型 01何谓长远思考…

深度学习架构的对比分析

深度学习的概念源于人工神经网络的研究,含有多个隐藏层的多层感知器是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示,以表征数据的类别或特征。它能够发现数据的分布式特征表示。深度学习是机器学习的一种,而机器学习是…

浅谈数据资产测绘系统的作用和挑战

随着数据被定义为第五大生产要素,数据已经成为数字经济发展的核心驱动力。数据资源的充分利用和开放共享给政企单位带来便利的同时,也带来了相应的数据安全风险。因此,摸清并动态掌握数据资产情况,持续进行数据资产测绘就成为企业…

Golang每日一练(leetDay0066) 有效电话号码、转置文件

目录 193. 有效电话号码 Valid Phone Numbers 🌟 194. 转置文件 Transpose File 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 193. 有效电话号…

IDEA常用配置和插件总结

文章目录 1\. 配置1.1 设置编译版本1.2 设置编码1.3 自动导包1.4 自动编译1.5 设置主题1.6 设置字体字号1.7 滚轮修改字体大小1.8 控制台字体1.9 行号与方法分隔符1.10 忽略大小写字母1.11 多行显示1.12 设置 Maven1.13 GitHub 账户1.14 配置 Git1.15 配置文件隐藏1.16 配置相同…

java中List与AbstractList

一、List 接口 List 接口继承了 Collection 接口,在 Collection 接口的基础上增加了一些方法。相对于 Collection 接口,我们可以很明显的看到,List 中增加了非常多根据下标操作集合的方法,我们可以简单粗暴的分辨一个方法的抽象方…

C++——动态管理(类和对象收尾)

作者:几冬雪来 时间:2023年5月14日 内容:C内存管理讲解 目录 前言: 1.类的对象(收尾): 1.友元函数: 2.内部类: 3.匿名对象: 4.优化: 2.…