赞
踩
const fullScreen = (id: number) => {
//template.editors[id].editorObj
//这个就是你使用 monaco.editor.create() 这个函数得出的对象
const element = template.editors[id].editorObj.getContainerDomNode()
//将元素全屏
element.requestFullscreen()
}
//我的是多个编辑器所以我使用了数组,这里的Index是数组的下标 const initEditor = (index) => { //获取页面元素 const element = document.getElementById(`edit${index}`) //创建编辑器 const editor = monaco.editor.create(element, { value: template.form.files[index].content, language: 'go', theme: 'vs-dark', automaticLayout: true }) //将编辑器放入数组中管理 template.editors[index] = { language: 'go', editorObj: editor, //这个方法很重要我是通过这个方法来实现对语言的切换的 changeLanguage: () => monaco.editor.setModelLanguage(editor.getModel(), template.editors[index].language) } }
npm install monaco-editor
import * as monaco from 'monaco-editor'
<template>
<div id="editor" style="width:100%;height:100%"></div>
</template>
monaco.editor.create(document.getElemeentById('editor'),{
value: '', //编辑器内容
language: '', //语言
theme: 'vs-dark',//主题
automaticLayout: true,//自动适应大小
})
参数 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
value | 编辑器的初始值 | string | - | - |
theme | 编辑器的主题样式,除了提供的可选值外,也可以通过monaco.editor.defineTheme自定义主题 | string | ‘vs’ | ‘vs’,‘vs-dark’,‘hc-black’ |
language | 编辑器的初始语言,例如可以设置为javascript, json等 | string | - | 可使用 monaco.languages.getLanguages() 查看其他可选值 |
model | 和编辑器关联的初始模型 | ITextModel | - | - |
lineNumbers | 控制行数的渲染,如果是function,那么会使用return的内容作为行数展示 | string/Function | ‘on’ | ‘on’,‘off’,‘relative’, ‘interval’, ‘(lineNumber: number) => string’ |
readOnly | 控制编辑器是否只读 | boolean | false | - |
autoClosingBrackets | 自动闭合括号 | string | ‘languageDefined’ | ‘always’/‘languageDefined’/‘beforeWhitespace’/‘never’ |
autoClosingOvertype | 自动闭合括号或引号 | string | - | ‘always’/‘auto’/‘never’ |
autoClosingQuotes | 自动闭合引号 | string | ‘languageDefined’ | ‘always’/‘languageDefined’/‘beforeWhitespace’/‘never’ |
autoIndent | 自动缩进 | string | ‘advanced’ | ‘none’/‘keep’/‘brackets’/‘advanced’/‘full’ |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。