2019年3月29日金曜日

Debian に php-language-server を導入する

php-language-server の挙動を検証する必要が出てきたので、環境を構築する。

Debian 最小構成に、 vim と vim-lsp, php-language-server 環境を載せていく。

環境

  • OS: Debian buster(debian:buster-slim の docker イメージ)

必要なパッケージをインストール

php-language-server インストール

~/project/php-language-server にインストールする場合、 以下のコマンドで実行可能な環境を構築できる。

php-language-server 動作確認

下記コマンドを実行。

以下のように出力されれば OK.

Ctrl-C で終了する。

vim-lsp のインストール

  • Vim のパッケージ機能を使ってプラグインの管理を行う
  • vim-lsp と async.vim を配置する
  • vim-lsp は使うときだけ有効にしたいので、 opt ディレクトリに入れる

~/.vim/pack/lsp/opt にインストールする場合、 以下のコマンドで実行可能な環境を構築できる。

php-language-server を使うための設定

~/.vimrc に以下を記述。

syntax on
filetype plugin indent on

""" for php development
command! Phpd call StartPhpDevelopment()
function! StartPhpDevelopment()
    packadd async.vim
    packadd vim-lsp

    let g:lsp_log_verbose = 1
    let g:lsp_log_file = expand('~/vim-lsp.log')

    autocmd User lsp_setup call lsp#register_server({
        \ 'name': 'php-language-server',
        \ 'cmd': {server_info->[
        \     'php', expand('~/project/php-language-server/bin/php-language-server.php')
        \ ]},
        \ 'whitelist': ['php'],
        \ })

    call lsp#enable()
    autocmd FileType php setlocal omnifunc=lsp#complete
endfunction

動作確認

vim を開いて :Phpd -> :e test.php として、php を書いていくとオムニ補完に php-language-server が使われる。

以上。

0 件のコメント:

コメントを投稿