monaco-code
v0.0.2
Published
基于 `monaco-editor` Vue 版本编辑器
Downloads
3
Maintainers
Readme
monaco-code
基于 monaco-editor
Vue 版本编辑器
在线示例
请查看
安装
cnpm i monaco-code
使用方法
<template>
<MonacoCodeEditor :value="...">
</template>
<script>
import MonacoCode from "monaco-code"
Vue.use(MonacoCode)
</script>
or
<template>
<MonacoCodeEditor :value="...">
</template>
<script>
import { MonacoCodeEditor } from "monaco-code"
Vue.component("MonacoCodeEditor", MonacoCodeEditor)
</script>
参数说明
value, language, theme 这些参数优先级更高,会覆盖 options 里相同字段
| 参数 | 说明 | 类型 | 默认值 |
| -------- | ------ | ------ | -------------------------------------------- |
| value | 初始值 | string | |
| language | 语言 | string | javascript | json | html 默认 javascript
|
| height | 初始值 | string | |
| width | 初始值 | string | |
| theme | 主题 | string | vs | vs-dark | hc-black 默认 vs
|
| options | 配置项 | object | 参考下文 |
options 参数
| 参数 | 说明 | 类型 | 默认值 |
| ----------------------- | ---------------------------- | ------- | ------------------------------------------------------- |
| theme | 主题 | string | vs | vs-dark | hc-black 默认 vs
|
| value | 默认显示值 | string | |
| language | 语言 | string | javascript | json | html 默认 javascript
|
| fontSize | 字体大小 | number | 14 |
| folding | 是否折叠 | boolean | true |
| foldingHighlight | 折叠等高线 | boolean | true |
| foldingStrategy | 折叠方式 | string | auto | indentation 默认 indentation
|
| showFoldingControls | 是否一直显示折叠 | string | always | mouseover |
| disableLayerHinting | 等宽优化 | boolean | true |
| emptySelectionClipboard | 空选择剪切板 | boolean | false |
| selectionClipboard | 选择剪切板 | boolean | false |
| automaticLayout | 自动布局 | boolean | true |
| autoIndent | 自动锁进 | boolean | true |
| codeLens | 代码镜头 | boolean | false |
| scrollBeyondLastLine | 滚动完最后一行后再滚动一屏幕 | boolean | false |
| colorDecorators | 颜色装饰器 | boolean | false |
| accessibilitySupport | 辅助功能支持 | string | auto | off | on 默认值 off
|
| selectOnLineNumbers | 显示行号 | boolean | true |
| lineNumbers | 行号 | string | on | off | relative | interval | function 默认 on
|
| lineNumbersMinChars | 行号最小字符 | number | 5 |
| enableSplitViewResizing | 自动切换视图 | boolean | false |
| readOnly | 是否只读 | boolean | false |
方法说明
可供外部调用的方法
| 方法 | 说明 | 参数 | 返回值 | 备注 | | ------------- | ------------------ | --------------- | ------------------------- | -------- | | mounted | 编辑器创建完成后 | editor:instance | 编辑器实例 | | | setValue | 设置初始值 | value:string | | 暂不支持 | | setTheme | 设置主题 | theme:string | vs | vs-dark | hc-black | 暂不支持 | | getValue | 获取编辑器值 | | value:string | 暂不支持 | | changeOptions | 修改编辑器配置 | options:object | | | | setLanguage | 动态修改编辑器语言 | language:string | | 暂不支持 | | touchTrigger | 主动触发编辑器事件 | action:string | | 暂不支持 |
Vue 插件配置
需要配置插件monaco-editor-webpack-plugin
才可以使用
npm i monaco-editor-webpack-plugin -D
const MonacoWebpackPlugin = require("monaco-editor-webpack-plugin")
module.exports = {
...
configureWebpack: {
plugins: [
new MonacoWebpackPlugin({
languages: ["javascript", "css", "html", "typescript", "json", "xml"]
})
]
}
...
}