Monaco Editor教程(十六):缩略图minimap的配置详解

news2024/11/19 0:52:06

背景

缩略图 (Minimap) 是一种常见的用于快速预览和探索的工具,可作为导航辅助用户探索大规模图。
在大文件的阅读和编辑中,能够起到很好的导航作用,并且缩略图能够显示文件结构的大致轮廓,使开发人员能够快速知道对应的编辑位置。下面就来看一下monaco中minimap有哪些配置项,能够做出哪些特性。

在monaco中,minimap的底部是使用canvas来实现的,其中的滑动部分是一个div。内容可以是文件的文字,也可以是色块。

在这里插入图片描述

minimap 配置项

在monaco中,配置缩略图是在创建editor时使用minimap来配置,一共有8个配置项,分别是:autohideenabledmaxColumnrenderCharactersscaleshowSlidersidesize
接口文档定义

/**
* Configuration options for editor minimap
 */
export interface IEditorMinimapOptions {
	/**
	 * Enable the rendering of the minimap.
	 * Defaults to true.
	 */
	enabled?: boolean;
	/**
	 * Control the rendering of minimap.
	 */
	autohide?: boolean;
	/**
	 * Control the side of the minimap in editor.
	 * Defaults to 'right'.
	 */
	side?: 'right' | 'left';
	/**
	 * Control the minimap rendering mode.
	 * Defaults to 'actual'.
	 */
	size?: 'proportional' | 'fill' | 'fit';
	/**
	 * Control the rendering of the minimap slider.
	 * Defaults to 'mouseover'.
	 */
	showSlider?: 'always' | 'mouseover';
	/**
	 * Render the actual text on a line (as opposed to color blocks).
	 * Defaults to true.
	 */
	renderCharacters?: boolean;
	/**
	 * Limit the width of the minimap to render at most a certain number of columns.
	 * Defaults to 120.
	 */
	maxColumn?: number;
	/**
	 * Relative size of the font in the minimap. Defaults to 1.
	 */
	scale?: number;
}

下面我们一起详细看一下每个配置参数。

autohide

是否自动隐藏缩略图,值为boolean类型, 默认为false。设置为true后,之后鼠标hover在缩略图区域上,才会显示缩略图,这个对于特别长的文本编辑有一定好处。毕竟minimap也会遮挡一部分文本。

enabled

是否开启minimap,值为boolean类型, 默认为true。

maxColumn

minimap渲染的最大列,值为number类型, 默认渲染120列。这个数字也决定了 minimap的宽度。设置越小,minimap也会越小。反之越大。

renderCharacters

是否在minimap上渲染字符,值为boolean类型。默认是渲染文字,设置为false后,只渲染色块。如下图
渲染文字
在这里插入图片描述
渲染色块
在这里插入图片描述

scale

相对minimap的字体大小 值为number类型,默认为5,设置越大,minimap上的字体越大,对老龄化很友好(😅),如下图是一个scale设置为3的minimap
在这里插入图片描述
就算你设置再大,你也基本上本不去其中的字,无法越大,只会把结构表现的更加清晰。长短相依,对齐工整。

showSlider

在这里插入图片描述

控制minimap的滑块, 枚举值有二个 alwaysmouseover。 设置always时,滑块持续显示,设置mouseover时只有鼠标hover在minimap时显示。

side

控制minimap的位置是在编辑器的左侧还是右侧, 枚举值有rightleft。默认是右侧,当设置左侧时
效果如下
在这里插入图片描述

size

size 是用于控制minimap的渲染模式,枚举值有 proportionalfillfit
默认渲染效果
在这里插入图片描述

proportional 均衡地渲染 效果
在这里插入图片描述

fill 填充效果

在这里插入图片描述

fit 自适应效果
在这里插入图片描述

核心演示代码

 require.config({ paths: { vs: './monaco-editor/package/min/vs' } });
 let editor

 require(['vs/editor/editor.main'], function () {

   const uri = monaco.Uri.parse('http://baudu.com/fizz.js')
   const model = monaco.editor.createModel(oldVersion, '', uri)
   editor = monaco.editor.create(document.getElementById('container'), { 
     model,
     minimap: {
       autohide: true,
       enabled: true,
       maxColumn: 80,
       renderCharacters: true,        
       showSlider: 'always', // "always" | "mouseover"
       side: 'left', // "right" | "left"
       size: 'fit', // "proportional" | "fill" | "fit"
     }
   })
 }); 

总结

minimap在大文件和表现文件结构有很好的用处。但大多少基本默认的配置以及能够满足要求。

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

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

相关文章

WordPress重新安装的几种方法(2022年新版教程)

我们在建网站的过程中,可能出于某些原因会把网站重装,例如网站中病毒了、网站做的不满意,重头开始。本文会给大家分享一下2022年可行的重装WordPress网站方法。 1 重装WordPress的方法 方法一:重置数据库 方法二:宝塔面…

【MySQL】MySQL基础、详细总结

数据库Mysql 内容管理数据库基础什么是DB、DBMS、DBS、DBA?什么是元组、码、候选码、主、外码(键)、(非)主属性?主、外码的区别?为什么不推荐使用外码和级联 ?【分布式高并发】什么是…

Servlet规范之部署描述符

Deployment Descriptor 文章是对 JSR-000340 JavaTM Servlet 3.1 Final Release的Java™ Servlet规范的翻译,尚未校准 文章目录Deployment Descriptor部署描述符元素部署描述符的处理规则部署描述符部署描述符示意图web-app元素description Elementdisplay-name Ele…

从零开始学前端:json对象,冒泡排序 --- 今天你学习了吗?(JS:Day15)

