PhpStorm の新機能

PhpStorm 2020.1の新機能

このメジャーなIDEアップデートで生産性の高さを体験してください

すぐに使えるcomposer.jsonサポート

依存関係を簡単に管理:すべてのアクションがcomposer.jsonファイルのエディターで直接使用できるようになりました。

Arrow Functions

依存関係の管理

composer.jsonファイル内からパッケージを操作する方がはるかに簡単なため、古い依存関係の管理ダイアログを廃止しました。

新しいパッケージを追加するには、require(-dev) セクションに名前を入力するか、Ctrl+Spaceを押して、候補リストから必要なパッケージを選択します。

特定のパッケージの利用可能なすべてのバージョンもリストされます。

Create new composer.json file

新しいcomposer.jsonファイルの作成

新しいプロジェクトを開始するとき、IDEのテンプレートを使用してcomposer.jsonファイルを作成できます。プロジェクトツリーを右クリックして、新規-> composer.jsonファイルを選択します。

Updating and installing packages

パッケージの更新とインストール

composer.jsonで指定されているがまだインストールされていない依存関係がある場合、PhpStormはそれを検出して強調表示します。

Alt+Enter を押して、パッケージを更新またはすべてのパッケージを更新を選択してインストールします。

Navigation to files and folders

ファイルとフォルダーへの移動

パッケージで Ctrl+Click を使用して、PhpStormでプロジェクトツリーのベンダーディレクトリにあるそのパッケージのフォルダーを強調表示できます。ファイルの場合は、エディターで開きます。

同じ Ctrl+Clickまたは Ctrl+Bトリックは、ブラウザーでcomposer.json内のリンクを開くように機能します。

Composing and running scripts

スクリプトの作成と実行

スクリプトセクションの各エントリには、ガターに再生アイコンがあり、クリックするとすぐにスクリプトを実行できます。

新しいスクリプトエントリを追加するとき、自動補完はスクリプト参照、vendor / binディレクトリのバイナリファイル、およびプロジェクトソースのPHPファイルをサポートするようになりました。

PCOVおよびPHPDBGによるコードカバレッジ

PSR-12

Xdebug(英語)に加えて、軽量のPHP拡張機能krakjoe / pcov(英語)または組み込みのPHPDBG(英語)を使用して、カバレッジレポートをはるかに高速に生成できるようになりました。

テストの実行構成作成できます。実行構成設定には、優先するカバレッジドライバー(Xdebug、PCOV、またはPHPDBG)を選択するためのドロップダウンがあります。

使用するドライバーを選択し、メインツールバーのカバレッジで実行ボタンをクリックして、カバレッジ結果を確認します。

PHPUnitツールボックス

WSL adding interpreter

PhpStorm 2020.1には、最新のPHPUnitバージョンにすばやく簡単にアップグレードできるツールがあります。

すべての非推奨はエディターで強調表示されます。廃止予定のアイテムの上にカーソルを置いて Alt+Enterを押し、表示されるリストから希望のクイックフィックスを選択します。または、エラー説明ウィンドウの下部でそれを選択します。

新しいPHPUnitテストクラスをすばやく作成するために、クラス名で Alt+Enter を押して新しいPHPテストを作成する インテンションを使用できるようになりました。

PHPの型推論の改善

PhpStormのコア(型推論エンジン)には、いくつかの素晴らしい改善が施されています。

Typed Properties

冗長@varタグの検出

型情報を含む @var タグが冗長であり、PhpStormが変数の正しいタイプをすでに認識している場合、このタグが強調表示されます。 Alt+Enterを押すと、@varクイックフィックスの削除で削除できます。

Arrow Functions

nullの追跡の改善

null可能性の追跡は困難な作業であり、以前はPhpStormがnull可能性を検出できなかった場所がいくつかありました。これは、2020.1バージョンには当てはまりません。PhpStormは、変数がnullかどうかを知らせ、null可能性の問題を回避できます。

Numeric Literal Separator

array_map / filterの補完

array_map() および array_filter() 関数に渡されるクロージャー内のパラメーター変数の完全な補完オプションがあります。

Nested ternary operator

初期化子から非ジェネリック配列型を推測する

既知のアイテムのセットを含む配列を反復処理する場合、PhpStormがそれを自動的に伝播するため、タイプを指定するための追加の @var タグは必要なくなりました。

そしてさらに

ML-assisted ranking for code completion

コード補完のML支援ランキング

v2019.3でPHPの補完オプションの機械学習支援ランキングを導入しました。この機能は、最も関連性の高いアイテムが上位にランク付けされるように、補完ポップアップの要素を並べ替えることによってコード補完を改善します。

デフォルトでは、MLによる補完は無効になっています。オンにするには、環境設定/設定 | エディター | 一般 | コード補完のチェックボックス機械学習に基づいたランク補完の提案およびPHPを選択します。

Move method refactoring

