PhpStorm 2022.1 正式釋出

2022-04-16 09:00:44

PhpStorm 2022.1 正式釋出啦!該版本包括改進的 Blade 和 Twig 支援、新的高階 PHP 後設資料功能、@method 註解中的泛型以及對編輯器的一些改進等內容,下面摘錄部分新特性作介紹:

增強對 Blade 模板的支援

以前,PhpStorm 將 Blade 模板中的每個程式碼塊視為一個獨立的範圍,這導致了一些問題,例如丟失程式碼完成:

PhpStorm 2022.1 對 IDE 處理 Blade 模板的方式進行了重大修改,現可在 .blade.php 檔案中獲得更好的程式碼完成方式:

Blade 模板中程式碼完成和格式化的更多問題也得到了解決:

  •  Blade 中 PHP 變數的自動完成
  •  Blade:支援 php 中的名稱空間
  •  Blade:如果有 php block (),則標籤內的方法缺少完成
  •  Blade:兩個連續的@php 片段合併在一起併產生「預期:表示式」警告
  •  Blade:html 註釋格式錯誤
  •  Blade:@if 塊內的@section 丟擲「指令未關閉」
  •  Blade:支援@js 指令

檢視上的完整列表以獲取更多資訊。

 

Twig 模板的改進

禁用關閉標籤自動補全的新選項

一些使用者希望他們的 Twig 標籤在輸入 {% 後不會自動關閉,這種行為現在是可設定的:

如果將開始和結束標記從 {% 更新到 {{ ,現在也將同時編輯開始和結束標記。

WordPress 的改進

從 Hook 呼叫跳轉到註冊

在 PhpStorm 2022.1 中,呼叫左側有一個裝訂線圖示。單擊它可以檢視 hook 用法列表,包括註冊和其他呼叫。

使用 get_template_directory_uri() 支援動態路徑

此版本在路徑中新增了對 get_template_directory_uri() 函數的支援。

多行和巢狀陣列形狀

PhpStorm 2022.1  在 PHPDoc 和屬性中新增了對多行和巢狀陣列形狀的完全支援:

     

在這種情況下,可以使用陣列形狀註釋定義陣列結構,以獲得鍵的程式碼補全並推斷值的型別。

也可以在 PhpStorm 中使用 Booth PHPDoc 和 Attribute 語法,這些語法支援返回型別和引數型別定義:

除了多行和巢狀註釋支援外,陣列形狀還有許多其他改進。

@method 註解中的泛型

PhpStorm 2022.1 支援 @method 定義中的泛型型別:

新的高階 PHP 後設資料功能

 

除了內建的「程式碼感知」能力,PhpStorm 還依賴於外部的程式碼知識。這些知識以  和檔案的形式出現。

支援 magic __call 和 __callStatic

之前如果你依賴 magic 方法的 __call 或者 __callStatic ,則可能失去其自動補全功能,因為這些方法未定義。在 2022.1 EAP 中,可以新增相應的後設資料條目,並獲得此類呼叫的自動補全功能:

甚至可以自動處理動態呼叫,從引數值接收特定的方法名稱:

支援@|MyClass 型別

現在可以將聯合型別指定為 @|MyClass :

中瞭解有關其他後設資料功能的更多資訊。

新的 Composer 專案嚮導

增強 新建專案 嚮導:當建立一個新的空專案時您可以選擇為其自動生成一個composer.json檔案,並提供所需的依賴項。

建立專案後,PhpStorm 會提示你安裝它們:

WebDAV 支援

該版本引入了對使用 WebDAV 伺服器進行部署的支援。要設定新伺服器,請轉到偏好設定 | 構建、執行、部署 | 部署,然後新增一個新的 WebDAV 型別的伺服器,並提供連線引數:

覆蓋 Rsync 命令列引數

PhpStorm 2021.3 為 SFTP 支援引入了 Rsync,以顯著加快部署速度。Rsync 工具使用 -zar 命令列選項執行,它將壓縮傳輸的資料 ( z),保留傳輸檔案和資料夾的許可權、所有權和時間戳 ( a),並遞迴到子目錄 ( r)。

在此版本中,可以自定義選項集:轉到 設定 | 偏好設定 | 工具 | rsync 並提供所需的一組選項:

新的檢查

新增了一些新的檢查,旨在簡化正規表示式的使用。

冗餘修飾符

以下新檢查將報告正規表示式模式中使用,但不影響匹配的修飾符:

  • /i(不區分大小寫)在不包含字母的模式中
  • /DPCRE_DOLLAR_ENDONLY ) 在不包含美元符號,或包含\m(PCRE_MULTILINE) 修飾符的模式中
  • /s(點匹配換行符)在不包含點的模式中

PhpStorm 提供Alt+Enter快速修復,可以快速刪除這些修飾符。

不支援的修飾符

/e修飾符在 PHP 7.0 及更高版本中已棄用。

 

新的通知工具視窗

用新的通知 工具視窗替換了事件紀錄檔範例,可以幫助使用者更好地瞭解來自 IDE 的通知。預設情況下,新工具視窗位於 IDE 視窗的右下角,通知可以分為兩類:建議  時間線

Markdown 改進

  • 從 Markdown 檔案執行命令

README 檔案一般用來描述一個軟體的執行步驟,PhpStorm 2022.1 將允許直接從這類 Markdown 檔案執行命令 —— 只需單擊命令左側裝訂線中的 執行 圖示即可。

新選項可以通過 Detect 命令進行管理,這些命令可以直接從 Preferences / Settings | 中的 Markdown 檔案執行。

  • 複製 Markdown 的程式碼片段

新版本向 Markdown 塊新增了一個新的複製程式碼片段 操作,可以快速複製 Markdown 的程式碼到剪貼簿。

LightEdit 模式下的程式碼重新格式化

 ,無需建立或載入整個專案即可快速編輯檔案。現在也可以在 LightEdit 模式下重新格式化程式碼。

對 Vue 的改進

 JetBrains 的 IDE 2022.1 版本對 Vue 3 進行了多項改進,PhpStorm 整合了 WebStorm 對 HTML/CSS/JS 和其他 Web 技術的所有改進。在此版本中,如果你將元件定義為全域性,IDE 將在你的 .vue 檔案中識別它們。

PhpStorm 也正確支援 createApp 語法,它將正確匹配使用 createApp 相關元素建立的應用程式。

 

該版本還包含一些 Git 操作改進和 Docker 功能增強,完整內容可檢視。

展開閱讀全文