Добавить поддержку языка vue js в редактор monaco
Я пытался добавить поддержку языка vuejs в редактор monaco, но все мои попытки пока не увенчались успехом. Я пробовал плагин monaco-vue для редактора, но, похоже, он тоже не работает.
Конечный результат, которого я хотел бы достичь, состоит в том, чтобы предоставить дополнения, такие как https://codesandbox.io/, если они не так хороши, как vetur (плагин vuejs для vscode).
Любая помощь будет признательна. Заранее спасибо.
1 ответ
Monaco-vue, насколько мне известно, просто позволяет вам легко рендерить Monaco Editor в ваше приложение Vue с помощью компонента Vue. Поддержка языка Vue в редакторе требует подключения редактора к службе, совместимой с протоколом языка сервера (LSP). Я считаю, что Vetur является реализацией LSP - хотя я еще не пытался подключить к нему мой редактор Monaco. Проект Vetur LSP, похоже, имеет приличную документацию: https://github.com/vuejs/vetur/tree/master/server
Обзор интеграции LSP в редактор Монако см. По адресу: 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
})
},