如何在VSCode多根工作区中仅为单个文件夹配置Flowjs支持
解决方案
问题根本原因
javascript.validate.enable 属于VSCode的窗口级配置,不支持在子文件夹的.vscode/settings.json中单独设置,这就是你配置后报错、不生效的核心原因。
可落地的操作步骤
- 打开你多根工作区的
example.code-workspace配置文件,修改添加如下配置:
{ "folders": [ { "path": "Root A" }, { "path": "Root B" }, { "path": "Root C" } ], "settings": { // 保留全局默认的JS/TS校验能力,不影响原生JS和TS项目的正常使用 "javascript.validate.enable": true, "typescript.validate.enable": true, // 将Flow项目下的所有JS文件关联为Flow专属语言模式,绕开内置JS/TS校验 "files.associations": { "Root B/**/*.js": "javascript.flow", "Root B/**/*.jsx": "javascript.flow" }, // Flow扩展基础配置 "flow.enabled": true, "flow.useLSP": true, "flow.runOnEdit": true, // 可选:如果你的Flow文件没有统一加// @flow头部注释,可开启这个配置 "flow.requireFileMetadata": false } }
- 配置完成后重启VSCode,打开Root B下的JS文件,查看编辑器右下角的语言模式标识,确认显示为
JavaScript Flow即配置生效。 - 确认Root B根目录下存在有效的
.flowconfig配置文件,Flow扩展会自动加载该配置完成项目校验。
配置完成后,Flow项目的类型语法不会再触发内置TS校验的报错,原生JS、TS项目的原有校验能力也不会受到任何影响。
内容的提问来源于stack exchange,提问作者Philipp Kyeck
相关产品推荐
相关产品推荐

