将vue js语言支持添加到monaco-editor

时间:2019-01-20 21:26:02

标签: javascript vue.js visual-studio-code monaco-editor liskov-substitution-principle

我一直在尝试向摩纳哥编辑器添加vuejs语言支持,但到目前为止,我的所有尝试均以失败告终。我已经尝试使用monaco-vue插件作为编辑器,但似乎也不起作用。

我想达到的最终结果是,如果不如codesandbox.io(vscode的vuejs插件)那样,则提供vetur的补全。

任何帮助将不胜感激。预先感谢。

1 个答案:

答案 0 :(得分:0)

据我所知,Monaco-vue仅使您能够通过Vue组件轻松地将Monaco Editor呈现到Vue应用程序中。编辑器中对Vue语言的支持要求您将编辑器连接到符合Language Server Protocol(LSP)的服务。我相信Vetur是LSP的实现-尽管到目前为止我还没有尝试将Monaco编辑器连接到它。 Vetur LSP项目似乎有不错的文档:https://github.com/vuejs/vetur/tree/master/server

有关将LSP集成到Monaco编辑器中的概述,请参见:https://typefox.io/teaching-the-language-server-protocol-to-microsofts-monaco-editor

...以及指向此功能的模块链接(同样来自Typefox):https://github.com/TypeFox/monaco-languageclient

请注意,自上次访问该项目以来,它不适用于最新版本的摩纳哥-尽管我并没有因为回到14.xx版本而失去任何值得注意的功能。

而且,我无法让Monaco Vue为我工作。通过挂载的生命周期钩子进行嵌入并不困难,该钩子将编辑器呈现为挂接钩子上的DOM,如下所示:


  mounted: function () {
    this.editor = monaco.editor.create(document.getElementById('container'), {
      value: 'this is code',
      automaticLayout: true
    })
  },