VSCode如何为自动检测的npm脚本设置shell及执行参数
VSCode npm类型任务自动添加
wsl.exe --前缀的解决方案 方案1:全局/工作区配置npm运行时(最简便,保留自动检测功能)
直接修改VSCode配置,所有自动检测的npm任务都会自动应用前缀,无需手动修改任务配置。
打开对应作用域的settings.json(仅当前项目生效就打开工作区的.vscode/settings.json,全局生效就打开用户settings.json),添加如下配置:
{ "npm.runtimeExecutable": "wsl.exe", "npm.runtimeArgs": ["--", "npm"] }
配置后自动检测的npm任务执行时,会自动拼接为wsl.exe -- npm run [脚本名]格式,完全符合需求。如果使用pnpm/yarn等其他包管理器,只需把runtimeArgs里的npm替换为对应包管理器命令即可。
方案2:单任务覆盖配置
如果只需要给部分npm任务自定义执行参数,不需要全局修改,可以在tasks.json中自定义和自动检测任务同名的npm类型任务,单独添加shell配置,VSCode会优先使用你自定义的配置,同时任务依然会显示在NPM Scripts侧边栏中:
{ "version": "2.0.0", "tasks": [ { "type": "npm", "script": "start", "problemMatcher": [], "label": "npm: start", "detail": "ng serve --proxy-config proxy.conf.json", "options": { "shell": { "executable": "wsl.exe", "args": ["--"] } } } ] }
补充说明
不需要放弃VSCode的npm脚本自动检测功能,上述两种方案都可以在保留自动检测能力的前提下解决问题。
内容的提问来源于stack exchange,提问作者Sudiukil
相关产品推荐
相关产品推荐

