跳到主要内容

directives_ordering

稳定
可修复

遵循 Effective Dart 指南的 directives 排序约定。

详情

#

请务必遵循 Effective Dart 中的 directive 排序约定

请务必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 文件中的 linter > rules 下添加 directives_ordering

analysis_options.yaml
yaml
linter:
  rules:
    - directives_ordering

如果你改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 directives_ordering: true

analysis_options.yaml
yaml
linter:
  rules:
    directives_ordering: true