VSCode 无法直接运行 .sb3 文件,需通过本地 scratch-gui 开发服务器启动;必须克隆完整源码、在项目根目录执行 yarn install 和 yarn start,再访问 http://localhost:8601 调试。

VSCode 本身不能直接“运行” Scratch 代码(.sb3 文件)——它不是解释器,而是编辑器。真正运行 Scratch 项目,靠的是本地启动的 scratch-gui 开发服务器,而 VSCode 只负责编辑源码、触发构建和调试。
为什么 npm start 或 yarn start 会报错“webpack-dev-server 不是内部或外部命令”
这是最常卡住新手的第一步。根本原因不是 VSCode 问题,而是 scratch-gui 项目依赖未正确安装或未在项目根目录执行命令。
- 必须先用
git clone https://github.com/LLK/scratch-gui.git下载完整源码,不能只拖一个 .sb3 文件进 VSCode - 打开 VSCode 时,要通过
File → Open Folder…选中scratch-gui这个文件夹,而不是单个文件 - 终端必须在该文件夹内运行:
cd到项目根目录后,再执行yarn install(推荐)或npm install - 如果已全局安装过
webpack-dev-server,但依然报错,说明它没被scratch-gui的package.json脚本识别——删掉node_modules和yarn.lock,重装
VSCode 中实际能“运行”的只有开发服务,不是.sb3文件
Scratch 项目是基于 React + Webpack 的前端应用,.sb3 是运行时加载的资源,不是可执行脚本。你在 VSCode 里做的,本质是启动一个本地开发服务器:
- 确保已成功执行
yarn install,且无报错(注意国内网络可能需要配置npm config set registry https://registry.npmmirror.com) - 在 VSCode 集成终端中运行
yarn start(不是yarn run start) - 等待控制台输出类似
Project is running at http://localhost:8601/,然后手动打开浏览器访问该地址 - 此时你看到的界面就是本地版 Scratch —— 所有积木、舞台、代码编辑区都来自你正在编辑的
scratch-gui源码
所谓“少儿编程插件”,对 Scratch 二次开发基本没用
VSCode 商店里的 “Scratch”、“SB3 Editor”、“Scratch Code Runner” 等插件,面向的是直接编辑和预览 .sb3 文件的轻量场景,不适用于二次开发。它们无法处理 scratch-vm、scratch-blocks 等多仓库联动,也不支持热重载或断点调试。
- 真正有用的插件只有三个:
ESLint(检查 JS 语法)、Prettier(统一代码格式)、Debugger for Chrome(配合浏览器调试运行时逻辑) - 不要装“Scratch Language Support”之类插件——
scratch-gui是标准 React 项目,不需要特殊语法高亮 - 如果你只是想快速打开 .sb3 文件看结构,用浏览器直接拖入即可;想改积木行为或 UI,就必须走完整的
scratch-gui+scratch-vm源码开发流程
端口被占、页面空白、资源 404 是最易忽略的细节
即使 yarn start 显示启动成功,浏览器也可能打不开或功能异常。这不是代码写错了,而是环境链路断在了中间环节:
- 端口冲突:默认
8601被占?查netstat -ano | findstr :8601,再用taskkill /pid [PID] /f杀掉进程 - 资源 404:比如
/static/blocks/blocks_vertical.js报 404,说明scratch-blocks没构建好——进入node_modules/scratch-blocks目录,运行yarn build - 页面空白无报错:打开浏览器开发者工具(F12),切到 Console 和 Network 标签页,看是否有 JS 加载失败或跨域拦截(尤其是用了 WSL 但没配好网络)
- 热重载失效:修改
src/containers/app.jsx后没反应?确认webpack.config.dev.js中hot: true已启用,且终端没有静默报错



















