You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode 1.68.1保存文件时自动移除import中React引入问题

问题根因

该问题和ESLint无关,是VSCode 1.68版本更新后内置JavaScript/TypeScript语言服务的默认逻辑导致的:
React 17推出了新JSX转换机制,支持JSX文件无需顶部显式导入React即可正常运行。升级后的VSCode会自动识别项目的JSX转换配置,由于你在设置中开启了editor.codeActionsOnSave下的source.organizeImports: true,保存时触发的导入整理逻辑会判定未被实际引用的React导入为冗余代码,自动执行移除操作。这也是你卸载ESLint插件后问题依然存在的原因。

解决方案

根据项目实际技术栈选择对应方案即可:

  • 项目使用React 17及以上版本,且已配置新JSX转换(Babel配置@babel/preset-react时开启runtime: 'automatic',或TS/JS配置中jsx选项设为react-jsx):该自动移除行为符合预期,无需调整配置,保留自动处理逻辑即可,移除冗余React导入不会影响代码运行,还能适当缩减打包体积。
  • 项目使用React 16及更低版本,或需要保留显式React导入:在项目根目录新建或修改jsconfig.json(JS项目)/tsconfig.json(TS项目),添加如下配置,明确告知VSCode当前项目使用旧版JSX转换规则,禁止自动移除React导入:
{
  "compilerOptions": {
    "jsx": "react"
  }
}
  • 不想修改项目配置,需要全局关闭VSCode的这类自动导入处理逻辑:打开VSCode全局settings.json,添加如下配置项:
"javascript.suggest.autoImports": false,
"typescript.suggest.autoImports": false

注意:全局关闭配置会对所有打开的项目生效,会影响正常的自动导入提示、导入整理能力,优先推荐使用项目级配置方案,影响范围更可控。


内容的提问来源于stack exchange,提问作者MAK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 14:31:14