如何配置dartanalyzer忽略指定文件并兼容IntelliJ与CLI?
兼容dartanalyzer CLI和IntelliJ的exclude配置方案
我之前在Dart 2.4版本也碰到过这个头疼的兼容问题,试了好几种写法才找到两边都能生效的配置。你可以把analysis_options.yaml改成下面这样:
analyzer: exclude: - 'bin/**/*.g.dart' - 'bin/**/*.inject.dart' - 'bin/**/*.inject.summary' - 'lib/**/*.g.dart' - 'lib/**/*.inject.dart' - 'lib/**/*.inject.summary' - 'test/**/*.g.dart' - 'test/**/*.inject.dart' - 'test/**/*.inject.summary'
为什么之前的写法不行?
- 你最初用的
lib/**.g.dart缺少了一个/,dartanalyzer CLI的glob规则要求**/来匹配任意子目录,这种写法会导致CLI无法正确识别要排除的文件; - 而直接写
**/*.g.dart时,IntelliJ的Dart插件会把开头的**错误解析成“未定义的别名”,这是老版本插件的一个解析bug; - 明确指定每个根目录(bin/、lib/、test/)加上
**/*.xxx的写法,既能让CLI正确识别glob规则,也能避开IntelliJ的解析问题。
验证方法
- 保存配置后,在终端运行
dartanalyzer .,检查输出中是否还包含这些后缀文件的分析结果; - 在IntelliJ中,你可以右键点击某个.g.dart文件,查看“Analyze”选项是否灰化,或者直接看
analysis_options.yaml有没有红色报错提示。
内容的提问来源于stack exchange,提问作者Pacane
相关产品推荐
相关产品推荐

