VS Code开发Flutter时自动补全不再填充必填参数仅显示(…)
VS Code Flutter Widget自动补全不填充必填参数故障修复
故障表现
- 正常状态下,从自动补全下拉列表选择Widget时,插件会自动填充组件所有必填参数,生成代码格式如下:
FooWidget(bar: bar, baz: baz)
- 故障状态下,选择任意Widget补全项后,无论组件是否定义了必填参数,补全结果均为带省略号的占位形式:
FooWidget(…)
- 故障特征:功能此前长期正常运行,无手动修改配置的前提下突发异常。
触发原因
该故障通常由三类情况触发:
- Dart/Flutter插件更新后,补全相关配置项状态异常,界面显示值与实际生效值不匹配
- 插件本地缓存、配置文件损坏
- 误装预发布版本插件,存在未修复的功能Bug
修复方案(按操作成本从低到高排序)
- 配置项重置
打开VS Code设置面板,搜索dart.completeFunctionCalls配置项:- 若选项未勾选,直接勾选后重启VS Code测试
- 若选项已显示为勾选状态,先取消勾选,再重新勾选,重启VS Code后测试补全效果
多数突发的该类故障都是插件更新后配置状态假生效导致,手动切换一次开关即可修复。
- 关闭占位符补全开关
在设置面板搜索dart.flutterCompleteWithPlaceholders(部分旧版本命名为dart.useFlutterStarterSnippets),若该选项为开启状态,将其关闭后重启编辑器测试。该选项开启时会默认用省略号占位代替实际参数填充。 - 修复插件异常状态
若配置调整无效,按以下步骤操作:- 打开扩展面板,分别找到Dart、Flutter插件,先执行禁用操作,再重新启用,重启VS Code测试
- 操作无效则卸载两个插件,关闭VS Code后删除扩展目录下对应插件的残留文件夹,重新打开VS Code安装稳定版插件(请勿选择预发布版)
- 在项目目录执行
flutter clean、flutter pub get重置项目依赖缓存,重启编辑器后测试
- 版本回退
如果确认是更新插件后立刻出现的故障,可在Dart插件的扩展详情页点击版本选择下拉按钮,回退到故障出现前的历史稳定版本使用即可。
内容的提问来源于stack exchange,提问作者kandy kane
相关产品推荐
相关产品推荐

