制作 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 里的:

json 复制代码
"engines": {
    "vscode": "^1.74.0"
  },

和

json 复制代码
  "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 控件显示不出来

json 复制代码
    "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 确实是程序员的一大利器,特别是未知知识领域。可以给程序员提供靠谱的实现方案(当然细节还是有些惨不忍睹)

相关推荐
1024奇点5 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Solange__17 小时前
图片转3D导出GLB、FBX还是OBJ?按5类任务比较材质、动画与可编辑性
人工智能·3d·ai·自然语言处理·编辑器·blender·材质
techpupil18 小时前
IDEA基础配置及开发基础插件
java·ide·intellij-idea
赵庆明老师18 小时前
Android Studio Google源代理配置
android·ide·android studio
2501_9160088920 小时前
iOS App 图标、启动屏和多语言搭配 方法,上架前使用KXBuild一次做好 App 图标
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_9159184120 小时前
iOS 推送通知怎么实现,从 APNs p8 密钥到 iOS 真机收到第一条推送
vscode·ios·objective-c·个人开发·swift·敏捷流程
ThatMonth20 小时前
vscode 编辑器怎么打开多页签,而不是覆盖已有的页签
编辑器
广东帝工2 天前
双预警防线,筑牢智慧航道水上安全屏障
编辑器
sunshine22 girl2 天前
copilot vscode 使用技巧
人工智能·vscode·编辑器
Frag0ut2 天前
Notepad++ 零基础入门:从记事本到代码编辑器的平滑过渡(2026最新版)
python·编辑器·html·json·notepad++·markdown·记事本