launch_uvision
Launch Keil uVision with a project file to prepare for debugging, reusing an existing window by default and enforcing a single instance unless multiple are explicitly requested.
Instructions
可见方式启动 Keil uVision 并打开工程,供人工查看界面 / 调试准备。project 为 .uvprojx 路径,可省略以用默认工程。reuse(默认 true):已有打开同一工程的 Keil 窗口时复用该窗口并前置,不新开——真机实测 UV4.exe 并非单实例程序,反复调用本工具会累积出多个同工程窗口(曾达 6 个),因此默认复用;确需第二个窗口时才传 reuse=false。single(默认 true)=「只保留一个 Keil 窗口」的执行者:已经开着别的工程的窗口时直接拒绝(error_code=keil-multiple-instances,返回 open_instances 与下一步),不做「偷偷关掉再开」;已经开着同工程窗口时强制复用(reuse=false 也被否决,返回 reuse_forced=true);本次没给 project 且已有实例同样拒绝(无从比对就不猜)。确实要同时开多个窗口才传 single=false。返回值含 reused / pid / instances(当前同工程窗口数)。用户无需手动打开 Keil,AI 可通过本工具拉起;想看当前开了几个窗口用 list_uvision_instances,想把多余的收掉用 close_uvision(keep="latest")。uvsock_port:传端口号则给这次启动加官方开关 -s <端口>,让新实例在该端口上开 UVSOCK——当用户的 Keil 里 UVSOCK 没打开/端口被改过时,光拉起 Keil 仍连不上,这个参数能一步到位(注意 MCP 服务自身的 UVSOCK 端口也要一致)。no_layout=true 加 -sg 禁用 uvguix 布局文件:用户改过窗口布局、布局文件损坏导致 UV4 起得极慢或报错时用它绕开。
【参数】必填: 无;可选: project, reuse, uvsock_port, no_layout, single
【调用示例】{}
【风险】中——会改变目标状态或占用共享资源(调试态/串口/Keil 实例),必要时可回退。
【参数别名】project ← path/proj/project_file/project_path/uvprojx。规范名以上方【参数】行为准;未列出的参数名会被拒绝,不会静默忽略
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reuse | No | ||
| single | No | ||
| project | No | ||
| no_layout | No | ||
| uvsock_port | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |