跳到主要內容

directives_ordering

穩定
可修復

遵循 Effective Dart 指南的指令排序約定。

詳情

#

建議遵循 Effective Dart 中的指令排序約定

建議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';

建議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';

建議在所有匯入之後,在單獨的部分中指定匯出。

不規範

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

建議按字母順序對各個部分進行排序。

不規範

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 檔案中,將 directives_ordering 新增到 linter > rules 下方

analysis_options.yaml
yaml
linter:
  rules:
    - directives_ordering

如果您改為使用 YAML 對映語法配置 linter 規則,請在 linter > rules 下方新增 directives_ordering: true

analysis_options.yaml
yaml
linter:
  rules:
    directives_ordering: true