![]() |
1
skiy 36 天前
管理脚手架的?我就是想要这种。比如如果我开发 python 环境,则帮我把 pyproject.toml 文件中的一些基本信息参数补全,添加一个 .github/ CI 文件之类的。
|
2
nativeBoy 36 天前 ![]() |
3
AuroraTwinkle 36 天前
同求
|
![]() |
4
infun 36 天前
自带的 jupyter notebook 就可以吧
subprocess 或者 %%bash |
![]() |
5
alleluya 36 天前
是 snippets 么?
|
![]() |
6
Chuckle OP |
![]() |
7
Chuckle OP @skiy 差不多,也有这种需求,快速注入一些配置到当前打开的项目。还有本地跑项目的时候,想先修改一下配置,开启一些实验性功能、加点构建环节,再跑,这种修改也不适合推到 git 给所有人用,所以脚本还得跑完之后自动恢复原来的配置。脚本倒是写好了,但是现在就是执行起来麻烦。
|
![]() |
8
Chuckle OP 或者这个插件该怎么设计好,没有就搓一个吧
|
10
absx 36 天前
你这种需求正常都是脚本里读 current dir 来处理,不是读相对于脚本的路径。建议改造脚本
|
![]() |
11
Twelveeee 36 天前
所有脚本塞一块,编译成二进制文件,
执行的时候就 ./aaa run buildTest 这样? |
13
AX5N 36 天前
你开发的时候能直接使用 ping 这样的命令吗?
为什么可以?照着这个思路做不就行了? |
15
absx 36 天前
没太看懂需求
|
16
OneLiteCore 36 天前
总算找到有和我同样需求的人了,不容易啊,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 即可。 |
![]() |
17
micate 36 天前
AI 最适合写这种插件了,搞一个试试看
|
18
OneLiteCore 36 天前
脚本是跨操作系统并、跨项目并且是跨 IDE 的,在这套思路下面项目内部其实不应该放任何脚本,只维护 project.json 配置。
如果想要更自由点的话可以让 scripts/lib/project.py 从当前路径一路往上直到找到一个 project.json ,这样在项目的子目录下也可以执行全局脚本操作。 |
19
OneLiteCore 36 天前
Windows 可以使用 Windows Terminal ,MacOS 有 iTerm2 ,Linux 有 Guake ,这些都支持快速呼出一个命令行。
如果使用 IDE 的话无论是 vscode 还是 idea ,都有在项目根目录打开 terminal 的功能,这样连项目路径都可以省略。 |
![]() |
20
Al0rid4l 36 天前
|
![]() |
21
ruoxie 36 天前
https://marketplace.visualstudio.com/items?itemName=wjkang.lowcode
如果你的脚本是 nodejs ,这个插件可以满足你,当然也可以在 nodejs 里再去调用别的语言脚本。 这是管理脚本的方式 https://github.com/lowcode-scaffold/lowcode-materials/tree/master/materials/snippets 脚本还可以通过 uTools 快速筛选执行 |
22
Danswerme 36 天前
可以把脚本路径放到环境变量里,然后读取执行命令的目录/传入当前路径来执行
|
![]() |
23
wupher 36 天前
- github gists
- vsc , IDEA, Pycharm 都有插件支持 - 有些 terminal 也有类似 Snippets 支持,如 Temius, Warp - gitee 也有类似 "代码片段“ |
![]() |
24
kebamt 36 天前
|
![]() |
25
COW 36 天前
写个 Makefile 模板, 封装各种脚本和命令,并放在 git 仓库里作为模板仓库,新建 git 仓库时通过模板仓库初始化
|
![]() |
26
coldle 36 天前
感觉用不到插件呀,随便搓个指令 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" ``` |
![]() |
27
xingheng 36 天前
https://just.systems/
|
28
shihira 36 天前 via Android
试一下用 windmill.dev ,或者类似的 workflow engine/orchestration platform.
就 windmill 而言,脚本的管理和组合很方便,脚本的入参可以保存成预设一键填写,甚至可以上传文件作为参数。一些大块的参数组合可以存成 resource 。 |
29
DefoliationM 36 天前
你需要 terraform 。
|
![]() |
30
archean 36 天前
VSCode 自带的 Task 功能不行吗?
|
31
hyperbin 36 天前 via Android
我是弄了个阿里云小主机,然后写了个 update 脚本从服务端下载 scripts.tgz 并解压到指定目录
|
32
liaozzzzzz 36 天前 via iPhone
那就做成脚手架呗,全部用命令行跑就是了
|
![]() |
33
dacapoday 36 天前
这不是 shell 的工作,为什么要集成到编辑器里?以后换新的编辑器怎么办,shell 可是死技术,不会再变了。
|
35
AnkhSpirit 36 天前
脚本命令写成 powershell 文件,全放在一个目录里,然后把这个目录放到环境变量 path 里,就可以在命令行用文件名执行
|
36
txhwind 36 天前
脚本目录加到 PATH 里就行吧,PATH 本来就用来干这个的
|
![]() |
39
Shatyuka 35 天前
想要个 shell 的 jupyter 是吧
|
![]() |
41
yanni199899 35 天前
不需要插件,直接把脚本做成全局的 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 就可以执行了 |
![]() |
42
fgwmlhdkkkw 35 天前 via Android
|
![]() |
43
Chuckle OP @yanni199899 cli 问题就是,加各种小脚本麻烦,还有命令太多记不过来 qaq ,不过确实可以先搞个 cli ,再插件可视化出来
|
44
RainyH2O 35 天前
前面有人提过了,VSCode 的 Profile 自带 Tasks 和 Snippets 功能。加上可以使用 GitHub 账号多端同步 Profile ,Profile 可以直接导出到 Gist ,再用 Gist 链接导入。不同场景你多建立几个 Profile 就行了,多端同步 Profile 使用设置同步,持久化就导出导入 Gist ,两个同步策略协作减少单点故障丢失文件。除了 GUI 支持弱一点已经很完备了。
|
![]() |
46
0x5c0f 35 天前
就是,也许、大概、或许有没有这么一种可能, vscode 中的那个任务就是干这个事情的
|
![]() |
47
rrfeng 35 天前
为啥要插件,打开 terminal 直接运行你的命令不行吗……
命令放到目录里加到 PATH 完事。 |