領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多在最近釋出的 SpringSource Tool Suite 2.5.1 中,我們對 Groovy 除錯進行了重大改進。一直以來,都可以使用 Eclipse 對 Java 的標準除錯支援來除錯 Groovy 應用程式,但由於 Groovy 與 Java 的語言差異及其超程式設計,許多除錯功能一直未能正常工作。
這篇文章中的所有截圖都來自一個簡單的 Grails 應用程式,因此此處的除錯功能隱含地利用了動態新增的 Groovy 方法和屬性。
透過增強的 Groovy 除錯支援,“步入”命令的執行方式與您預期的一模一樣。過去,由於 Groovy 大量使用反射和快取的呼叫站點,有時會步入不感興趣的堆疊幀,而可能會步過感興趣的堆疊幀,這使得除錯體驗有時令人不快。
現在,可以步入 Groovy 方法和閉包,同時忽略所有不感興趣的 Groovy 執行時和框架呼叫
可以透過 Groovy -> 偵錯程式 -> 擴充套件除錯支援首選項頁面停用此支援
當偵錯程式停止在 Groovy 堆疊幀上時,顯示檢視和表示式檢視現在可以識別 Groovy 語法,並完全訪問 Groovy 動態新增的方法和屬性。
在顯示檢視中
在表示式檢視中
甚至在編輯器中(透過選擇程式碼片段並使用 CTRL-Shift-I 鍵盤快捷鍵)
如果您需要停用此支援,也可以透過 Groovy -> 偵錯程式 -> 擴充套件除錯支援首選項頁面進行操作
您在除錯應用程式中可以做的任何事情都應該可以透過顯示檢視實現,嗯,幾乎所有事情,除了定義新的類、方法、屬性和閉包。Groovy 是一種大型語言,並且在不斷發展。可能還有其他尚未支援的語言特性,但基本功能,包括變數定義、迴圈、條件語句以及 gstring 列表和對映字面量,都可以在評估中使用。
例如,可以新增 Grails 領域類的新例項
並遍歷集合
Groovy 元物件協議 (MOP) 提供了一種結構化的方式來改變 Groovy 的語義,透過讓終端使用者控制方法呼叫和屬性訪問。新的 Groovy 除錯支援的核心依賴於 Groovy MOP 進行程式碼評估。其工作原理如下:
這使我們幾乎可以從正在執行的 STS 例項完全控制除錯的應用程式。我們驚訝地發現 Groovy MOP 功能強大,足以用於在遠端應用程式上執行 Groovy 指令碼。
如果您有評論、功能請求或遇到問題,請為此提出 Jira 問題或在SpringSource Tool Suite 論壇上提及。