Any Run
Any Run 是一个 VS Code 原生运行入口插件。它会扫描当前工作区中的 Go、Node / 前端、Python / uv、Rust、C / C++ 项目,并把运行、调试和测试动作转换为 VS Code Debug / Task API,而不是直接往终端写命令。
功能亮点
- 自动发现
.vscode/launch.json,并优先复用已有原生调试配置。
- 自动识别 Go main 包、Go 测试、Node scripts、Python 入口文件、pytest、Rust / Cargo、C / C++ main 文件。
- 提供 Activity Bar 目标树、编辑器标题按钮、Quick Pick、状态栏最近目标和 Go 测试 CodeLens。
- 需要持久化配置时,通过
Any Run: Generate Launch Configurations 或执行具体调试目标写入 .vscode/launch.json,不会仅因打开工作区而自动改写文件。
UI 入口
- 编辑器右上角:点击
Any Run: Select Target,打开上下文优先的目标选择器。
- Activity Bar:左侧
Any Run 面板展示完整运行 / 调试目标。
- CodeLens:Go 测试函数上方显示
Debug Test。
- 状态栏:显示最近执行的目标,点击可再次执行。
执行方式
- Go Debug / Test:调用
vscode.debug.startDebugging(),依赖官方 Go 扩展。
.vscode/launch.json:优先作为原生调试目标展示和复用;自动发现的 Debug 目标会按需生成/更新配置,再按配置名称启动。
- Node scripts:通过 VS Code Task API 和
ProcessExecution 执行;调试模式调用 VS Code JS Debug。
- Python Debug / pytest:调用
debugpy,优先使用工作区 .venv 解释器。
- Rust:生成 CodeLLDB / Cargo 调试配置。
- C / C++:生成 cpptools 调试配置,并引用对应的预构建任务名称。
依赖扩展
按项目语言安装对应调试扩展:
- Go:
golang.go
- Python:
ms-python.python 或 ms-python.debugpy
- Rust:
vadimcn.vscode-lldb
- C / C++:
ms-vscode.cpptools
Node / JavaScript 调试使用 VS Code 内置 JS Debug。
命令
Any Run: Select Target
Any Run: Generate Launch Configurations
Any Run: Refresh Targets
Any Run: Rerun Last Target
配置
{
"anyRun.showStatusBar": true,
"anyRun.enableGoTestCodeLens": true
}
工作区信任
Any Run 会读取项目文件,并可能在用户触发生成或调试时写入 .vscode/launch.json、执行 Task / Debug 会话。因此扩展仅在受信任的本地工作区中启用,不支持虚拟工作区。
| |