Недавно я взял vue.js для работы с интерфейсом, и теперь мне нужно его отредактировать. Как всегда, я вернулся к своему любимому редактору Emacs. Быстрый поиск в Google нашел vue-mode, но мне этого было недостаточно. Я видел, как люди редактируют vue без проблем внутри Atom или VS Code - мне хотелось большего.
Затем я узнал о протоколе языкового сервера и провел еще несколько исследований. Был официальный языковой сервер под названием vetur, который я использовал, и вот как его настроить. Имейте в виду, что для обычных пользователей Emacs все может быть иначе, поскольку я пользователь spacemacs.
Во-первых, вам нужно установить необходимую программу.
$ npm install -g vue-language-server
Затем вам нужно установить необходимые режимы. Внутри вашей конфигурации найдите эту строку
dotspacemacs-additional-packages '()
и измените его на
dotspacemacs-additional-packages '(vue-mode lsp-mode lsp-vue company-lsp)
а затем перезапустите emacs.
Теперь нам нужно добавить еще немного конфигурации, и тогда мы можем приступить к работе. Спуститесь к своему dotspacemacs/user-config
и добавьте
(require 'vue-mode) (add-to-list 'vue-mode-hook #'smartparens-mode) (require 'lsp-mode) (require 'lsp-vue) (add-hook 'vue-mode-hook #'lsp-vue-mmm-enable) (with-eval-after-load 'lsp-mode (require 'lsp-flycheck)) (require 'company-lsp) (push 'company-lsp company-backends)
Первый бит, добавление smartparens-mode
в vue-mode - это просто вопрос качества жизни. Вы хотите, чтобы ваши круглые скобки вставляли закрывающую, верно?
После этого добавляется режим протокола языкового сервера, который запускается всякий раз, когда вы заходите в .vue
file, а также flychecking.
Наконец, компания требует включения сниппетов (с yasnippet) и завершения.
И последнее, что следует отметить: если вы создадите пустой файл vue и начнете вводить scaffold
, вы можете автоматически заполнить фрагмент, и он сделает файл vue за вас!