Долгое время лучшим вариантом для интеграции с Vim javascript было использование Tern.js в сочетании с YouCompleteMe (YCM). Это был несколько обременительный процесс, и я всегда завидовал своим коллегам, использующим VS Code с его потрясающей встроенной поддержкой JavaScript.
К счастью, теперь, когда Tern.js больше не поддерживается, YCM начал поддерживать tsserver, компилятор Microsoft TypeScript и анализатор языка - тот же движок, на котором работает VS Code. Он работает как для TypeScript, так и для JavaScript.
Для начала достаточно установить tsserver:
npm intall -g typescript
Затем следуйте обычным инструкциям по установке YCM. (примечание: вам, возможно, придется следовать их особым инструкциям, если вы использовали Tern.js в прошлом.)
Для правильной работы вашему проекту потребуется jsconfig.json
файл в корневой папке. Я использую следующее для проекта create-react-app:
{ "compilerOptions": { "target": "ES6", "module": "commonjs", "allowSyntheticDefaultImports": true, "baseUrl": "./src/", "paths": { "*": [ "*" ] } }, "exclude": [ "node_modules", "**/node_modules/*" ] }
Я также переназначил Ctrl-] в моем .vimrc
, чтобы использовать команду YCM GoTo
для быстрого перехода к определениям:
autocmd FileType javascript nmap <buffer> <C-]> :YcmCompleter GoTo<CR>
Теперь наслаждайтесь современным автозаполнением JavaScript в Vim!