<

パッケージの紹介:flutter_lints

まとめ

package:flutter_lints推奨される lint の最新セットを定義します Flutter アプリ、パッケージ、プラグインの適切なコーディング プラクティスを奨励します。 で作成されたプロジェクトflutter createFlutter バージョン 2.5 以降を使用する場合は、 推奨される lint の最新セットを使用できるようにすでに有効になっています。作成されたプロジェクト そのバージョンより前のバージョンは、このガイドの手順に従ってアップグレードできます。

コンテクスト

導入前package:flutter_lints、Flutter フレームワーク で定義された lint のセットが同梱されています。analysis_options_user.yamlあれは によって使用されますダーツアナライザーFlutter プロジェクトのコードの問題を特定するため カスタムを定義していませんでしたanalysis_options.yamlファイル。 以来analysis_options_user.yaml特定のフレームワークのバージョンに関連付けられていたため、 壊れずに進化するのは難しかった 既存のアプリ、パッケージ、プラグイン。その結果、糸くずが で定義されていますanalysis_options_user.yamlかなり時代遅れです。これを修正するには、package:flutter_lints作成されました。 lint が有効に設定するパッケージのバージョン 既存のプロジェクトを壊すことなく進化させます。パッケージは上に構築されているため、 ダーツpackage:lintsFlutter に推奨される lint も調整します Dart エコシステムの他の部分とのプロジェクト。

移行ガイド

以下の手順に従って、Flutter プロジェクトを移行して、最新の推奨バージョンを使用してください。 からの糸くずpackage:flutter_lints:

dev_dependency を追加しますpackage:flutter_lintsあなたのプロジェクトにpubspec.yaml走ることでflutter pub add --dev flutter_lintsのルートディレクトリにある 計画。

を作成しますanalysis_options.yamlプロジェクトのルートディレクトリにあるファイル (のそばにpubspec.yamlファイル)には次の内容が含まれます。

include: package:flutter_lints/flutter.yaml

新しくアクティブ化された lint セットにより、コード内のいくつかの新しい問題が特定される可能性があります。見つけるには プロジェクトをDart をサポートする IDEまたは走るflutter analyzeコマンドラインで。報告された問題の一部は修正できる可能性があります 実行すると自動的にdart fix --applyのルートディレクトリにある 計画。

既存のカスタム Analysis_options.yaml ファイル

プロジェクトにすでにカスタムがある場合analysis_options.yamlファイルをルートに置き、 追加include: package:flutter_lints/flutter.yaml有効化するには上部にある からの糸くずpackage:flutter_lints。もしあなたのanalysis_options.yamlすでに が含まれていますinclude:ディレクティブを維持するかどうかを決定する必要があります それらの糸くず、またはそれを次の糸くずと交換するかどうかpackage:flutter_lintsDart アナライザーは 1 つしかサポートしていないため、include:指令ごとanalysis_options.yamlファイル。

糸くずのカスタマイズ

特定のプロジェクトに対してアクティブ化された lint は、analysis_options.yamlファイル。これは、以下のサンプル ファイルに示されています。 の複製analysis_options.yamlによって生成されたファイルflutter create新しいプロジェクトのために。

# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.

# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml

linter:
  # The lint rules applied to this project can be customized in the
  # section below to disable rules from the `package:flutter_lints/flutter.yaml`
  # included above or to enable additional rules. A list of all available lints
  # and their documentation is published at
  # https://dart-lang.github.io/linter/lints/index.html.
  #
  # Instead of disabling a lint rule for the entire project in the
  # section below, it can also be suppressed for a single line of code
  # or a specific dart file by using the `// ignore: name_of_lint` and
  # `// ignore_for_file: name_of_lint` syntax on the line or in the file
  # producing the lint.
  rules:
    # avoid_print: false  # Uncomment to disable the `avoid_print` rule
    # prefer_single_quotes: true  # Uncomment to enable the `prefer_single_quotes` rule

# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options

タイムライン

リリースされたバージョン: 2.3.0-12.0.pre
安定版リリース: 2.5

参考文献

ドキュメンテーション:

  • package:flutter_lints
  • パッケージの依存関係
  • 静的解析のカスタマイズ

関連する問題:

  • 問題 78432 - Flutter アプリケーションの lint セットを更新する

関連する PR:

  • flutter_lints パッケージを追加
  • package:flutter_lints をテンプレートに統合する