制作 VSCode 插件
先看下我的插件
插件代码在 https://github.com/fananchong2016/log-viewer
按 your-first-extension 起了个开头,剩余都是 AI 编写代码完成的
即该插件 98% 代码是 AI 写的
效果如下:
官方帮助文档
your-first-extension 是官方的 hello world 插件例子
我卡在这里很久,按 F5 插件运行失败,然后没有提示为什么失败(包括问 AI)
vscode-extension-samples 是官方的插件例子
然后,我发现 vscode-extension-samples 里的例子居然能正常运行
因此仔细对比了下,自动生成的和官方的例子的 package.json
,发现自动生成的 package.json
里的:
"engines": {"vscode": "^1.74.0"},
和
"devDependencies": {"@types/vscode": "^1.74.0",},
2 个 vscode 版本是不一样的,于是我把 2 个版本都改成 vscode-extension-samples 里的 “^1.74.0” ,hello world 终于可以正常出来了( 版本一致就行,可以不是 “^1.74.0” 。 “^1.74.0” 是最低版本 )
WebView
做 vscode 使用 WebView 控件来做插件是最合适的。但是这步也卡了很久, WebView 加载不出来(包括问 AI)
还是看 vscode-extension-samples ,在例子里搜 WebView 用到的,比对了下 package.json
发现, AI 添加的 view 注册,少了"type": "webview",
,然后死活 WebView 控件显示不出来
"views": {"clientLogViewerContainer": [{"type": "webview","id": "logViewerClientView","name": "Client Logs","icon": "media/log-icon.svg"}],"serverLogViewerContainer": [{"type": "webview","id": "logViewerServerView","name": "Server Logs","icon": "media/log-icon.svg"}]},
其他
AI 确实是程序员的一大利器,特别是未知知识领域。可以给程序员提供靠谱的实现方案(当然细节还是有些惨不忍睹)