UNPKG

yanzi-monaco-editorbb

Version:

这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器

70 lines (58 loc) 1.65 kB
## 相关 API 创建编辑器容器 ```js let ed = document.getElementById("monaco"); this.myEditor = monaco.editor.create(ed, { theme: this.theme }); ``` 获取内容 ```js this.myEditor.getValue(); ``` 动态设置主题 ```js moncao.editor.setTheme("vs"); // 可选值 vs | vs-dark | hc-dark ``` 动态设置窗口尺寸 ```js this.myEditor = monaco.editor.create(ed, { automaticLayout: true // 首先,在初始化的时候就要指定,这个属性为 true }); // 然后,在需要按照父级尺寸计算的时候,调用以下方法 this.myEditor.layout(); ``` 向编辑器中光标位置插入内容 ```js insertText(content) { var line = this.myEditor.getPosition(); var range = new monaco.Range(line.lineNumber, 1, line.lineNumber, 1); let suffix = content.substring(content.lastIndexOf(".") + 1); var id = { major: 1, minor: 1 }; /* eslint-disable */ var text = suffix == "js" ? `\t<script src="${content}"><\/script>` : `\t<link rel="stylesheet" href="${content}"/>`; /* eslint-disable */ var op = { identifier: id, range: range, text: text, forceMoveMarkers: true }; this.myEditor.executeEdits("my-source", [op]); } ``` 更改编辑器配置 ```js //此例为更改编辑器为只读模式,其余以此类推 this.editor.updateOptions({readOnly:true}) ``` 获取选中内容 ```js //获取编辑器选中的参数,包括起始行等等 var selection = this.editor.getSelection(); //获取当前选中的文本 var text = currentFn(editor,selection.startLineNumber,selection.startColumn,selection.endLineNumber,selection.endColumn); ```