如何在JupyterLab中获取CodeMirror实例的引用?
JupyterLab 获取原生CodeMirror实例引用的方法
背景说明
官方文档明确CodeEditorWrapper实例内部持有原生CodeMirror实例,但直接取CodeEditorWrapper的editor属性并非原生CodeMirror实例,无法直接调用原生API实现诸如获取当前滚动可见行之类的功能。
正确获取方式
拿到单元格(cell)引用后,需要经过一层类型转换才可访问到原生CodeMirror实例,访问路径如下:(Cell<ICellModel>#editor as CodeMirrorEditor).editor
完整示例代码
// 遍历Notebook下所有单元格 Notebook#widgets.forEach((cell: Cell<ICellModel>) => { // 获取原生CodeMirror实例 const nativeCmInstance = (cell.editor as CodeMirrorEditor).editor // 后续可直接调用CodeMirror原生API实现需求,比如获取可见行等操作 });
内容的提问来源于stack exchange,提问作者stackhatter
相关产品推荐
相关产品推荐

