Dart格式化工具为何生成三级缩进?如何在VS Code中调整?
问题解答
原因
这是Dart官方格式化工具dart format的默认行为,它严格遵循Dart语言风格指南,会将switch表达式的分支与switch关键字对齐,而非与大括号{对齐。叠加外层代码的缩进后,就出现了你看到的多级缩进效果。
在Visual Studio Code中修改该行为的方法
你可以通过两种方式调整格式化规则,实现分支仅缩进一级的需求:
方式一:通过项目配置文件修改(推荐)
- 在项目根目录创建或打开
analysis_options.yaml文件 - 添加以下配置内容,禁用switch分支与关键字对齐的规则:
include: package:lints/recommended.yaml formatter: align_switch_case: false
- 保存文件后重启Visual Studio Code
- 重新格式化代码(快捷键:Ctrl+Shift+I / Cmd+Shift+I),此时switch分支会改为相对于大括号缩进一级,符合预期格式。
方式二:通过VS Code全局设置修改
- 打开VS Code设置界面(快捷键:Ctrl+, / Cmd+,)
- 在搜索框中输入Dart Additional Formatter Arguments,找到对应的设置项
- 添加格式化参数:
--set-formatter=align_switch_case=false - 保存设置后重启编辑器,重新格式化代码即可生效。
内容的提问来源于stack exchange,提问作者Chris B.
相关产品推荐
相关产品推荐

