Skip to content

Monaco editor component for vue.js. Downloads editor files lazily from CDN.

License

Notifications You must be signed in to change notification settings

hmendes00/vue-monaco-cdn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

vue-monaco-cdn

Monaco Editor is the code editor that powers VS Code. This project aims to provide simple and lightweight Vue.js component, that downloads editor files lazily from cdn. Heavily inspired by vue-monaco.

Similar projects:

  • vue-monaco - requires bundling monaco editor files via webpack and a special webpack plugin. Sometimes this may be undesirable because webpack processing can lead to issues and because it significantly increases webpack bundle size and build time.
  • vue-monaco-editor - supports CDN but isn't maintained.

Install

yarn add vue-monaco-cdn
# or
npm install vue-monaco-cdn

Usage

<template>
  <monaco-editor
    class="editor"
    v-model="code"
    language="javascript"
  />
  </monaco-editor>
</template>

<script>
import MonacoEditor from 'vue-monaco-cdn'

export default {
  components: {
    MonacoEditor
  },

  data() {
    return {
      code: 'const noop = () => {}'
    }
  }
}
</script>

<style>
.editor {
  width: 600px;
  height: 400px;
}
</style>

Props

Events

Event IStandaloneCodeEditor Event Parameters
editorMount IStandaloneCodeEditor
contextMenu onContextMenu IEditorMouseEvent
blur onDidBlurEditor
blurText onDidBlurEditorText
configuration onDidBlurEditorText IConfigurationChangedEvent
position onDidChangeCursorPosition ICursorPositionChangedEvent
selection onDidChangeCursorSelection ICursorSelectionChangedEvent
model onDidChangeModel IModelChangedEvent
change onDidChangeModelContent value: string, e: IModelContentChangedEvent
modelDecorations onDidChangeModelDecorations IModelDecorationsChangedEvent
modelLanguage onDidChangeModelLanguage IModelLanguageChangedEvent
modelOptions onDidChangeModelOptions IModelOptionsChangedEvent
afterDispose onDidDispose
focus onDidFocusEditor
focusText onDidFocusEditorText
layout onDidLayoutChange EditorLayoutInfo
scroll onDidScrollChange IScrollEvent
keydown onKeyDown IKeyboardEvent
keyup onKeyUp IKeyboardEvent
mouseDown onMouseDown IEditorMouseEvent
mouseLeave onMouseLeave IEditorMouseEvent
mouseMove onMouseMove IEditorMouseEvent
mouseUp onMouseUp IEditorMouseEvent

Methods

Use ref to interact with the MonacoEditor component in order to access methods: <MonacoEditor ref="editor"></MonacoEditor>, then this.$refs.editor.getMonaco() will be available.

Author

vue-monaco-cli. Released under the MIT License.

Authored and maintained by leo-buneev and contributors. Huge thanks to egoist for initial webpack version.

About

Monaco editor component for vue.js. Downloads editor files lazily from CDN.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.0%
  • Vue 17.9%
  • HTML 4.1%