Project Script Runner
Project Script Runner 是一个专注于 package.json 脚本执行体验的 VSCode 扩展。
它会自动识别当前工作区中的 package.json,读取其中的 scripts,并在编辑器右上角提供一个可直接点击的运行入口,适合 Vue、React、Vite、Node.js、Monorepo 等前端或全栈项目。
功能亮点
- 自动扫描当前工作区中的
package.json
- 读取并展示
scripts 列表,无需手动输入命令
- 在编辑器右上角提供运行、再次运行、停止三个直观按钮
- 支持状态栏运行入口、再次运行入口,并在运行中同步切换为停止入口
- 多包项目下优先匹配当前激活文件最近的
package.json
- 可选脚本默认保持
package.json 中的原始顺序
- 最近使用过的脚本会自动排到最前面
- 自动识别
pnpm、npm、yarn、bun
适用场景
- 经常在
local、dev、prod、build:* 之间切换
- 团队项目脚本较多,希望统一从编辑器入口触发
- Monorepo 或多子项目场景下,希望就近运行当前模块脚本
- 不想每次都手动打开终端再输入
pnpm run dev
使用方式
- 用 VSCode 打开一个包含
package.json 的项目。
- 打开任意一个编辑器文件。
- 点击编辑器右上角运行图标,或点击状态栏中的“运行脚本”。
- 在弹出的列表中选择要执行的脚本,例如
local、dev、prod、build:dev。
- 扩展会自动在对应项目目录打开终端并执行命令。
- 如果当前项目已有上一次运行记录,可直接点击“再次运行”按钮一键重跑。
- 当脚本处于运行状态时,右上角和状态栏入口会切换为停止图标,并在提示中显示当前项目和脚本名。
- 点击停止后,扩展会先发送
Ctrl+C 尝试温和中断;无论是正常退出还是超时兜底,都会把这次新开的终端一并关闭。
示例
如果项目的 package.json 中存在:
{
"scripts": {
"local": "vite --mode localhost",
"dev": "vite --mode development",
"prod": "vite --mode production",
"build:prod": "vue-tsc -b && vite build --mode production"
}
}
点击图标后,你会看到与 package.json 一致的脚本顺序;如果最近运行过 dev,它会优先显示在最上方。
安全与兼容性说明
- 此扩展会直接触发项目脚本执行,因此仅在“受信任工作区”中启用。
- 当前版本不支持虚拟工作区,例如部分只读仓库浏览场景。
- 运行脚本前,请确认项目中的命令内容符合你的预期。
已知限制
- 编辑器右上角按钮需要当前存在一个活动编辑器标签页才会显示。
- 如果工作区中存在多个
package.json 且当前文件无法唯一匹配,扩展会提示你手动选择目标项目。
- 扩展负责触发脚本,不负责安装 Node.js 或包管理器依赖。
发布前建议
如果你准备将本扩展发布到 Marketplace,建议在正式发布前进一步补充:
- 仓库地址
repository
- 问题反馈地址
bugs
- 项目主页
homepage
- 真实发布者资料与品牌说明
- Marketplace 截图或演示动图
反馈
如果你在使用中遇到问题,建议优先通过发布者提供的仓库问题列表或主页联系渠道反馈。
| |