AI summary
type
status
date
Jun 24, 2024 05:21 AM
slug
summary
tags
category
icon
password

引言

Well , the interesting story start from a script tool - autojump
 
在zsh里用过 autojump 的朋友肯定知道这个工具多香,它会在你cd目录自动记录访问频率,按照频率排序,当你想跳转一个常用的目录时,只需要输入少量的字符,autojump会智能识别目录,并跳转过去
notion image
 
然而,在github你可以看到,autojump终端支持情况为
  • bash - 支持
  • zsh - 支持
  • windows - 社区维护
因此,作为一个PC端win用户,一段Windows Terminal摸爬滚打的时光开始了~

Windows Terminal

前端时间因为研究bunjs,倒腾了下WSL,感叹不知不觉微软真的做了好多开源工作,从熟知的TS、VS Code,到Playwright,以及现在的WSL,以及win11的终端windows terminal,不得不说MS越来越懂programmer了,GJ!
阿西,遥想3年前,你要在windows环境下配置编译环境,倒腾过的就知道多痛苦,Linux下一行命令的事,换win平台你说不定得折腾好几天。现在好了,有了WSL,在win系统上运行linux环境不再是梦!而且你是能访问NS文件系统的!这点vmware可做不到
后来,因为安装WSL,顺便就升级了win11,感受了下windows的terminal,瞬间决定抛弃之前用了两年的cmder,它颜值,易用度都完爆后者。不得不说,果然是官方逼死同人啊(最近OpenAI也搞了类似的操作,GPT all in one,XD)
感受下WT的颜值:
notion image
其实内核还是powershell,但感觉文字渲染很清晰,而且其实你可以选择其他终端,cmd、wsl,还需要啥?
notion image
感觉最香的是,对于可执行文件,直接复制文件名就可以按照关联应用程序执行,方便不少~
notion image
于是乎,为了在win下有更丝滑得接近zsh的体验,我决定研究引入autojump
💡
Alright,似乎到现在还看不到任何copilot的影子,别急,救世主总会适时出现的!

autojump

一开始执行 j 命令并不顺利,提示报错
 
即便按照Readme说明,先下载了clang,并不管用,想着反正没什么事,研究下这个仓库源码,排查当学习的心态,我就git clone 到本地开始了研究
经过了一晚的排查,以及阅读多个issues,发现问题在正则解析 windows 系统分隔符的地方报错,那因为是python代码,还认识比较好修改
修改过后,顺利地,执行没有报错了
但是发现木有,并没有跳转过去?这就神奇了呀
又研究了一段时间,我发现原来在 cmd 中跳转是没有问题的,就是在powershell里不行,所以这就得研究工程下的 bat 脚本了,然后当我打开bat 文件时:
黑人问号脸有木有?那么要花时间慢慢去学shell 编程吗?No No

Copilot

这时候,vscode右下角弹窗适时的提示我,要不要尝试Copilot?我想想确实,这个场景正是其用武之地不是?于是乎又倒腾了半天,搞Copilot付费的事情,总算请到了我的vscode javis
首先,我让它帮我修改bat代码,使其能在ps中执行
notion image
然后我才知道,原来改bat也没鸟用啊!必须要新建ps文件,你看,还是要AI出马。
但是你再看看,就这10行不到的代码,会能执行成功吗?那自然是不行的,又是几个不同的报错,我又依次让Copilot修改
notion image
改好之后,我一执行 j命令:
Wowwwww,AI Magic,Copilot 牛逼啊,替代程序员指日可待!然而就在我感叹AI强大不超过1分钟,我发现执行其他参数会报错
notion image
改了几版后我发现,这种思路还是不对,Copilot只是在不断做corner case 检测,不存在就打印说明一下,但这和原来的脚本逻辑明显不对应,例如:
  • 执行 j [path] 时,应该自动跳转到 path 匹配的目录
  • 执行 j -[args] 时,应当执行对应参数命令
然而上述Copilot写的ps脚本,明显只能跳转了……
 
尝试用prompt不断修复ps脚本并不生效后,我放弃了,想着还是得靠自己读懂源码啊,当老板豁着咖啡,让AI小弟打工的理想看来是不行了
 
但是bat语法我也不懂啊,于是我又不耻下问得请教小助手
notion image
Nice啊,这样我就看懂了,但是我转念一想,既然Copilot自己都解释清楚了,那它能不能按照这个逻辑自己写ps脚本呢?
于是……
notion image
复制过来,小改了下py文件后缀问题,结果惊喜地发现,it works!
notion image
 

总结

回头来看,这场经历真是有趣,其实并没有一开始就奔着Copilot去的,但是随着一些工作/学习的推进,就会想着去用它,这种 feeling 还挺奇妙的~
然后就是Copilot的能力,总体来说还是很强大的,不过本次整体给我感觉宛如坐过山车一般刺激,刚开始5min就写出了脚本,完成了跳转功能,我真以为已经如此强大的时候,它又瞬间将我拉回现实,后来还是通过逐步引导AI自己推理,和chatgpt的trick是通用的,看来自己还要去学习和熟悉prompt使用
总之,Copilot给我感觉就像一个非常聪明的小孩,IQ很高,但需要你好好引导它,释放它的潜力~
Web 性能优化 - Frame 篇Symbolic Links 探索(Windows)