This is a cache of https://www.v2ex.com/t/1150140. It is a snapshot of the page as it appeared on 2025-08-07T19:04:15.194+0200.
找一个 VSCode 插件,管理各种脚本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Chuckle
V2EX  ›  Visual Studio Code

找一个 VSCode 插件,管理各种脚本

  •  
  •   Chuckle ·
    qxchuckle · 2 天前 · 2545 次点击
    先说痛点
    本地写了一些脚本,比如扫代码找依赖、接口、构建测试之类的,每次用都比较麻烦,把脚本拷贝到项目里执行,要不就得把脚本改造成交互式的,允许输入工程更目录,但这么多脚本,找到执行起来,再复制下根目录路径也不太方便。

    所以需要一个统一管理脚本的东西,有没有一个 VSCode 插件可以存储一些脚本,快速在当前项目下执行(或选择项目下的文件夹),命令类似 package.json 里那样声明。
    47 条回复    2025-08-07 10:23:54 +08:00
    skiy
        1
    skiy  
       2 天前
    管理脚手架的?我就是想要这种。比如如果我开发 python 环境,则帮我把 pyproject.toml 文件中的一些基本信息参数补全,添加一个 .github/ CI 文件之类的。
    nativeBoy
        2
    nativeBoy  
       2 天前   ❤️ 1
    jetbrains 里的 markdown 里,可以在代码块里设置 shell 后,直接点击执行
    AuroraTwinkle
        3
    AuroraTwinkle  
       2 天前
    同求
    infun
        4
    infun  
       2 天前
    自带的 jupyter notebook 就可以吧
    subprocess
    或者 %%bash
    alleluya
        5
    alleluya  
       2 天前
    是 snippets 么?
    Chuckle
        6
    Chuckle  
    OP
       2 天前
    @infun
    @nativeBoy 主要是需要独立于项目之外,因为很多项目都需要这些脚本,想有一个统一的管理地方,并能够快速在项目根目录执行,用 markdown 、jupyter 就得把脚本扔项目里面了,一个个 cv 一遍又一遍
    Chuckle
        7
    Chuckle  
    OP
       2 天前
    @skiy 差不多,也有这种需求,快速注入一些配置到当前打开的项目。还有本地跑项目的时候,想先修改一下配置,开启一些实验性功能、加点构建环节,再跑,这种修改也不适合推到 git 给所有人用,所以脚本还得跑完之后自动恢复原来的配置。脚本倒是写好了,但是现在就是执行起来麻烦。
    Chuckle
        8
    Chuckle  
    OP
       2 天前
    或者这个插件该怎么设计好,没有就搓一个吧
    Chuckle
        9
    Chuckle  
    OP
       2 天前
    @alleluya 代码片段不适合,这些脚本是一个或者多个文件的,首先有个统一的地方存,其次可以在一个面板中快速在当前打开的项目路径下执行(或者弹窗选子路径)
    absx
        10
    absx  
       2 天前
    你这种需求正常都是脚本里读 current dir 来处理,不是读相对于脚本的路径。建议改造脚本
    Twelveeee
        11
    Twelveeee  
       2 天前
    所有脚本塞一块,编译成二进制文件,
    执行的时候就 ./aaa run buildTest

    这样?
    Chuckle
        12
    Chuckle  
    OP
       2 天前
    @absx 脚本里现在读的就是 cwd ,命令行的路径,主要问题是怎么管理和快速执行
    AX5N
        13
    AX5N  
       2 天前
    你开发的时候能直接使用 ping 这样的命令吗?
    为什么可以?照着这个思路做不就行了?
    absx
        14
    absx  
       2 天前
    @Chuckle 那就随便建个文件夹加 PATH ,脚本全部放里面呗?
    absx
        15
    absx  
       2 天前
    没太看懂需求
    OneLiteCore
        16
    OneLiteCore  
       2 天前
    总算找到有和我同样需求的人了,不容易啊,T_T 。先来说下我的解决方案:

    1. 创建一个你自己的 scripts 目录用来存放所有脚本,可以像代码一样存 git 方便跨设备使用
    2. 脚本全部使用 python ,并且添加到 PATH 里,这样可以全平台全路径使用
    3. 在项目根目录创建一个 project.json ,在创建 scripts/lib/project.py 的库用来读取 “$cwd/project.json”

    这个是准备工作,之后看你自己的开发需求,比如搞 docker 打包镜像:

    5. 在项目根目录的 project.json 里写 { "docker": "相对路径" },用来指明 "$cwd/相对路径/" 路径是
    6. 写一个 scripts/maker.py ,里面调用 scripts/lib/project.py 读取 project.json
    7. 只要目录下存在着 project.json 并且里面存在 "docker" 的 key ,就判定脚本执行路径下确实是一个 docker 工程
    8. 在 py 里面执行 "docker build -t 目录名称_时间戳 $cwd/相对路径/"
    9. 之后只要在命令行里敲一个 maker 就可以处理所有 docker build 的命令
    10. 后续还有些别的比如把镜像上传到某个 VPS 的话也可以自动化

    如此,所有的脚本可以统一管理,每个项目都只要管理自己的配置既 project.json 即可。
    micate
        17
    micate  
       2 天前
    AI 最适合写这种插件了,搞一个试试看
    OneLiteCore
        18
    OneLiteCore  
       2 天前
    脚本是跨操作系统并、跨项目并且是跨 IDE 的,在这套思路下面项目内部其实不应该放任何脚本,只维护 project.json 配置。

    如果想要更自由点的话可以让 scripts/lib/project.py 从当前路径一路往上直到找到一个 project.json ,这样在项目的子目录下也可以执行全局脚本操作。
    OneLiteCore
        19
    OneLiteCore  
       2 天前
    Windows 可以使用 Windows Terminal ,MacOS 有 iTerm2 ,linux 有 Guake ,这些都支持快速呼出一个命令行。

    如果使用 IDE 的话无论是 vscode 还是 idea ,都有在项目根目录打开 terminal 的功能,这样连项目路径都可以省略。
    Al0rid4l
        20
    Al0rid4l  
       2 天前
    不必非得是 vsc 插件吧, 可以考虑这两个

    https://github.com/denisidoro/navi
    https://github.com/knqyf263/pet
    ruoxie
        21
    ruoxie  
       2 天前
    https://marketplace.visualstudio.com/items?itemName=wjkang.lowcode

    如果你的脚本是 nodejs ,这个插件可以满足你,当然也可以在 nodejs 里再去调用别的语言脚本。

    这是管理脚本的方式

    https://github.com/lowcode-scaffold/lowcode-materials/tree/master/materials/snippets

    脚本还可以通过 uTools 快速筛选执行
    Danswerme
        22
    Danswerme  
       2 天前
    可以把脚本路径放到环境变量里,然后读取执行命令的目录/传入当前路径来执行
    wupher
        23
    wupher  
       2 天前
    - github gists

    - vsc , IDEA, Pycharm 都有插件支持

    - 有些 terminal 也有类似 Snippets 支持,如 Temius, Warp

    - gitee 也有类似 "代码片段“
    kebamt
        24
    kebamt  
       2 天前
    Gistpad 插件?
    COW
        25
    COW  
       2 天前
    写个 Makefile 模板, 封装各种脚本和命令,并放在 git 仓库里作为模板仓库,新建 git 仓库时通过模板仓库初始化
    coldle
        26
    coldle  
       2 天前
    感觉用不到插件呀,随便搓个指令 a 放到 PATH 里,效果就是 list 目录 b 的脚本,支持模糊搜索和上下翻页,选定后以执行指令 a 的目录 c 为 cwd 运行脚本,至于脚本本身是 bash 还是 python 啥的都无所谓,你自己改指令就行

    ~~这指令放 ai 里可能要不了两分钟就些完了~~

    为了增强说服力还是放个 demo 如下,只筛选 chmod +x 的可执行文件。后续若是想让配置独立到指令之外,或者运行时做点啥操作,都是 ai 专精领域

    ```bash
    #!/bin/bash
    selected=$(find "$HOME/scripts" -maxdepth 1 -type f -executable | fzf)
    [ -n "$selected" ] && "$selected"
    ```
    xingheng
        27
    xingheng  
       2 天前
    https://just.systems/
    shihira
        28
    shihira  
       1 天前 via Android
    试一下用 windmill.dev ,或者类似的 workflow engine/orchestration platform.

    就 windmill 而言,脚本的管理和组合很方便,脚本的入参可以保存成预设一键填写,甚至可以上传文件作为参数。一些大块的参数组合可以存成 resource 。
    DefoliationM
        29
    DefoliationM  
       1 天前
    你需要 terraform 。
    archean
        30
    archean  
       1 天前
    VSCode 自带的 Task 功能不行吗?
    hyperbin
        31
    hyperbin  
       1 天前 via Android
    我是弄了个阿里云小主机,然后写了个 update 脚本从服务端下载 scripts.tgz 并解压到指定目录
    liaozzzzzz
        32
    liaozzzzzz  
       1 天前 via iPhone
    那就做成脚手架呗,全部用命令行跑就是了
    dacapoday
        33
    dacapoday  
       1 天前
    这不是 shell 的工作,为什么要集成到编辑器里?以后换新的编辑器怎么办,shell 可是死技术,不会再变了。
    AnkhSpirit
        35
    AnkhSpirit  
       1 天前
    脚本命令写成 powershell 文件,全放在一个目录里,然后把这个目录放到环境变量 path 里,就可以在命令行用文件名执行
    txhwind
        36
    txhwind  
       1 天前
    脚本目录加到 PATH 里就行吧,PATH 本来就用来干这个的
    Chuckle
        37
    Chuckle  
    OP
       1 天前
    @ruoxie 这个插件不错啊,看起来是能满足我需求的,llm 和代码片段暂时用不到,执行纯 node 脚本就够了
    Chuckle
        38
    Chuckle  
    OP
       1 天前
    @ruoxie 原本想着搞个插件把脚本结构化成命令聚合在面板中方便执行,但这个插件的设计确实惊艳到我了,或许我需要的不只是脚本管理工具,而是一个工作台
    Shatyuka
        39
    Shatyuka  
       1 天前
    想要个 shell 的 jupyter 是吧
    Chuckle
        40
    Chuckle  
    OP
       1 天前
    @ruoxie 但可惜的是,在 mac 中,导入默认区块存在问题,路径报错,cursor 上使用,也有些缺陷。
    yanni199899
        41
    yanni199899  
       1 天前
    不需要插件,直接把脚本做成全局的 cli 就行,比如你写的 nodejs 脚本,就做成类似 vue-cli,pm2 这种全局可执行的脚手架,根据命令行参数调用脚本,`cli scanPort 8080`, `cli build apk`, `cli copy --from src --to ../build`这样,参数可以默认是当前命令行的 pwd(执行目录)

    当然 c#,powershell,python,go,rust 都可以这样做,添加参数,做成全局的 cli,添加进 path 就可以执行了
    fgwmlhdkkkw
        42
    fgwmlhdkkkw  
       1 天前 via Android
    https://github.com/zzztttkkk/px
    我自己用的,,
    Chuckle
        43
    Chuckle  
    OP
       1 天前
    @yanni199899 cli 问题就是,加各种小脚本麻烦,还有命令太多记不过来 qaq ,不过确实可以先搞个 cli ,再插件可视化出来
    RainyH2O
        44
    RainyH2O  
       1 天前
    前面有人提过了,VSCode 的 Profile 自带 Tasks 和 Snippets 功能。加上可以使用 GitHub 账号多端同步 Profile ,Profile 可以直接导出到 Gist ,再用 Gist 链接导入。不同场景你多建立几个 Profile 就行了,多端同步 Profile 使用设置同步,持久化就导出导入 Gist ,两个同步策略协作减少单点故障丢失文件。除了 GUI 支持弱一点已经很完备了。
    ruoxie
        45
    ruoxie  
       1 天前
    @Chuckle 你是不是一个窗口里打开了两个项目
    0x5c0f
        46
    0x5c0f  
       16 小时 5 分钟前
    就是,也许、大概、或许有没有这么一种可能, vscode 中的那个任务就是干这个事情的
    rrfeng
        47
    rrfeng  
       14 小时 37 分钟前
    为啥要插件,打开 terminal 直接运行你的命令不行吗……
    命令放到目录里加到 PATH 完事。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1498 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:00 · PVG 01:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.