如何为自定义MicroPython VS Code扩展配置Run/Debug按钮
如何将MicroPython运行命令添加到VS Code右上角Run/Debug下拉菜单
要实现把mpremote.run命令纳入右上角Run/Debug按钮的下拉选项,完成类似Python/C++扩展的一键运行效果,只需两步配置:
1. 在package.json中注册Run/Dropdown菜单选项
VS Code的Run/Debug下拉菜单对应菜单节点为editor/runDropdown,你需要在contributes.menus中添加该节点,将mpremote.run命令纳入其中,并通过when条件控制它的显示时机(比如仅在编辑Python/MicroPython文件时显示)。
修改你的package.json,在contributes节点下补充配置:
"contributes": { // 保留已有的右键菜单等配置 "menus": { "editor/runDropdown": [ { "command": "mpremote.run", "label": "MicroPython: 运行到微控制器", "when": "editorLangId == python && editorTextFocus", "group": "run@1" } ], // 保留你已有的右键菜单配置 "mpremote.editorContextSubMenu": [ { "command": "mpremote.run" }, { "command": "mpremote.upload" } ] } }
label:下拉菜单中显示的文本,明确标识MicroPython运行方式when:控制显示条件,这里设置为仅当前编辑器是Python文件且获得焦点时显示group:控制选项在下拉菜单中的位置,run@1表示放在默认运行选项附近(数字越小位置越靠前)
2. 适配命令的参数处理逻辑
右键菜单触发时会传递文件路径的args,但Run/Debug下拉菜单触发时不会自动传入该参数,因此需要修改getLocalFilePath函数,当无args传入时,自动获取当前激活编辑器的文档路径。
修改你的getLocalFilePath函数:
function getLocalFilePath(args) { // 优先使用右键菜单传递的路径参数 if (args && args.fsPath) { return args.fsPath; } // 无参数时,获取当前激活编辑器的文档路径 const activeEditor = vscode.window.activeTextEditor; if (activeEditor && activeEditor.document) { return activeEditor.document.uri.fsPath; } return null; }
可选:添加命令图标(增强视觉识别)
如果需要给下拉选项添加图标,可以在package.json的contributes.commands中注册命令图标:
"contributes": { "commands": [ { "command": "mpremote.run", "title": "MicroPython: 运行到微控制器", "icon": "$(play)" // 使用VS Code内置播放图标,也可自定义图标路径 } ], // 保留其他menus配置 }
完成以上配置后,重新加载扩展,打开Python文件时,右上角Run/Debug按钮的下拉菜单就会出现你添加的MicroPython运行选项,点击即可触发mpremote.run命令,将代码运行到连接的微控制器上。
内容的提问来源于stack exchange,提问作者Dave H.
相关产品推荐
相关产品推荐

