【文章內容使用 Gemini 2.5 Flash 自動翻譯產生】
好的,請注意,我將以繁體中文輸出 Markdown 格式的內容:
宣布 Dart 3.11
各位 Dart 開發人員您好!最新的穩定版 Dart 3.11 正式發布了!
此版本著重於響應能力和工具改進,您將在日常工作流程中感受到這些變化。從更智慧的分析伺服器到新的 pub 客戶端功能和增強的 AI 支援,Dart 3.11 旨在讓您保持流暢。繼續閱讀以了解更多資訊。
語言更新
此 Dart 版本中沒有新的語言更新。
工具更新
Dart MCP 和 AI 支援:套件 URI
我們將繼續改進 Dart 和 Flutter MCP 伺服器,以更好地支援 AI 編碼助手。
我們在 MCP 伺服器中新增了一個名為 read_package_uris 的工具。此工具允許 AI 代理(如 Cursor、Gemini 或 Copilot)從您的專案中讀取套件 URI 並將其添加到其上下文。這確保您的 AI 助手在產生程式碼時可以正確讀取、解析和利用相依性。
分析伺服器
此版本包含 Dart 分析伺服器的多項效能改進。伺服器現在使用「細粒度相依性」,使其在決定 IDE 會話期間需要重新分析哪些程式碼時更智慧。
我們還改進了特定情況下的分析效能,例如分析由符號連結導致的目錄結構中存在循環的程式碼,或許多常數物件的深層樹。
伺服器現在會快取編譯過的分析器插件入口點,從而縮短 IDE 會話以及 dart analyze 和 flutter analyze 命令的啟動時間。
最後,我們增強了許多分析伺服器功能中的「點式簡寫」支援,特別是程式碼補全、快速修復和快速協助。
Pub 更新
Pub 工作區中的 Glob 支援
Pub 工作區 現在支援使用 glob 宣告套件。這使您可以輕鬆地將目錄中的所有套件包含在 pub 工作區中,而無需一一列舉:
1 | # Before |
注意:要使用此功能,您的 pubspec.yaml 必須具有 Dart 版本 3.11 或更高版本。
Pub 快取垃圾回收
Pub 始終將套件儲存在一個單一的全局 PUB_CACHE 中,確保您永遠不會下載相同的套件兩次。然而,由於 Pub 沒有追蹤哪些專案使用了快取,因此無法知道哪些套件已過時,導致套件版本隨著時間的推移而累積。到目前為止,唯一的解決方案是清除整個快取並重新開始。
從 Dart 3.9 開始,pub get 已將解析的專案路徑儲存在快取中。現在在 Dart 3.11 中,我們引入了 pub cache gc 命令,該命令遍歷所有「活動」專案,標記它們所依賴的所有套件版本,並刪除其餘的。這可以幫助您回收寶貴的磁碟空間。
1 | > dart pub cache gc |
總結
Dart 3.11 就這樣!此版本完全著重於在日常開發中產生影響的細節。
有關完整的變更列表,請查看 Dart SDK 變更日誌。一如既往,我們很樂意聽取您的回饋!
宣布 Dart 3.11 最初發佈在 Dart 上的 Medium,人們在那裡透過突出顯示和回應這個故事來繼續討論。