更新记录

v1.1(2023-08-07)

插件上传


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.8.12 app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

ElvisCode代码编辑插件

elviscode 基于monaco-editor进行封装,

安装前准备

1、 安装monaco-editor

  npm install monaco-editor -S

2、页面中引入elvis-code 组件

<template>
    <view class="content">
        <elvis-code ref="elvisEditor" :height="height" :options="options" :width="width" :code.sync="code"></elvis-code>
        <button @tap="getCode()">获取代码内容</button>
    </view>
</template>

<script>
    import ElvisCode from "@/uni_modules/elvis-code/components/elvis-code/elvis-code.vue"
    export default {
        data() {
            return {
                // 设置编辑器高度
                height: '500px',
                // 设置编辑器宽度
                width: '100%',
                // 编辑器属性,具体配置看 4、编辑器属性配置选项说明
                options: {
                },
                code: 'setTimeout(\'alert("hello elvis-code")\', 3000)'
            }
        },

        methods: {
            getCode() {
                console.log(this.code)
            }
        }
    }
</script>

3、注意事项

组件默认语言为javascript,如果需求修改语言类型,需要修改组件,语言目录位于 monaco-editor/esm/vs/basic-languages

  // javascript引入
import "monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution"

4、编辑器属性配置选项说明

// 默认主题 vs,vs-dark,hc-black
theme: "vs-dark", 
value: this.code, 
// 编辑器语言'javascript', 'yaml', 'json', 'xml'
language: "javascript",
// 是否折叠
folding: true, 
// 折叠等高线
foldingHighlight: true, 
// 折叠方式  auto | indentation
foldingStrategy: "indentation",
// 是否一直显示折叠 always | mouseover
showFoldingControls: "always",
// 等宽优化
disableLayerHinting: true, 
// 空选择剪切板
emptySelectionClipboard: false, 
// 选择剪切板
selectionClipboard: false, 
// 自动布局
automaticLayout: true, 
// 代码镜头
codeLens: false, 
// 滚动完最后一行后再滚动一屏幕
scrollBeyondLastLine: false,
// 颜色装饰器
colorDecorators: true, 
// 辅助功能支持  "auto" | "off" | "on"
accessibilitySupport: "off",
// 行号 取值: "on" | "off" | "relative" | "interval" | function
lineNumbers: "on", 
// 行号最小字符   number
lineNumbersMinChars: 5,
enableSplitViewResizing: false,
//是否只读  取值 true | false
readOnly: false, 

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问