Monaco编辑器使用记录
2021-01-09 本文已影响0人
holyhigh2
根据行数控制窗口高度
- 首先禁用额外滚动区,在创建编辑器时指定如下属性
scrollBeyondLastLine: false,
- 获取内容行数。初始化时可以根据\r算出,动态内容通过editor接口获取
editor.getModel().getLineCount()
- 获取每行高度
editor.getOption(monaco.editor.EditorOption.lineHeight);
- 修改editor DOM容器高度,然后刷新editor布局
editor.style.height = lineCount * lineHeight +'px';
editor.layout();
至此就完成了编辑器高度动态变化的设定
动态调整编辑器窗口高度
- 监听onDidChangeModelContent事件
editor.onDidChangeModelContent(...)
注意,事件会在任何内容变更时出发(不一定是换行),所以可以记录行数进行优化,防止频繁调用
- 在事件内根据内容行数调整窗口(上节内容)
附录
- monaco create/updateOptions可用参数查看