angular如何使用monaco-editor


今天小编给大家分享一下angular如何使用monaco-editor的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在 angular12 及之前你可以选择monaco-editorngx-monaco-editor这是没有问题的 但是如果你使用了更高版本的 angular 在使用 npm 安装 ngx-monaco-editor 时 会报错。因为原作者似乎已经停止了对这个库的维护 最终的支持停留在了 angular12 版本当然 你选择可以选择正如提示那样 用 –force 或者 –legacy-peer-deps 来解决问题但是为了 消除/避免 隐藏的一些问题 我在原作者的基础上将框架的 angular 支持提升到了 14 并且会一直更新当然 你也可以选择将作者的源代码移入自己的本地代码中 这也是完全没有问题的base-editor.ts 引入 monaco-editorconfig.tsdiff-editor.component.tseditor.component.tseditor.module.tstypes.ts你只需要移动 lib 目录下的六个文件 然后把它们当成自己项目中的一个 module 去使用就好了其实所有的 api 都可以在 editor.api.d.ts 这个文件中找到

//在这个editor下就可以找到所有TS类型
import{editor}from'monaco-editor';

下面记录一下常用的1、设置

//eg
exportconstREAD_EDITOR_OPTIONS:editor.IEditorOptions={
readOnly:true,
automaticLayout:false,
minimap:{
enabled:false,
},
renderFinalNewline:false,
scrollbar:{
vertical:'visible',
},
mouseWheelZoom:true,
contextmenu:false,
fontSize:16,
scrollBeyondLastLine:false,
smoothScrolling:true,
cursorWidth:0,
renderValidationDecorations:'off',
colorDecorators:false,
hideCursorInOverviewRuler:true,
overviewRulerLanes:0,
overviewRulerBorder:false,
};

2、获取editor实例



publicinitViewEditor(editor:editor.ICodeEditor):void{
//这个editor就是实例
//下面方法中的editor就是这里的editor
this.editor=editor
}

3、获取当前光标位置

editor.getPosition()

4、获取当前鼠标选中的文本

editor.getModel().getValueInRange(editor.getSelection());

5、修改光标位置

editor.setPosition({
column:1,
lineNumber:1,
});

6、滚动指定行到可视区中间

editor.revealLineInCenter(1);

7、绑定事件

editor.onMouseDown(event=>{
//dosomething
});
editor.onKeyDown(event=>{
//dosomething
});

8、保存/恢复快照

constsnapshot=editor.saveViewState();
editor.restoreViewState(snapshot);

9、阻止某个事件

//eg组件默认的搜索快捷键
functionisMac(){
return/macintosh|macosx/i.test(navigator.userAgent);
}

editor.onKeyDown(event=>{
if(
(isMac()&&event.browserEvent.key==='f'&免费云主机域名;&event.metaKey)||
(!isMac()&&event.browserEvent.key==='f'&&event.ctrlKey)
){
event.preventDefault();
event.stopPropagation();
}
});

以上就是“angular如何使用monaco-editor”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: Zookeeper知识点有哪些

这篇文章主要介绍“Zookeeper知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Zookeeper知识点有哪些”文章能帮助大家解决问题。两种类型的队列:1、同步队列,当一个队列的成员都聚齐时,这个队列才可…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/12 15:13
下一篇 02/12 15:13

相关推荐