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

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

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

这样?
Chuckle
52 天前
@absx 脚本里现在读的就是 cwd ,命令行的路径,主要问题是怎么管理和快速执行
AX5N
52 天前
你开发的时候能直接使用 ping 这样的命令吗?
为什么可以?照着这个思路做不就行了?
absx
52 天前
@Chuckle 那就随便建个文件夹加 PATH ,脚本全部放里面呗?
absx
52 天前
没太看懂需求
OneLiteCore
52 天前
总算找到有和我同样需求的人了,不容易啊,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
52 天前
AI 最适合写这种插件了,搞一个试试看
OneLiteCore
52 天前
脚本是跨操作系统并、跨项目并且是跨 IDE 的,在这套思路下面项目内部其实不应该放任何脚本,只维护 project.json 配置。

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

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

https://github.com/denisidoro/navi
https://github.com/knqyf263/pet

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1150140

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX