如何在Windows编写代码,在Mac上实现构建/热重载/热重启?
解决方案
方案1:双向文件同步工具(精准控制同步范围)
放弃简单的局域网共享,改用支持规则过滤的同步工具,从根源避免依赖文件互相覆盖:
- 选用FreeFileSync或Syncthing这类工具,在Windows和Mac间建立同步任务
- 核心配置忽略列表,添加以下Mac端专属生成的目录/文件(无需同步到Windows):
.dart_tool/build/pubspec.lock.flutter-plugins.flutter-plugins-dependencies
- 设置同步触发模式:选择实时监控文件变化自动同步,确保Windows的代码修改(如
lib/、assets/目录)实时同步到Mac,而Mac生成的依赖文件不会回传覆盖Windows端
方案2:VS Code Remote SSH(远程编辑+本地运行)
让Mac作为项目运行的宿主,Windows仅承担编辑器角色,彻底消除文件冲突:
- 在Mac上开启远程登录:系统偏好设置 → 共享 → 勾选「远程登录」,记录Mac的局域网IP
- Windows端VS Code安装「Remote SSH」扩展,通过IP连接到Mac
- 直接在Windows的VS Code中编辑Mac本地的项目文件,所有
pub get、热重载/热重启操作都在Mac本地执行,完全不存在文件覆盖问题
方案3:Flutter远程调试(针对移动端/Flutter Web项目)
利用Flutter的调试服务,分离代码编辑和运行环境:
- 在Mac上启动Flutter项目:连接模拟器/真机后执行
flutter run,启动后会输出调试服务地址(如http://192.168.x.x:8080) - Windows端本地维护项目的代码副本,仅编辑核心代码文件(
lib/、pubspec.yaml等),修改后用scp命令快速同步到Mac:scp -r ./lib/ your-mac-username@192.168.x.x:/path/to/your/project/lib/ - 在Mac的终端按
r触发热重载,或者在Windows浏览器打开Flutter DevTools,连接到Mac的调试服务,直接在浏览器操作热重启
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

