博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
monaco editor 实现自定义提示(sql为例)
阅读量:6308 次
发布时间:2019-06-22

本文共 1312 字,大约阅读时间需要 4 分钟。

monaco editor :

这里实现自己定义的提示:

.vue

.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;    get hints() {        let arr = [];        .... //根据需求实时获取提示项        return arr;     }    creatMonacoEditor() {        //创建        this.monacoEditor = monaco.editor.create(document.getElementById('container'), {            value: this.value,            language: 'sql'        });        //提示项设值        monaco.languages.registerCompletionItemProvider('sql', {            provideCompletionItems: () => {                return this.hints;            }        });        //监听变化        this.monacoEditor.onDidChangeModelContent(e => {            this.caretOffset = e.changes[0].rangeOffset;//获取光标位置            this.value= this.monacoEditor.getValue(); //使value和其值保持一致        })    }    mounted() {      //  注意:要等container渲染成功才能monaco.editor.create       this.creatMonacoEditor();    }    @Watch('hints')    triggerSuggest(newVal) {       // 当提示项非空时,触发提示,能够使提示项更新并显示        if (newVal.length > 0)            this.monacoEditor.trigger('提示', 'editor.action.triggerSuggest', {});    }}

 

转载于:https://www.cnblogs.com/XHappyness/p/9444250.html

你可能感兴趣的文章
vsftpd.conf配置文件详解
查看>>
阶乘因式分解(一) 给定两个数m,n,其中m是一个素数。 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。 输入第一行是一个整数s(0<s<=100),表示测试数据的组数 ...
查看>>
20120515传智学习
查看>>
第7周
查看>>
NYOJ-36 最长公共子序列 AC 分类: NYOJ ...
查看>>
第一次作业
查看>>
C# 判断access建库、建表、文件是否存在等
查看>>
抢月饼 浏览器插件开发
查看>>
JavaScript - 倒计时
查看>>
CSS属性Vertical Align使用方法讲解
查看>>
微信授权文件放到域名根目录下
查看>>
Android-Service概念和用途
查看>>
Web.Config配置
查看>>
44. Wildcard Matching
查看>>
使用JQ实现相同行或列合并
查看>>
java实现反向代理服务器
查看>>
本周工作量及进度统计
查看>>
ZOJ 1542 Network(Kruskal)
查看>>
17个Web前端开发工程师必看的国外网站
查看>>
Oracle案例10——HWM(高水位线)性能优化
查看>>