Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>X-Runner (OmniRun)New to Visual Studio Code? Get it now.
X-Runner (OmniRun)

X-Runner (OmniRun)

yulong

|
8 installs
| (0) | Free
Run scripts, commands, and tasks from a unified dashboard. Supports dynamic parameters, hot reload, and inline editing.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

X-Runner V2.1 (The Infinite Task Runner)

X-Runner 是一个专业级的 Visual Studio Code 任务编排与可视化工具。 V2.1 版本带来了全新的 "Midnight Slate" 高级仪表盘,让您的任务管理体验更加现代化、直观和高效。

Dashboard Preview

🌟 V2.1 重大更新

  • 🎨 全新仪表盘: 基于 Slate 900 色系的深色磨砂玻璃 UI,即刻提升开发幸福感。
  • 🏷️ 分组过滤: 按 group 分类任务,搜索框下方显示所有分组标签,点击即可快速筛选。
  • 🔍 智能文件过滤: 侧边栏自动识别工作区内的所有配置文件,点击即可按文件筛选任务。
  • 🚀 交互式 Action Chips: 告别枯燥的列表,使用直观的 Chips 点击运行子任务(如 deploy, status, restart)。
  • ⚡️ 实时响应: 保存配置文件,仪表盘自动刷新,所见即所得。

🚀 核心特性

可视化仪表盘

  • 在一个优美的 Dashboard 中总览所有项目任务
  • 支持按分组 (group) 筛选任务
  • 支持按配置文件筛选任务
  • 支持关键字搜索(名称、分组、文件名)

智能发现

  • 自动扫描 *.xr.yaml, xr.config.json 等配置文件
  • 支持多种配置格式(YAML / JSON)
  • 实时监听文件变化

任务运行

  • command: 主运行命令,点击 RUN 执行
  • build: 构建任务,显示 🔧 图标
  • download: 下载任务,显示 ⬇️ 图标

子操作 (Actions)

  • 为每个任务定义多个原子操作(如"构建"、"测试"、"部署")
  • 在仪表盘中渲染为可点击的 Chips
  • 点击 Chip 直接执行对应操作

链式运行 (runChain)

  • 定义一个数组,即可按顺序串行执行一系列操作
  • 支持引用 actions、commonActions 或直接命令

调试集成 (debug)

  • 直接绑定 launch.json 中的调试配置
  • 在任务卡片上点击 🐛 图标即可开始调试

日志查看 (log)

  • 配置 log 路径
  • 点击图标直接在 VS Code 中打开查看日志

上下文变量

  • 自动解析 {workspaceFolder}, {file} 等变量
  • 支持自定义变量(通过 defaults 定义)

CodeLens 支持

  • 在配置文件中显示内联运行按钮
  • 快速定位和运行任务

动态参数 (paramSource) 🆕

动态参数 (paramSource) 🆕

  • 内联编辑: 双击任务卡片上的参数值直接修改。
  • 实时搜索: 配置 search: true 后,输入支持脚本实时查询。
  • 自动补全: 下拉列表展示脚本返回的候选项。
  • 配置示例:
  • 选中值自动填入命令参数
cases:
  - name: "搜索日志"
    command: "grep '{keyword}' {logfile}"
    paramSource:
      logfile:
        # 使用 {keyword} 占位符响应输入
        script: "find /var/logs -name '*{keyword}*'"
        search: true  # 开启搜索模式

📖 快速上手

1. 创建配置文件

在项目根目录创建一个 xr.config.yaml 文件:

defaults:
  env: "dev"

commonActions:
  clean: "rm -rf dist"

cases:
  - name: "后端服务 (Backend)"
    id: "backend.api"
    group: "Services"
    description: "Go编写的后端API服务"
    
    # 主命令 (点击 RUN 运行)
    command: "go run main.go --env {env}"
    
    # 辅助操作 (显示为交互式 Chips)
    actions:
      test: "go test ./..."
      lint: "golangci-lint run"
      docker: "docker build -t api:latest ."
      
    # 链式编排 (点击 Chain 图标运行)
    runChain: ["clean", "lint", "test", "command"]
    
    # 关联调试配置
    debug: "Launch Backend"
    
    # 日志路径
    log: "logs/app.log"

2. 打开仪表盘

  • 点击侧边栏 X-Runner 图标。
  • 点击标题栏上的 仪表盘 图标 $(dashboard)。
  • 或者运行命令: X-Runner: Open Dashboard。

3. 使用分组过滤

  • 搜索框下方会显示所有可用的分组标签
  • 点击标签筛选对应分组的任务
  • 点击「全部」显示所有任务

⚙️ 配置详解

字段 类型 描述
name string 任务显示名称。
id string 任务唯一标识符。
group string 任务分组(在仪表盘中作为过滤标签)。
description string 任务描述信息。
command string | array 主运行命令。
build string 构建命令,配置后显示构建按钮。
download string 下载命令,配置后显示下载按钮。
actions map 定义子操作,在仪表盘中渲染为可点击的按钮。
runChain string[] 定义执行顺序,支持引用 actions 或 commonActions。
debug string 对应 launch.json 中的配置名称。
log string 日志文件路径,配置后显示查看日志按钮。
paramSource map 动态参数源配置。包含 script, file, cache, search。

全局配置

字段 类型 描述
defaults map 定义全局默认变量,可在命令中使用 {varName} 引用。
commonActions map 定义公共操作,可在 runChain 中引用。

⌨️ 快捷变量

  • {case_id}: 当前任务 ID
  • {case_name}: 当前任务名称
  • {workspaceFolder}: 当前工作区根目录
  • {env}: 来自 defaults 的自定义变量

🎯 完整功能列表

功能 描述
✅ 可视化仪表盘 现代化的任务管理界面
✅ 分组过滤 按 group 字段筛选任务
✅ 文件过滤 按配置文件筛选任务
✅ 关键字搜索 快速搜索任务
✅ 任务运行 (command) 执行主命令
✅ 构建任务 (build) 执行构建命令
✅ 下载任务 (download) 执行下载命令
✅ 子操作 (actions) 多个可点击的操作按钮
✅ 链式运行 (runChain) 按顺序串行执行多个操作
✅ 调试集成 (debug) 一键启动调试
✅ 日志查看 (log) 快速打开日志文件
✅ 动态参数搜索 支持脚本实时搜索参数选项 (🆕)
✅ 内联参数编辑 直接在卡片上修改参数值 (🆕)
✅ 变量替换 支持内置变量、自定义变量及 Top-Level 属性引用 (🆕)
✅ CodeLens 配置文件内联运行按钮
✅ 侧边栏任务列表 树形展示所有任务
✅ 实时刷新 (Hot Reload) 修改配置自动更新 UI (🆕)

🔧 开发与贡献

本项目采用 TypeScript + React (Webview) 开发。

  1. 克隆仓库
  2. npm install
  3. F5 启动调试

项目结构

src/
├── core/              # 核心逻辑
│   ├── configParser.ts    # 配置文件解析
│   ├── runner.ts          # 任务运行器
│   ├── taskService.ts     # 任务服务
│   └── workspaceScanner.ts # 工作区扫描
├── providers/         # VS Code 提供者
│   ├── ConfigCodeLensProvider.ts
│   └── ScriptsTreeDataProvider.ts
├── dashboard/         # 仪表盘面板
└── extension.ts       # 扩展入口

webview-ui/            # React 仪表盘 UI
├── src/
│   ├── App.tsx
│   └── App.css

📄 License

MIT License

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft