在vue项目中使用monaco-editor

摘要:
divide=“容器”>&书信电报;从“vue property decorator”导入*asmonacofrom'mono-editor';monacoEditor;mounted(){this.monacoEditor=monaco.editor.create(document.getElementById('container'),

monaco-editor: https://github.com/Microsoft/monaco-editor

在ESM中的使用官方也有对应文档:https://github.com/Microsoft/monaco-editor/blob/master/docs/integrate-esm.md

现基于vue-cli2的项目做具体步骤说明:

1. 安装:

cnpm install monaco-editor --save

cnpm install monaco-editor-webpack-plugin --save-dev

2. 修改webpack.base.conf.js配置文件

const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
...

module.exports = {
  ...
  plugins: [
    ...
    new MonacoWebpackPlugin()
  ]
};

3. 在对应的组件中使用

.vue

<template>
  <div>
     <div id="container" ></div>
  </div>
</template>

.ts

import { Vue, Component, Watch } from "vue-property-decorator"
import * as monaco from 'monaco-editor';

@Component({

})

export default class Parent extends Vue {
    ...
    value = '初始sql语句';
monacoEditor; mounted() {
this.monacoEditor = monaco.editor.create(document.getElementById('container'), { value: this.value, language: 'sql' }); } }

注意:要等container渲染成功才能monaco.editor.create

-------------------------------------------------------------------------------------------- 其他问题 -----------------------------------------------------------------------------------------

1. 怎么用代码方式改变this.monacoEditor的value值?

答: this.monacoEditor.setValue(newValue);

PS: 本人基于monaco-editor实现了一个针对sql语言的自定义提示、以及对函数的hover提示。了解monaco-editor的控制行数字不显示、右侧小代码区域不显示、滚动不显示等样式问题。大家有问题欢迎互相交流。

monaco-ediotr文档是真难看啊,我也是各种搜索实现的相关功能·····

免责声明:文章转载自《在vue项目中使用monaco-editor》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇光标变成黑块变粗 影响插入 解决方法【C#日期系列(一)】--C#获取某月第一天0分0秒以及最后一天59分59秒下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

webpack4.x抽取css【extract-text-webpack-plugin与mini-css-extract-plugin】

参考文档:https://www.npmjs.com/package/extract-text-webpack-pluginhttps://www.npmjs.com/package/mini-css-extract-plugin 项目的初始诉求是利用webpack来管理css(合并),并增加hash(性能优化),当前项目使用webpack版本为4.6.0...

unittest---unittest错误截图

  在做自动化的过程中,大多数执行者都不在旁边,那么如果用例失败了我们通常看报告上的失败信息,但是这样有时候可能不够清楚的判断到底哪里出了错误,我们还可以通过自动截图的功能,判断用例走到哪里出了错误。 截图方法 在自动化中截图方法有几种,我们一个个来看,那种最适合我们。 方法1:get_screensho t_as_file(self,filename)...

Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法

原文:http://czjxdm.iteye.com/blog/466948 Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法 博客分类:技术文章 OracleSQL  怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。    什么是合并多...

pandas --合并操作concat函数和append

concat concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integri...

Python操作数据库出现的问题

问题一 我在使用Python操作mysql时出现:pymysql.err.OperationalError: (2006, "MySQL server has gone away (ConnectionAbortedError(10053, '你的主机中的软件中止了一个已建立的连接。', None, 10053, None))")。 问题的出现:我是使用了...

SharePoint Server 2013开发之旅(三):为SharePoint Server配置App开发、部署、管理环境

上一篇我讲解了如何利用微软提供的Office 365开发人员网站,进行在线的SharePoint App开发,这当然是不错的一个选择,因为你可以快速地进行开发和调试。(仅仅针对App开发而言)。但是,你可能会想到一个问题,假设我们在企业中已经有了一组SharePoint Server服务器,那么如何让他们也能用来进行App开发、部署并且最终用来统一管理所有...