从零开始学前端:程序猿小白也可以完全掌握!—今天你学习了吗?(JS) 复习:从零开始学前端:字符串、数组的方法 — 今天你学习了吗?(JS:Day12/13/14&#xff09…

范式建模维度建模 及结合BW的一些理解

用了几年BW了,时不时会想,BW为什么要这么设计啊,有时候用的可真麻烦,最近研究了下两种常见的建模理论,有了自己的一点感悟,我们从头开始,有很多资料是从大佬那里摘录的,就不一一列举了 一、范式…

DOPA-PEG-azide,Dopamine-PEG-N3,多巴胺PEG叠氮用于点击化学

多巴胺-聚乙二醇-叠氮(DOPA-PEG-azide,Dopamine-PEG-N3)该试剂具有更好的水溶性,它所属分类为Azide PEG Dopamine PEG。 peg试剂的分子量均可定制,有:2k、5k、3.4k、10k、20k、1k 。其质量控制为95%&#…

基于Matlab模拟用于天气观测的极化雷达回波(附源码)

目录 一、雷达定义 二、天线方向图 四、雷达脉冲合成 五、天气雷达力矩估计 六、仿真结果 6.1反射率 6.2 径向速度 6.3 频谱宽度 6.4 差分反射率 6.5 相关系数 6.6 差分相位 七、总结 八、程序 本示例展示了如何模拟满足天气观测要求的极化多普勒雷达回波。雷达在天…

柯桥增值税留抵如何退税?

今年,国家税务总局出台了“增值税期末留底退税”政策,这无疑对一些现金流缺乏的企业又是一重大利好呀! 那么问题来了,咱们会计该如何操作领回这一部分钱呢? 接下来跟着豆哥一块儿操作退税吧~ 政策解读 重点提醒&…

驱动——LED灯循环闪烁

使用结构体形式对寄存器地址进行映射,实现3盏LED灯的循环点亮 1、创建LED灯点亮所需要的GPIO寄存器的结构体,并对寄存器地址进行宏定义 2、①通过ioremap函数将物理地址映射为虚拟地址 void* ioremap(phys_addr_t offset, size_t size) 函数功能&…

Mysql主从复制出现connecting

主从同步时出现Slave_IO_Running:Connecting首先解决Slave_IO_Running和Slave_SQL_Running是no的问题,原因是一台虚拟机是由另一台虚拟机复制过来的,就会导致uuid是一样的,需要先修改server的uuid,具体请查阅相关资料。…

【FME实战教程】001:FME2020中文安装图文教程(附安装包下载)

文章目录1. 安装license2. 安装FME Desktop3. 安装中文语言4. FME软件下载地址1. 安装license 打开软件安装包中的fme-flexnet-win-x64.msi,如下图所示: 点击Next。 点击Next。 单击install。 点击finish,完成。 (1)修…

pytorch入门教程(小土堆

pytorch入门教程、一些基础函数的概念(参考代码),主要是带着读了一遍pytorch官方文档、另外推荐一个网站 www.paperswithcode.com,感觉很厉害的样子。 P5. PyTorch加载数据初认识_哔哩哔哩_bilibili import torch torch.cuda.is_a…

年产10000吨即食型大头菜工厂设计

目 录 摘 要 I ABSTRACT II 第1章 绪论 1 1.1即食大头菜发展现状及市场前景 1 1.1.1世界即食大头菜发展的特点与趋势 1 1.1.2我国即食大头菜发展现状 1 1.1.3即食大头菜的生产现状及前景展望 2 1.2专家点评 3 第2章 厂址选择 5 2.1厂址选择依据及范围 5 2.1.1选址依据 5 2.1.2选…

3.46 OrCAD软件怎么输出物料清单BOM表格?

笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验&a…

asp.net+sqlserver笔记本电脑售后服务管理系统C#

研究内容与章节安排 全文的结构如下: 第一章:引言。论述课题提出的背景、对目前笔记本电脑售后服务系统的国内外发展水平进行了分析研究,通过比对,提出笔记本电脑售后服务系统的涵义及其优越性。 第二章:笔记本电脑售后…

LabVIEW性能和内存管理 4

LabVIEW性能和内存管理 4 本文介绍LabVIEW性能和内存管理的几个建议4。 传输缓冲区 传输缓冲区保护操作缓冲区和执行缓冲区之间的数据传输 只有当前面板在内存中时才更新 为了保护操作和执行缓冲区之间的数据传输,LabVIEW使用传输缓冲区。当您处理大型数据集&am…

17-Explain执行计划-01

Explain 执行计划 什么是执行计划 有了慢查询语句后,就要对语句进行分析。一条查询语句在经过 MySQL 查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划,这个执行计划展示了接下来具体执行查询的方式,比如多表连接的顺序是什…

Java基于springboot +vue的箱包销售购物网站 多商家

随着人们生活的节奏越来越快,很多时候人们在外出的时候会有大包小包。所以这个时候如何选择适合自己的物美价廉的箱包是一个很重要的环节。选对了箱包不仅能够增加大街上的回头率同时也能够方便自己的出行。当前箱包市场鱼目混杂且价格昂贵。随着互联网的发展&#…

intellij plugin(插件)的项目解析及研读

文章目录资料action_basics (基本的响应操作)plugin.xmlCustomDefaultActionGroupPopupDialogActionDynamicActionGroupcomparing_references_inspection (关注代码提示)conditional_operator_intention [未成功复现]editor_basics (选择文字替换等)Caret PositionEditor Add C…

java项目-第137期jsp+servlet的周公算命预测系统-java毕业设计

java项目-第137期jspservlet的周公算命预测系统-计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《周公算命预测系统》 该项目分为管理员和普通用员2个角色。 管理员主要负责后台的信息维护:算命分类管理(比如八字、星座、相命)、管理员信息管理、用户信…