MacOS+VSCode多Flutter版本切换异常:仅显示2.0.4版本求助
以下是可能导致VSCode仅显示Flutter 2.0.4版本的几个原因及解决方法:
PATH优先级覆盖
VSCode的Flutter插件会优先识别系统PATH中靠前的Flutter可执行文件路径。如果你的PATH配置里,2.0.4版本的flutter路径排在3.7.1之前,插件默认会加载这个版本。可以在终端执行echo $PATH查看路径顺序,调整两个版本的PATH位置,或者直接依赖VSCode的多SDK配置来切换,不用依赖PATH顺序。VSCode settings.json配置不全
确保你在settings.json中正确添加了两个SDK的根目录路径,而不是只配置单个版本。正确的配置示例如下:"dart.flutterSdkPaths": [ "/Users/你的用户名/flutter_2.0.4", "/Users/你的用户名/flutter_3.7.1" ], "dart.flutterSdk": ""注意
sdk字段留空,让插件自动识别已配置的多个SDK版本。如果之前只填了2.0.4的路径,插件自然只会显示这个版本。配置未生效(未重载窗口)
修改settings.json后,必须通过Cmd+Shift+P打开命令面板,执行Reload Window指令,让Flutter插件重新读取配置。直接关闭再打开VSCode也能达到同样效果,避免插件缓存旧配置。VSCode未同步终端环境变量
如果你是在~/.zshrc或~/.bash_profile中配置的PATH,VSCode可能没有同步到最新的环境变量。可以尝试关闭VSCode后,从终端执行code命令启动VSCode,这样它会继承终端的环境变量;或者在VSCode设置中搜索terminal.integrated.inheritEnv,确认该选项处于开启状态。别名配置不影响VSCode插件识别
你给3.7.1设置的flutter371别名只是终端命令的快捷方式,VSCode的Flutter插件并不依赖这个别名,它只会识别你在sdkPaths中配置的SDK根目录。所以仅靠PATH中的别名无法让插件识别到3.7.1版本,必须在settings.json中添加对应的SDK路径。
内容的提问来源于stack exchange,提问作者Linesofcode

