edo1z blog

プログラミングなどに関するブログです

neovimでPHPの開発が出来るようにする

前提

  • coc.nvimを使います。
  • coc-phplsを使います。
  • 上記2つはインストール済みとします。
  • 環境はMac M1です。

Formatterの設定

init.vimの設定

下記設定をして、,pでフォーマット出来るようにしました。

nnoremap ,p :PhpFmt<CR>

その他、下記のような設定をしました。

let g:phpfmt_autosave = 1
" A standard type: PEAR, PHPCS, PSR1, PSR2, Squiz and Zend
let g:phpfmt_standard = 'PSR2'
" Or your own defined source of standard (absolute or relative path):
" let g:phpfmt_standard = '/path/to/custom/standard.xml'

coc-phplsの有料機能

  • coc-phplsは、intelephenseというのを使っているらしいのですが、有料でライセンスがもらえて、有料ライセンスを持っていると、coc-phplsで利用できる機能も増えるらしいです。1200円なので買ってみました。ライセンスは、coc-settings.jsonに登録しておきます。

追記 2021/01/28

windows10(WSL2)だとうまく動かない

やったこと

  • phpcbfインストール・PATH設定
  • phpcbfの動作チェック
  • :CocConfig コマンドで、coc-setting.jsonに上記のライセンス登録

状況

  • phpcbfは問題なく動くし、vim-phpfmtも入っていて、:PhpFmt も動作するしエラーも出ないんだけど、フォーマットされない。
 nnoremap ,p :!phpcbf --standard=PSR2 %<cr>

上記で一応フォーマットされるようになったけど、更新しないとフォーマットが反映されなかったり、そもそもフォーマットする度に、Enterで閉じる的なウインドウ的な奴が出てくるのであんまりよくない。