dart fix
dart fix
命令會尋找並修正兩種問題
由
dart analyze
識別出的分析問題,這些問題具有相關的自動修正 (有時稱為快速修正或程式碼動作)。更新至較新版本的 Dart 和 Flutter SDK 時,過時的 API 用法。
套用修正
#若要預覽建議的變更,請使用 --dry-run
旗標
$ dart fix --dry-run
若要套用建議的變更,請使用 --apply
旗標
$ dart fix --apply
自訂行為
#dart fix
命令僅在診斷程式識別出「問題」時才套用修正。某些診斷程式 (例如編譯錯誤) 是隱含啟用的,而其他診斷程式 (例如 lints) 則必須在分析選項檔案中明確啟用,因為這些項目的個別偏好設定有所不同。
有時您可以透過啟用額外的 lints 來增加可以套用的修正數量。請注意,並非所有診斷程式都有相關聯的修正。
範例
#假設您有如下所示的程式碼
class Vector2d {
final double x, y;
Vector2d(this.x, this.y);
}
class Vector3d extends Vector2d {
final double z;
Vector3d(final double x, final double y, this.z) : super(x, y);
}
Dart 2.17 引入了一項稱為超級初始化器的新語言功能,可讓您以更精簡的樣式撰寫 Vector3d
的建構子
class Vector3d extends Vector2d {
final double z;
Vector3d(super.x, super.y, this.z);
}
若要啟用 dart fix
以升級現有程式碼來使用此功能,並確保分析器在您稍後忘記使用時發出警告,請如下所示設定您的 analysis_options.yaml
檔案
linter:
rules:
- use_super_parameters
我們也需要確保程式碼啟用所需的語言版本。超級初始化器是在 Dart 2.17 中引入的,因此請更新 pubspec.yaml
,使其在較低的 SDK 限制中至少具有該版本
environment:
sdk: ">=2.17.0 <4.0.0"
然後,當您檢視建議的變更時,應該會看到以下內容
$ dart fix --dry-run
Computing fixes in myapp (dry run)... 9.0s
1 proposed fixes in 1 files.
lib/myapp.dart
use_super_parameters • 1 fix
若要進一步瞭解自訂分析結果和行為,請參閱自訂靜態分析。
VS Code 支援
#當您在 VS Code 中開啟專案時,Dart 外掛程式會掃描專案中 dart fix
可以修復的問題。如果找到要修復的問題,VS Code 會顯示提示來提醒您。

在執行 dart pub get
或 dart pub upgrade
之後,如果套件變更新增了 dart fix
可以修復的問題,VS Code 也可能會顯示此提示。
在執行 dart fix
之前,請先儲存所有檔案。這可確保 Dart 使用最新版本的檔案。
除非另有說明,否則本網站上的文件反映的是 Dart 3.7.1 版本。頁面上次更新於 2024-12-10。 查看原始碼 或 回報問題。