React Native 命令搜不到需先确认 React Native Tools 插件已启用且项目根目录含 react-native 脚本;热重载需保存文件并开启开发者菜单中的 Hot Reloading;断点失效多因 sourceMaps 未启用或 outDir 配置错误;LogCat 过滤可快速定位 JS 错误。

Ctrl+Shift+P 里搜不到 React Native 命令?先确认插件和环境
不是所有命令都默认可用,React Native Tools 插件必须已安装且启用,否则 React Native: Run Android、React Native: Debug iOS 等命令根本不会出现在命令面板里。另外,项目根目录下必须有 package.json 且含 react-native 相关脚本(如 start、run-android),VSCode 才能识别为 RN 项目并加载对应命令。
常见错误现象:
- 输入
React Native后命令列表为空 - 命令存在但执行报错 “Command 'react-native.run-android' not found”
排查步骤:
- 检查插件是否启用:打开 Extensions(Ctrl+Shift+X),搜索
React Native Tools,确认状态为 “Enabled” - 确认项目路径正确:VSCode 必须以 RN 项目根目录为工作区打开,不能只打开某个子文件夹
- 运行
npx react-native --version验证本地 CLI 可用性(非全局安装也 OK)
热重载失效时,别急着重启 Metro,先按 Ctrl+S + Cmd+D/Ctrl+M
保存文件后没反应,大概率不是代码问题,而是调试模式或热重载开关没打开。RN 的热重载依赖两个条件同时满足:文件保存 + App 处于开发模式。
关键操作链:
- 改完代码,按
Ctrl+S保存(确保 Auto Save 没设成afterDelay,否则可能延迟触发) - 在模拟器或真机上,按
Cmd+D(macOS)或Ctrl+M(Windows/Linux)调出开发者菜单 - 确认 “Hot Reloading” 已勾选(不是 “Live Reload”);若灰色不可点,说明未连上 Metro
- 如果仍不生效,再执行
React Native: Restart Packager命令,比手动 kill 进程更稳
注意:Hot Reloading 只更新组件内部逻辑,不重置 state;Live Reload 会整页刷新,适合改了样式或初始结构时用。
断点不命中?检查 launch.json 的 sourceMaps 和 outDir
VSCode 默认用内置 JavaScript Debugger 调试 RN,但断点不触发,往往是因为源码映射失败——特别是用了 TypeScript 或自定义 Webpack 配置的项目。
根据项目规范生成 React 和 Vue 组件,包括 TypeScript 类型定义、Ant Design 5 集成、Tailwind CSS 样式及 Vitest 测试文件。当用户提出创建、生成或搭建前端组件的需求时启用,例如:“帮我写一个表格组件”、“生成一个弹窗”、“create a form component”、“写一个列表页”、“生成一个下拉选择器”。该能力在以下任一场景触发:涉及 React/TSX/Vue 组件生成、UI 组件创建,或为组件生成测试文件。
典型配置坑点:
-
"sourceMaps": true必须显式设为true(即使文档说默认 true,实际某些 RN 版本需手动开启) -
"outDir"如果项目用了tsconfig.json输出到lib/,这里必须填"./lib",否则 debugger 找不到原始 .ts 文件 - Android 真机调试时,
"platform": "android"不能漏,且设备必须已通过adb devices列出
快速验证:在 App.js 第一行打个断点,启动调试后看左下角状态栏是否显示 “Debugging React Native (Android)” —— 若显示 “Connecting…” 卡住,八成是 sourceMaps 或端口冲突。
日志刷屏看不清?用 React Native: Start LogCat Monitor 加过滤
终端里 adb logcat 输出太多干扰信息,真正想看的 JS 错误反而被埋掉。VSCode 内置的日志面板支持实时过滤,比切窗口查更高效。
实操建议:
- 直接运行
React Native: Start LogCat Monitor(无需提前开 adb) - 在日志面板右上角输入
ReactNativeJS,即可只留 JS 层报错(如TypeError: undefined is not an object) - 想定位某次网络请求?加个
fetch或axios关键字,配合时间戳快速定位 - 日志面板支持右键复制单行,不用全选粘贴再删多余内容
注意:该命令对 iOS 设备无效,iOS 日志需用 Xcode → Devices and Simulators → View Device Logs,VSCode 目前不接管。
快捷键本身不难记,难的是每条命令背后依赖的插件状态、项目结构、甚至设备连接质量。一个 Ctrl+Shift+P 搜不到命令,可能卡在插件没启、路径不对、CLI 版本太老三个环节里的任意一个——与其背快捷键,不如先让环境稳住。