メソッドの移動リファクタリング

あるクラスから別のクラスへのメソッドの移動は、単一のアトミックアクションで実行できるため、より簡単になりました。

メソッドの上にカーソルを置き、F6 (または Ctrl+T , 3)を押します。次に、宛先のクラスを選択すれば完了です。

Remove PHPDoc with just type annotation

型注釈だけでPHPDocを削除する

PHPDocブロックに型付きの @param タグのみがある場合、パラメーターのネイティブ型宣言を優先して完全に削除できます。

Alt+Enter を押して、冗長なPHPDocコメントを削除クイックフィックスを選択します。

Find redundant ternary expressions

冗長な三項演算子を見つける

PhpStormは、縮小および簡略化できる三項演算子を強調表示します。また、クイックフィックス(Alt+Enter)を使用することで、単純な同等の式に置き換えることができます。

Eliminate redundant pass-by-ref occurrences

冗長な参照渡しの発生を排除

参照渡しを使用すると、予期しない結果が生じる可能性があります。PhpStorm 2020.1は、参照渡しとして不必要にマークされているパラメーターを検出して強調表示します。

同じことがforeachループの冗長な参照渡し値に対しても機能します。

メタデータ

PhpStormの「コード認識」を拡張するには、特別なファイル.phpstorm.meta.phpで追加情報を提供する方法があります。この領域はいくつかの改善を受けました。

Parameter index in override, map, and type

オーバーライド、マップ、およびタイプのパラメーターインデックス

以前は、override() , map()および type() ディレクティブを使用して、関数の最初のパラメーターのみの動作を調整することができました。PhpStorm 2020.1ではこれが修正され、パラメーターのインデックスを明示的に指定することができます。

Arrow Functions

__getによるプロパティアクセスのサポート

__get() マジックメソッドを介していくつかのオブジェクトを受け取る必要がある場合、型情報を失う可能性があります。 @var または @property タグを使用する代わりに、.phpstorm.meta.phpファイルでこの情報を指定できるようになりました。これは、タイプが事前にわからなくても機能します。

Custom exit points

カスタム出口ポイント

PhpStormは、die() 関数と exit() 関数、または例外をスローするすべての関数を呼び出しの終了と見なします。しかし、アプリケーションでは、たとえば dd()のようなデバッグ関数で、「終了ポイント」と見なす必要のある他のカスタム関数がいくつかある場合があります。関数を終了ポイントとしてマークできるようになりました。

Completion for keys in ArrayAccess objects

ArrayAccessオブジェクトのキーの補完

メタデータの支援により、オブジェクトを他のオブジェクトの配列コンテナーとして使用する場合でも、コード補完へのアクセスを保持することが可能になりました。ただし、キーの補完は利用できませんでした。これは2020.1で追加されました。

Gutter icon for functions with meta overrides

メタオーバーライドがある関数のガターアイコン

最後に重要なことですが、エディターで、override() , exitPoint()または expectArguments() ディレクティブを使用して.phpstorm.meta.phpファイルによって動作が変更されたかどうかを確認できます。また、プロジェクトにはそのようなメタファイルがいくつでも存在する可能性があるため、アイコンをクリックすると、この特定の場所で使用されているメタファイルが開きます。

HTTP クライアント

PHP Debug in HTTP Client

HTTPクライアントでのPHPデバッグ

WebアプリケーションまたはAPIエンドポイントを開発するときに、PhpStormウィンドウを移動せずに簡単にデバッグを開始できるようになりました。

これを行うには、.httpファイルを作成または開き、リクエストを追加してから、Alt+Enter インテンションを使用してPHP デバッグ を実行します。これにより、XDEBUG_SESSION Cookieがリクエストに追加され、Xdebugブラウザー拡張機能と同様に機能します。

Web テクノロジー

WebStorm 2020.1すべての新機能と改善点は、PhpStorm 2020.1でそのまま使用できるか、プラグインリポジトリ(英語)で無料のプラグインを使用できます。

New smart intentions and inspections for JavaScript and TypeScript

JavaScriptおよびTypeScript用の新しいスマートインテンションおよびインスペクション

新しいスマートインテンションおよびインスペクション(Alt+Enter)を使用して、コーディング時の時間を節約してください! 例:既存のコードをオプションのチェーニングや無効な合体にすばやく変換できるようになりました。この構文は、JavaScriptとTypeScriptの最新バージョンで導入されました。

Vuex and Composition API support for Vue.js

Vue.jsのVuexおよびComposition APIサポート

Vuexライブラリと今後のVue 3のコンポジションAPIの標準サポートにより、優れたVue.jsアプリケーションをさらにスムーズに構築できます。

Running Prettier on save

保存時にPrettierを実行する

新しいファイルの保存時に実行オプションを使用すると、WebStormはIDE設定で指定され、プロジェクトで編集されたすべてのファイルにPrettierフォーマットを適用します。これらのファイルを保存するとすぐに、ファイル監視またはサードパーティのプラグインが不要になります。

