1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| import * as monaco from 'monaco-editor'
import('./Theme.json').then(data => { monaco.editor.defineTheme('yourTheme', data) monaco.editor.setTheme('yourTheme') })
const this = _this _this.monacoEditor = monaco.editor.create(_this.$ref.container, { value: _this.copyCode || _this.codes , language: 'sql', minimap: { enabled: false } })
this.monacoHints = monaco.languages.registerCompletionItemProvider('sql', { provideCompletionItems(model, position, context, token) { const suggestion = _this.yourHintsArray.map(item => { return { label: item, quickSuggestions: false, kind: monaco.languages.CompletionItemKind['Text'], insertText: item } }) return { suggestions: suggestion } }, triggerCharacters: ['.'] })
this.monacoHints.dispose()
const definedContextMenu = [{ id: 'executeSQL', label: '执行', keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter], contextMenuGroupId: 'navigation', contextMenuOrder: 1, run: function(editor) { } }] definedContextMenu.forEach(item => { _this.monacoEditor.addAction(item) })
|