前提
Formatterの設定
- vim-phpfmtというのを使いました。
- phpcbfを使うので、composerでインストールしました。
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で閉じる的なウインドウ的な奴が出てくるのであんまりよくない。