0.0.2 • Published 3 years ago

monaco-code v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

monaco-code

基于 monaco-editor Vue 版本编辑器

npm.io npm.io npm.io npm.io

在线示例

请查看

monaco-code

安装

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语言stringjavascript | json | html 默认 javascript
height初始值string
width初始值string
theme主题stringvs | vs-dark | hc-black 默认 vs
options配置项object参考下文

options 参数

参数说明类型默认值
theme主题stringvs | vs-dark | hc-black 默认 vs
value默认显示值string
language语言stringjavascript | json | html 默认 javascript
fontSize字体大小number14
folding是否折叠booleantrue
foldingHighlight折叠等高线booleantrue
foldingStrategy折叠方式stringauto | indentation 默认 indentation
showFoldingControls是否一直显示折叠stringalways | mouseover
disableLayerHinting等宽优化booleantrue
emptySelectionClipboard空选择剪切板booleanfalse
selectionClipboard选择剪切板booleanfalse
automaticLayout自动布局booleantrue
autoIndent自动锁进booleantrue
codeLens代码镜头booleanfalse
scrollBeyondLastLine滚动完最后一行后再滚动一屏幕booleanfalse
colorDecorators颜色装饰器booleanfalse
accessibilitySupport辅助功能支持stringauto | off | on 默认值 off
selectOnLineNumbers显示行号booleantrue
lineNumbers行号stringon | off | relative | interval | function 默认 on
lineNumbersMinChars行号最小字符number5
enableSplitViewResizing自动切换视图booleanfalse
readOnly是否只读booleanfalse

方法说明

可供外部调用的方法

方法说明参数返回值备注
mounted编辑器创建完成后editor:instance编辑器实例
setValue设置初始值value:string暂不支持
setTheme设置主题theme:stringvs | 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"]
      })
    ]
  }
  ...
}