Добавить поддержку языка vue js в редактор monaco - PullRequest
0 голосов
/ 21 января 2019

Я пытался добавить поддержку языка vuejs в редактор monaco, но все мои попытки пока не увенчались успехом. Я пробовал monaco-vue плагин для редактора, но, похоже, он тоже не работает.

Конечный результат, которого я хотел бы достичь, состоит в том, чтобы обеспечить завершение так же, как codesandbox.io , если не так хорошо, как vetur (плагин vuejs для vscode).

Любая помощь будет признательна. Заранее спасибо.

1 Ответ

0 голосов
/ 06 февраля 2019

Насколько мне известно, Monaco-vue позволяет вам просто рендерить Monaco Editor в ваше приложение Vue с помощью компонента Vue. Поддержка языка Vue в редакторе требует подключения редактора к службе, совместимой с протоколом языка сервера (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.

Кроме того, я не мог заставить Монако Вю работать на меня. Нетрудно внедрить через подключенный хук жизненного цикла, который переводит редактор в DOM на смонтированном хуке, например:


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

...