PhpactorをLSPサーバーとして活用する方法 -- 導入からエディタ設定・性能改善まで

PHP開発でコード補完や定義ジャンプを実現するには、エディタとLanguage Server(言語サーバー)の連携が不可欠です。Phpactorは、PHP自体で実装されたオープンソースのLSPサーバーであり、MIT ライセンスのもと無料で全機能を利用できます。Neovim、VSCode、Emacs、Helix、Zedなど主要エディタの大半に対応しており、PHP 8.1以上の環境で動作します。 この記事では、Phpactorが備えるLSP機能の全容、各エディタでのセットアップ手順、設定ファイルの書き方、大規模コードベースでの速度改善策、そしてIntelephenseとの機能的な違いを整理します。 LSPとPhpactorの位置づけ Language Server Protocol(LSP)は、エディタ(クライアント)と言語サーバーがJSON-RPCで通信する標準プロトコルです。Microsoftが策定し、現在は多くの言語・エディタが採用しています。PHP向けのLSPサーバーとしては、商用のIntelephenseとオープンソースのPhpactorが二大選択肢です。 Phpactorの開発は Daniel Leech 氏(GitHub: dantleech)を中心に進められており、GitHub上では1,800以上のスターと100名超のコントリビューターを擁しています。リポジトリは phpactor/phpactor で公開されています。2025年12月リリースのバージョン 2025.12.21.1 が最新安定版です(2026年1月10日公開)。 Phpactorが対応するLSP機能 Phpactorは多くのLSPメソッドを実装しています。以下に対応状況をまとめます。 対応済み機能 機能カテゴリ 対応内容 コード補完 クラス名・メソッド・プロパティの補完、use文の自動挿入 ホバー情報 カーソル位置のシンボルに関する型情報・ドキュメント表示 シグネチャヘルプ 関数・メソッド呼び出し時の引数ヒント 定義ジャンプ Goto Declaration / Goto Type / Goto Implementation 参照検索 クラス・関数・メンバーアクセス(静的・インスタンス)の参照一覧 ドキュメントハイライト 同一シンボルの出現箇所をハイライト ワークスペースシンボル クラス・関数・定数のプロジェクト横断検索 ドキュメントシンボル 現在のファイル内のシンボル一覧 選択範囲 Selection Range によるスマートな範囲選択 コードアクション クイックフィックス・リファクタリング操作 フォーマット php-cs-fixer 連携によるコード整形 リネーム 変数・メンバーの名前変更(クラス名・名前空間のリネームは今後対応予定) 診断 PHP構文チェック + PHPStan / Psalm / php-cs-fixer 連携 未対応の機能 Code Lens、Document Link、Document Color、Color Presentation、Range Formatting、Folding Range は現時点で未実装です。 ...

2026年2月9日 · 3 分 · 9238 文字 · uiuifree