vue下使用Monaco Editor

本文档介绍了如何在Vue项目中使用Monaco Editor,包括安装环境、配置文件修改以及进阶功能如文件改动状态监测、语言切换、编辑器事件触发等。
摘要由CSDN通过智能技术生成

vue下使用Monaco Editor

1.简介

​ Monaco Editor是为VS Code提供支持的代码编辑器。描述代码编辑器的功能,良好的网页是在这里。它已获得MIT许可,并支持Classic Edge,Edge,Chrome,Firefox,Safari和Opera。移动浏览器或移动Web框架支持Monaco编辑器(但移动的有的浏览器是支持的,起码我用的几个都支持)。

2.开始

2.1 安装环境

npm install monaco-editor@0.21.2 --save
npm install monaco-editor-webpack-plugin --save //这个必须安装,不然起不来

2.2 配置文件

修改webpack.base.conf.js配置文件。(前几步借鉴时间脱臼大神博客,步骤大同小异)

const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
module.exports = {
  ...
  plugins: [
    ...
    new MonacoWebpackPlugin()
  ]
};

2.3 开始使用

新建vue文件,添加如下代码即可使用

<div id="container"></div> <!--宽高自行设定 -->
import * as monaco from 'monaco-editor'
export default{
   
    data(){
   
        return {
   
            editor:null,//文本编辑器
        }
    },
    mounted(){
   
      this.initEditor();  
    },
    methods:{
   
        initEditor(){
   
            // 初始化编辑器,确保dom已经渲染
            this.editor = monaco.editor.create(document.getElementById('container'), {
   
                value:'',//编辑器初始显示文字
                language:'sql',//语言支持自行查阅demo
                automaticLayout: true,//自动布局
                theme:'vs-dark' //官方自带三种主题vs, hc-black, or vs-dark
            });
        },
        getValue(){
   
            this.editor.getValue(); //获取编辑器中的文本
        }
    }
}

附:Monaco Editor demo

附:语言支持(当然支持自定义语言)

//modesIds即为支持语言
var modesIds = monaco.languages.getLanguages().map(function(lang) {
    return lang.id; });

附:配置项(根据自身需要在初始化编辑器是配置) 配置项链接

selectOnLineNumbers: true,//显示行号
roundedSelection: false,
readOnly: false,        // 只读
cursorStyle: 'line',        //光标样式
automaticLayout: false, //自动布局
glyphMargin: true,  //字形边缘
useTabStops: false,
fontSize: 28,       //字体大小
autoIndent:true,//自动布局
quickSuggestionsDelay: 500,   //代码提示延时

至此,最简单的文档编辑器已经完成。

3. 进阶

3.1 文件改动状态

export default
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值