このメジャーアップデートのハイライトには以下が含まれています。
このバージョンの大きな追加機能は AI Assistant です。AI 機能を使用してコーディング力を高めるように設計されています。 初期の機能セットではすでに AI Assistant とのチャットが可能となっており、ドキュメントコメントの自動記述、名前の提案、コミットメッセージの生成などの処理を任せることができます。
AI Assistant ツールウィンドウを使用して LLM(大規模言語モデル)と対話し、質問したりコーディング支援を受けたりできます。 PhpStorm がプロジェクトで使用される PHP 言語レベルやフレームワークなど、プロジェクト固有のコンテキストを提供します。 AI が生成したコードに満足したら、Insert Snippet at Caret(キャレット位置にスニペットを挿入)をクリックしてコードをエディターに貼り付けるか、上書きコピーすることができます。
Alt+Enter コンテキストメニューに AI Actions が追加されました。このアクションには AI Assistant が支援できる多数のタスクが含まれています。
AI Assistant はユーザーに代わってドキュメントを生成することも可能です。 Alt+Enter を押して AI Actions を選択し、Write Documentation(ドキュメントの作成)を選択します。 AI Assistant はチャットを通じてコードの説明も行ってくれます。
コミットメッセージダイアログに Generate Commit Message with AI Assistant(AI アシスタントでコミットメッセージを生成)ボタンが追加されました。 このボタンをクリックすると LLM に変更の差分が送信され、変更内容を説明するコミットメッセージが生成されます。
AI Assistant は JetBrains AI サービスを使用しています。 AI 機能にアクセスするには、AI Assistant プラグインを手動でインストールし、JetBrains Account を使って JetBrains AI サービスにログインする必要があります。 ツールバーの More tool windows(その他のツールウィンドウ)アイコンをクリックして AI Assistant を選択し、プロンプトに従うのが最も簡単です。
また、現時点では AI Assistant へのアクセスが順番待ちリストによって制限されている場合がありますのでご注意ください。 AI Assistant の仕組みや JetBrains によるユーザーのコードとデータの処理方法に関する詳細は、こちらのブログ記事をご覧ください。
これらの新しい AI 機能をぜひお試しになり、アイデアや提案をお送りください。 AI Assistant ツールウィンドウの Share your feedback(フィードバックを送信)をクリックすると送信できます。 また、AI Assistant のバグ報告を YouTrack で受け付けています。
ジェネリクス型で Shift+F6 を押して名前変更を開始すると、PhpStorm が自動的にコードベース全体にわたってその名前を更新します。
Ctrl+T を押して Rename(名前の変更)を選択しても同じことを行えます。
static
型のサポートジェネリクステンプレートでの静的参照のサポートは、この分野で最も期待度の高かった機能の 1 つです。
このリリースではその機能がついに実装されましたが、今後も PHP のジェネリクスのサポートを可能な限り最高なものにするための努力を続ける予定です。
@mixin
のサポート ジェネリクスの @mixin
アノテーションを使うと、ビヘイビアをオブジェクトに注入するためのデコレーターやその他のパターンのメリットをフルに生かせます。 PhpStorm が可能な場合にこれらに対応するコード補完を提供するようになりました。
PhpStorm が多数のアクションで自動生成された PHPDoc ブロックから冗長な宣言を削除し、ドキュメントコメント内の特定の冗長な PHPDoc タグについて報告するようになりました。
生成された getter と setter に対し、PhpStorm が宣言されている型がない場合にのみ PHPDocs コメントを追加するようになりました。
getter および setter メソッドの生成を呼び出すには、Add getter/setter
(getter/setter の追加)インテンションアクション(Alt+Enter)か Generate code(コードの生成)アクション(Alt+Insert)を使用します。
PhpStorm has added Laravel Pint to the list of supported quality tools. Laravel Pint が報告するコードスタイルの問題を PhpStorm 独自のコードインスペクションのように処理できるようになります。
Laravel Pint との統合を構成するには、Settings(設定)| PHP | Quality Tools(品質ツール)に移動して Laravel Pint を展開します。
ここでは、Larabel Pint を外部フォーマッターとして設定することもできます。 その場合は Laravel Pint が検出するすべての問題を Reformat Code(コードの整形)(Ctrl+Alt+L)を使ってまとめて修正できるようになります。
Laravel Pint を PhpStorm のインスペクションとして有効にするには、Settings(設定)| Editor(エディター)| Inspections(インスペクション)に移動し、PHP | Quality Tools(品質ツール)にある Laravel Pint validation(Laravel Pint の検証)をオンにします。
このインスペクションが有効な場合、Laravel Pint が検出した問題は任意の開いている PHP ファイルでハイライトされるか、Problems(問題)ツールウィンドウに報告されます。
このリリースでは、コードインサイトのロジックを PHP アサーションにまで拡張しました。
PhpStorm が常に true か false である冗長なアサーションを検出してハイライトするようになりました。 This is available for PHP’s built-in assert()
constructs, PHPUnit’s assertion methods, and methods from the webmozart/assert and beberlei/assert libraries.
プロジェクトごとに固有の色とアイコンを割り当てることができるため、ワークスペース内のプロジェクトがより区別しやすくなりました。
ヘッダーには定義済みの色がデフォルトで適用されていますが、この色をカスタマイズできるようになりました。ヘッダーを右クリックして Change Toolbar Color(ツールバーの色を変更)オプションを選択すると、希望する色を選択できます。
Search Everywhere(どこでも検索)(Double Shift)はファイル、クラス、メソッド、アクション、および設定の検索に使用されます。
この機能に Find in Files(ファイル内検索)と同様にテキスト検索機能が追加されました。 ある特定のクエリに対する検索結果がほとんどない場合にテキスト検索の結果が表示されるようになっています。
新しい UI ではドロップダウンメニューを使用して必要なアクションを素早く選択し、このツールバーに追加できるようになっています。
任意のウィジェットで右クリックして Add to Main Toolbar(メインツールバーに追加)を選択し、使用できるオプションを参照してください。
Windows および Linux のメインツールバーにある新しい UI のハンバーガーメニューの動作を改良しました。 メニューアイコンをクリックすると、その構成要素がツールバー上で横方向に表示されるようになっています。
また、このメニューをツールバーとして分離させるオプションも備わっています。 これを行うには、View(表示)| Appearance(外観)| Main menu as a Separate Toolbar(メインメニューをツールバーとして分離する)に移動します。
代替の Light with Light Header(ライトヘッダーを使ったライト)テーマを導入しました。これにより、ウィンドウのヘッダー、ツールチップ、および通知バルーンで対応するライトカラーが使用されます。
Pinned(ピン留め)セクションに実行構成を追加するには、名前の横にあるケバブメニュー(三点リーダー)を開いて Pin(ピン留め)を選択します。 必要に応じてピン留めされた複数の構成の順序をドラッグアンドドロップで簡単に変更できます。
Project(プロジェクト)ビューのファイルを変更日時に基づいて並べ替えられるようになりました。 この機能を有効にするには Project(プロジェクト)ビューのケバブメニュー(三点リーダー)を開き、Tree Appearance(ツリーの外観)| Sort by Modification Time(変更日時で並べ替え)を選択します。
Redoc と Swagger の UI を切り替えて OpenAPI ドキュメントをプレビューできるようになりました。
Redoc を統合することで、PhpStorom 内から Try it コンソールにアクセスし、それを使用してパラメーターの設定や API へのリクエストの送信を行えます。
専用の HTTP クライアント CLI を使って .http ファイルをリクエストとして実行できます。
このリリースより、このツールで GraphQL API を操作してサービスとの WebSocket 接続を確立できるようになりました。
インポートされたモジュールを使用して HTTP クライアントのリクエストハンドラーの共通 JavaScript コードを共有できるようになっています。
PhpStorm 2023.2 では GitLab との統合機能が初めて導入され、IDE から Merge Requests(マージリクエスト)を直接操作できるようになりました。
PhpStorm にコードチャンクの特定の変更行のみを選択的にコミットできる新しいレベルのコミット設定が導入されました。
ファイル差分を開き、編集したチャンク内の行を選択してコンテキストメニューから Include these lines into commit(これらの行をコミットに含める)を呼び出します。 各行にチェックボックスが表示されるため、選択するか未選択のままにすることができます。
一部の言語とテクノロジーは PhpStorm で(まだ)ネイティブにサポートされていなくても、サポートを提供できる言語サーバーが存在する場合があります。 このため、プラグイン開発者が LSP API を使用して特定の LSP サーバーを統合できるようにしました。
独自のプログラミング言語やフレームワークを作成している場合、LSP サーバーとプラグインを記述すれば、それを IDE でサポートすることができます。
現在、この LSP サポートにはエラーと警告のハイライト、クイックフィックス、コード補完、および宣言への移動が含まれます。
PhpStorm 2023.2 にはあらゆる CI/CD パイプラインに適合するように設計された当社のスマートな静的解析エンジンであるコード品質プラットフォーム、Qodana が統合されています。
たった数回のクリックで解析をトリガーしたり、プロジェクト全体の問題のリストを表示したり、お好みの CI/CD システムで Qodana を構成してクオリティゲートを確立したりできます。
また、Qodana が CI/CD システムで構成されると、IDE を離れなくてもサーバーサイド解析の結果を表示できるようになります。細かい設定は必要ありません。
JavaScript と TypeScript のエラーと警告がより可読性に優れた書式になり、コード内の問題を発見しやすくなります。
We’ve implemented syntax support and an inspection that alerts you if a CSS nested selector starts with an identifier or functional notation.
Vue Language Server(VLS)、別名 Volar をサポートすることで、より正確なエラー検出とより適切な型情報の提供をクイックナビゲーションとドキュメントポップアップで実現しています。 デフォルトでは、TypeScript v5.0 以降に VLS が使用されます。 Settings(設定)| Languages & Frameworks(言語とフレームワーク)| TypeScript | Vue では Vue サービスがすべての TypeScript バージョンで VLS 統合を使用するように設定できます。