IDE

Smart Grammar and Spell Checker

スマートな文法とスペルチェッカー

高度な校正と文法チェックプラグインのGrazieがそのまま使用できるようになりました。タイプミスやミスを即座に強調表示し、コードの他のエラーと同様に、クイック修正アクションで修正します。

マークダウンファイルでは、スペルチェックがデフォルトで有効になっています。PHPDocコメント、HEREDOC / NOWDOC文字列、またはPHPファイルの文字列リテラルでチェックを取得するには、環境設定/設定 | エディター | 校正 | 文法で有効にする必要があります。

さらに詳細な文法チェックを取得するには、環境設定/設定 | エディター | インスペクション->校正文法 インスペクションを有効にします。

Using PhpStorm for quick editing

PhpStormを使用した迅速な編集

新しいLightEditモードでは、PhpStormをメモ帳スタイルのライトエディターとして使用して、IDEを完全に開かなくても、ファイルをすばやく変更できます。

試すには、コマンドライン(詳細については、コマンドラインからIDE機能を使用するを参照)またはOSシステムファイルマネージャーからファイルを開きます。PhpStormがまだ実行されていない場合、ファイルはLightEditモードで開かれます。

Date format customization

ターミナルセッションを水平または垂直に分割する

タブを切り替えることなく、一度に任意の数のターミナルセッションを開いて、それらすべての出力を同時に監視できるようになりました。

ターミナルからコンテキストメニューを呼び出して、分割ターミナルセッションを作成、ナビゲート、および閉じることができます。

Unified SSH configuration

統合SSH構成

すべてのSSH接続が環境設定/設定 | ツール | SSH構成の1か所にまとめられました。

これにより、1か所で接続を作成し、それをIDEの任意の場所(デプロイ構成など)、SSH経由のリモート PHPインタープリター、またはSSHターミナルとして再利用できます。

外観

Updated light theme

更新されたライトテーマ

ライトテーマはすべてのオペレーティングシステムで統一され、IntelliJライトという名前になりました。以前のテーマに戻したい場合は、環境設定/設定 | 外観 & 振る舞い | 外観 | テーマで切り替えることができます。

Date format customization

新しいデフォルトのフォント

JetBrains Monoは、コードを読みやすくするために開発者向けに特別に開発した無料のオープンソースタイプフェースです。そして、現在、デフォルトのエディターフォントとして使用されています。

Zero-distraction development mode

集中開発モード

新しいZenモードは、集中モードと全画面モードを組み合わせたもため、コードを深く掘り下げることができます。

Zenモードを試すには、表示 | 外観 | Zenモードに入るにアクセスしてください。

バージョン管理

Reworked dialog for Git Rebase

Git リベースの再加工されたダイアログ

ここから対話的にリベースダイアログは真にインタラクティブになり、リベースプロセスのあらゆる側面を制御できるようになりました。

  • ブランチの各コミットで実行するアクションを選択します。
  • 適用されたアクションを示すグラフを確認します。
  • コミットの詳細を表示します。
  • 差分を確認し、必要に応じて変更を確認またはリセットします。
Push any branch

コミットフローの変更

コミットフローを合理化するために、すべてのコミット関連タスクを処理するための新しいコミットツールウィンドウを開発しました。デフォルトでは、すべての新規ユーザーに対して有効になっています。

既存のユーザーが試してみたい場合は、環境設定/設定 | バージョン管理 | コミット非モーダルコミットインターフェースを使用するを選択します。

データベース・ツール

DataGripチームは、PhpStormのデータベースツールにいくつかの素晴らしい改善を加えました。DataGrip 2020.1の新機能を参照してください

Export to Excel

Excelにエクスポート

最後に、クエリ結果またはテーブルをExcelファイルにエクスポートできます。

In-editor results

エディター内の結果

これで、コードエディターで結果を確認できます。この機能を試すには、環境設定/設定 | データベース | 一般 | エディターに出力結果を表示するオプションをチェックしてください。

Run configurations

実行構成

実行構成の概念は、PhpStormユーザーによく知られています。PHPスクリプト、テスト、またはHTTPリクエストの実行に加えて、DBクエリも実行できるようになりました。

その他の改善:

  • @deprecated としてマークされたすべてのメンバーとアイテムは、構造ツリービューで取り消し線として表示(英語)されます。
  • 閉じ中括弧または開き中括弧にすばやくジャンプする新しいアクション(英語)があります。
  • Twigのレクサー構文をカスタマイズ(英語)できるようになりました。
  • 設定ファイルのパスが変更されました– 詳細を参照してください
  • 実行構成は .idea フォルダーの外に保存でき、バージョン管理を介して共有できます。実行/デバッグ構成ダイアログを開き、プロジェクトファイルとして保存オプションをチェックします。