Javascript 在Scratch 3源代码中设置断点
我以前使用过Scratch2.0源代码,它主要基于动作脚本。我现在想深入研究3.0代码,它已经转移到JavaScript中,但在这方面没有什么经验。我在Windows10中工作 以下是我在本地准备代码的步骤-Javascript 在Scratch 3源代码中设置断点,javascript,node.js,mit-scratch,Javascript,Node.js,Mit Scratch,我以前使用过Scratch2.0源代码,它主要基于动作脚本。我现在想深入研究3.0代码,它已经转移到JavaScript中,但在这方面没有什么经验。我在Windows10中工作 以下是我在本地准备代码的步骤- git clone https://github.com/llk/scratch-gui git clone https://github.com/llk/scratch-vm cd scratch-vm npm install npm link npm run watch cd ..
git clone https://github.com/llk/scratch-gui
git clone https://github.com/llk/scratch-vm
cd scratch-vm
npm install
npm link
npm run watch
cd ..\scratch-gui
npm install
npm link scratch-vm
npm start
然后打开http://localhost:8601
在Chrome浏览器中
这很好,允许我修改vm代码(在VS代码中)并“立即”在浏览器中查看结果。我希望能够做的是设置断点,以便能够单步执行、设置手表等
我假设我需要设置launch.json
来完成此操作,但我尝试的所有配置都会导致编译成功,然后在尝试连接到运行时进程时超时
这是我正在使用的launch.json
文件(尽管我尝试了很多变体,它们都产生了相同的结果)
{
“版本”:“0.2.0”,
“配置”:[
{
“类型”:“节点”,
“请求”:“启动”,
“名称”:“启动计划”,
“runtimeExecutable”:“npm”,
“AutoAttachChildProcess”:正确,
“runtimeArgs”:[“开始”,“--”],
“协议”:“检查员”,
“滑雪板”:[
"/**"
],
“源地图”:正确,
“超时”:30000,
“outputCapture”:“std”,
“地址”:http://localhost",
“端口”:8601
}
]
}
我意识到我很可能错过了一个步骤或犯了一个明显的错误,但任何指向正确方向的指针都将非常感谢。我对您所做的工作几乎没有经验,但如果有帮助,JavaScript断点关键字是: 调试器 这是使用Visual Studio调试Scratch 3.0的第一步。我制定了使断点在多个工作区上工作所需的附加步骤,现在它们已添加到官方页面的标题下步骤3:多个根工作区的更多源映射
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"runtimeExecutable": "npm",
"autoAttachChildProcesses": true,
"runtimeArgs": ["start", "--"],
"protocol": "inspector",
"skipFiles": [
"<node_internals>/**"
],
"sourceMaps": true,
"timeout": 30000,
"outputCapture": "std",
"address": "http://localhost",
"port": 8601
}
]
}