カテゴリー
Linux

Vim に coc.nvim エクステンション coc-phpls を入れて PHP の LSP サーバを使えるようにする

まとめ

  • coc.nvim インストール済みならば、 marlonfan/coc-phpls: ? php language server for coc.nvim をインストールするだけで良い。
  • coc-settings.json を編集する必要はない。
  • 確認方法。 PHP ファイルを開いた状態で、 :CocList extensions を実行し、結果に "* coc-phpls" と表示されれば使用可能状態。

coc.nvim エクステンションについて知ったこと

操作方法

を見ると、 coc.nvim エクステンションの操作方法がわかります。

  • インストール: :CocInstall coc-json coc-phpls
  • 確認: :CocList extensions
  • アップデート: 毎日自動的に更新する。または :CocUpdate:CocUpdateSync 。後者だと全画面で結果を確認できた。
  • 削除: :CocUninstall coc-json coc-phpls
  • 補足: Vim プラグインマネージャー (vim-plug など) で coc.nvim エクステンションをインストールした場合、削除とアップデートはできない。

インストールされる場所とその場所から内容を探る

Install coc.nvim Automation script · neoclide/coc.nvim Wiki を見て、 coc.nvim エクステンションのインストールされる場所に気がつきました。

~/.config/coc/extensions のようです。

見てみると次のようになっていました。

$ ll
total 184
drwxr-xr-x    3 oki2a24  staff     96  5 31 08:22 coc-phpls-data/
-rw-r--r--    1 oki2a24  staff     33  6  1 08:37 db.json
drwxr-xr-x  210 oki2a24  staff   6720  6  1 08:57 node_modules/
-rw-r--r--    1 oki2a24  staff     81  6  1 08:57 package.json
-rw-r--r--    1 oki2a24  staff   9470  5 31 08:07 yarn-error.log
-rw-r--r--    1 oki2a24  staff  71831  6  1 08:57 yarn.lock
$

package.json の内容を確認してみると、 :CocInstall で追加したエクステンションが確かに記述されています。

$ cat package.json
{
  "dependencies": {
    "coc-json": "^1.0.17",
    "coc-phpls": "^2.0.6"
  }
}
$

yarn list | less して、各エクステンションの依存を見てみると、 coc-phpls をインストールすることによって、 PHP の LSP サーバである Intelephense も同時にインストールされていることがわかりました。

このことが確認できたので、今まで実は coc-extention.json に Intelephense を使う設定を書いていたのですけれども、安心してその記述を削除することができました♪

├─ coc-json@1.0.17
│  ├─ find-up@^3.0.0
│  ├─ request-light@^0.2.4
│  ├─ tslib@^1.9.3
│  ├─ vscode-json-languageservice@^3.3.0-next.7
│  ├─ vscode-languageserver@^5.3.0-next.6
│  └─ vscode-uri@^1.0.6
├─ coc-phpls@2.0.6
│  ├─ fs-extra@^7.0.1
│  ├─ glob@^7.1.3
│  ├─ intelephense@^1.0.14
│  ├─ tslib@^1.9.3
│  ├─ vscode-languageclient@^5.2.1
│  ├─ vscode-languageserver-protocol@^3.14.1
│  └─ vscode@^1.1.33

coc-phpls をインストールして使ってみた

coc.nvim をインストールしただけの場合でも補完が効くようになります。補完候補の右側に "[A]" 、 "[B]" 、 "[F]" と表示され、これが coc.nvim による補完とのことです。

coc-phpls をインストール後、 .php ファイルを書いてみると、補完が変わりました! [LS] という表示が追加されています。これが、 PHP の LSP サーバの Intelephense によるものでしょう。

coc-phpls の補完の様子

おわりに

PHP の LSP サーバを使えるようにするために、もっと手順が必要かと思っていたのですが、 coc.nvim のエクステンションをインストールするだけでした。

とても簡単♪

coc.nvim のエクステンションを使っても利用できない LSP の場合に、 coc-settings.json を使えば良いようです。

以上です。

コメントを残す