メインコンテンツにスキップ

directives_ordering

安定版
修正が利用可能です

Effective Dart ガイドのディレクティブのソート規約に従ってください。

詳細

#

DO Effective Dart のディレクティブの順序に関する規約に従ってください。

DO dart: インポートを他のインポートよりも前に配置してください。

悪い例

dart
import 'package:bar/bar.dart';
import 'package:foo/foo.dart';

import 'dart:async';  // LINT
import 'dart:html';  // LINT

悪い例

dart
import 'dart:html';  // OK
import 'package:bar/bar.dart';

import 'dart:async';  // LINT
import 'package:foo/foo.dart';

良い例

dart
import 'dart:async';  // OK
import 'dart:html';  // OK

import 'package:bar/bar.dart';
import 'package:foo/foo.dart';

DO package: インポートを相対インポートよりも前に配置してください。

悪い例

dart
import 'a.dart';
import 'b.dart';

import 'package:bar/bar.dart';  // LINT
import 'package:foo/foo.dart';  // LINT

悪い例

dart
import 'package:bar/bar.dart';  // OK
import 'a.dart';

import 'package:foo/foo.dart';  // LINT
import 'b.dart';

良い例

dart
import 'package:bar/bar.dart';  // OK
import 'package:foo/foo.dart';  // OK

import 'a.dart';
import 'b.dart';

DO エクスポートは、すべてのインポートの後に別のセクションで指定してください。

悪い例

dart
import 'src/error.dart';
export 'src/error.dart'; // LINT
import 'src/string_source.dart';

良い例

dart
import 'src/error.dart';
import 'src/string_source.dart';

export 'src/error.dart'; // OK

DO セクションをアルファベット順にソートしてください。

悪い例

dart
import 'package:foo/bar.dart'; // OK
import 'package:bar/bar.dart'; // LINT

import 'a/b.dart'; // OK
import 'a.dart'; // LINT

良い例

dart
import 'package:bar/bar.dart'; // OK
import 'package:foo/bar.dart'; // OK

import 'a.dart'; // OK
import 'a/b.dart'; // OK

有効にする

#

directives_ordering ルールを有効にするには、analysis_options.yaml ファイルの linter > rules の下に directives_ordering を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    - directives_ordering

代わりに YAML マップ構文を使用してリンタルールを設定している場合は、linter > rules の下に directives_ordering: true を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    directives_ordering: true