PhpStorm 2024.1 の新機能

このバージョンのハイライトには以下が含まれています。

  • ローカル AI による行全体コード補完
  • Symfony の AssetMapper サポート
  • 新しいターミナル
  • Pest 関連の改善
  • PHPUnit 11.0 のサポート

ローカル AI による行全体コード補完

インターネットにアクセスしなくても、行単位の PHP コード、JavaScript、TypeScript、および HTML 自動補完を利用できるようになりました。 行全体コード補完ではローカル LLM がデバイス上で直接データを処理および解析するため、最小限の遅延で超高速なオフラインコード補完が行われます。

この実装方法では生成コードに存在しない変数またはメソッドが含まれず、外部サーバーへの接続が不要であるため、データプライバシーポリシーへの準拠を維持することもできます。 この機能は有料の PhpStorm サブスクリプションプランに含まれているため、追加のライセンスは必要ありません。

ローカル AI コード補完

Symfony の AssetMapper サポート

Symfony の AssetMapper サポート

importmap.php に欠落しているモジュールやパッケージを素早くインストールし、クラスとメソッドの完全自動補完を利用できるようになりました。

新しいターミナル ベータ

新しいターミナルを試せるようになりました。 古いターミナルと新しいターミナルは、Settings(設定) | Tools(ツール) | Terminal(ターミナル) | Enable New Terminal(新しいターミナルを有効にする)で切り替えられます。

現時点では Bash、Zsh、および PowerShell のみがサポートされており、他のシェルに関しても現在開発中です。

エディターの行固定表示

この機能を使用すると、クラスやメソッドの開始部などの重要な構造要素をエディターの上部にピン留めした状態でスクロールできます。 そうすれば常に表示範囲が固定され、ピン留めされた行をクリックして迅速にコード内を移動できます。

Pest 関連の改善

Go to(移動)アクションメニューのテストとメソッド間、およびクイックフィックスを使用する際の重複テストとカスタム期待値の間を移動しやすくしました。 さらに、Run(実行)ツールウィンドウからテストのソースコードを開いた場合に発生していた移動操作に関する問題も修正しました。

PHP クラスとメソッドに対応する Pest テストを生成し、Intention actions(インテンションアクション)メニューから新しい Pest テストを作成する新機能もあります。

一部の Pest assert メソッドへの呼び出しを単純化する新しいインスペクションも追加しました。

PHPUnit 11.0 のサポート

PhpStorm が PHPUnit 11 を使用したテストの実行をサポートするようになりました。 IDE が構成ファイルで非推奨の属性を検出すると対応する通知が表示され、構成ファイルを新しいバージョンに自動的に移行するクイックフィックスが提供されます。

さらに、スタブを返す構成オブジェクトを作成する場合の非推奨 TestCase メソッドに対する新しいインスペクションとクイックフィックスが追加されました。

また、Deprecated usage of data providers(非推奨のデータプロバイダーの使用箇所)インスペクションを PHPUnit 11 が使用されている場合に警告を発するように変更し、テスト開始時の --cache-result-file オプションを廃止しました。

ddvar_dump、および symfony/var-dumper の改善

クラスとファイルリンクをエディターで直接開き、コンソール出力内の構造を折りたたみ/展開できるようになりました。

composer.json 内の脆弱性のある PHP パッケージのチェック

PhpStorm がプロジェクトの PHP パッケージと Checkmarx データベースを照合し、インスペクションを使用して composer.json ファイル内の脆弱なパッケージをハイライトします。

WSL 内の rsync のサポート

デプロイ時に使用される rsync ツールに WSL ディストリビューションのパスを指定できるようになりました。

フロントエンド関連の更新

Vue、Svelte、Astro ファイル

Vue、Svelte、および Astro のコンポーネントの使用箇所

PhpStorm に Vue、Svelte、および Astro ファイルのコンポーネントの使用箇所に関するエディター内ヒントが導入されました。 このヒントはプロジェクトの任意の場所で特定コンポーネントのすべての使用箇所を素早く特定するのに役立ちます。

Language Services(言語サービス)ウィジェット

ステータスバーに新しい Langauge Services(言語サービス)ウィジェットが導入され、現在のファイルとプロジェクトの有効な言語サービスに関するインサイトを得られるようになりました。 このウィジェットから直接サービスを再起動したり、設定に移動したりできます。

その他の改善

IDE 全体の表示を縮小するオプション

IDE を 90%、80%、または 70% に縮小表示できるようになったため、IDE の要素のサイズを柔軟に拡大縮小できるようになりました。

class-string 型のサポートを強化

PhpStorm が class-string 型を使用するエンティティに対して静的メソッド補完を提供するようになりました。

エディター内コードレビュー

PhpStorm 2024.1 では新しいレビューモードが実装され、GitHub および GitLab ユーザーの両方にとってコードレビューの使い勝手が改善されています。 エディターに組み込まれたこの機能により、作成者とレビュー担当者が直接やりとりできるようになりました。 プル/マージリクエストのブランチを確認する際にはレビューモードが自動的に有効になり、コードの変更がレビュー可能であることを示すピンクのマーカーがガターに表示されます。 このマーカーをクリックすると元のコードを含むポップアップが表示されますので、変更内容をすぐに把握できます。 ガターアイコンは新しいディスカッションを速やかに開始したり、既存ディスカッションの表示/非表示を切り替えたりするのに役立ちます。 ガターアイコンからコメントへのアクセスも可能なため、レビュー、返信、コメントへのリアクションも簡単です。

データエディターのローカルフィルター

このリリースでは、データエディターに待望のローカルフィルター機能が導入されています。 データベースにクエリを送信せずに列の値で行を素早く絞り込めるようになりました。 ローカルで動作するこの仕組みは現在のページのみに影響しますが、範囲を広げたい場合はページサイズを調整したり、すべてのデータを取得したりできます。 すべてのローカルフィルターを無効にするには、専用の「ローカルフィルターの有効化」アイコンを選択解除します。