typescript-language-server の挙動を検証する必要が出てきたので、環境を構築する。
Debian 最小構成に、 vim と vim-lsp, typescript-language-server 環境を載せていく。
環境
- OS: Debian buster(debian:buster-slim の docker イメージ)
必要なパッケージをインストール
apt-get update
apt-get -y upgrade
apt-get install -y npm vim git
typesript-language-server インストール
以下のコマンドで実行可能な環境を構築できる。
npm install -g typescript typescript-language-server
typesript-language-server 動作確認
下記コマンドを実行。
typescript-language-server --version
バージョンが出力されれば OK.
vim-lsp のインストール
- Vim のパッケージ機能を使ってプラグインの管理を行う
- vim-lsp と async.vim を配置する
- vim-lsp は使うときだけ有効にしたいので、 opt ディレクトリに入れる
~/.vim/pack/lsp/opt
にインストールする場合、 以下のコマンドで実行可能な環境を構築できる。
mkdir -p ~/.vim/pack/lsp/opt
cd ~/.vim/pack/lsp/opt
git clone https://github.com/prabirshrestha/vim-lsp.git
git clone https://github.com/prabirshrestha/async.vim.git
typesript-language-server を使うための設定
~/.vimrc
に以下を記述。
syntax on
filetype plugin indent on
""" for typesript development
command! Tsd call StartTypescriptDevelopment()
function! StartTypescriptDevelopment()
packadd async.vim
packadd vim-lsp
let g:lsp_log_verbose = 1
let g:lsp_log_file = expand('~/vim-lsp.log')
autocmd BufNewFile,BufRead *.ts set filetype=typescript
autocmd User lsp_setup call lsp#register_server({
\ 'name': 'typescript-language-server',
\ 'cmd': {server_info->[
\ 'typescript-language-server', '--stdio'
\ ]},
\ 'whitelist': ['typescript'],
\ })
call lsp#enable()
autocmd FileType typescript setlocal omnifunc=lsp#complete
endfunction
動作確認
vim を開いて :Tsd
-> :e test.ts
として、typescript を書いていくとオムニ補完に typescript-language-server が使われる。
以上。
0 件のコメント:
コメントを投稿