VSCode插件开发入门:Hello World


VSCode插件开发从“Hello World”起步很简单,只需用yo code脚手架生成TypeScript模板,配置package.json的activationEvents、main和commands字段,编写命令逻辑并调试运行即可。

vscode插件开发入门:hello world

开发一个 VSCode 插件,从“Hello World”开始并不难,关键是理解插件的基本结构和激活时机。你不需要写一堆配置或打包脚本,VSCode 官方的 yo code 脚手架能快速生成标准模板,剩下的就是改几行代码、注册一个命令、触发一次弹窗。

创建插件项目

确保已安装 Node.js(v16+)和 Yeoman:

  • 运行 npm install -g yo generator-code
  • 执行 yo code,选择 “New Extension (TypeScript)”
  • 按提示填写插件名(如 hello-world-sample)、描述、ID 等信息

完成后会生成一个含 src/extension.ts、package.json 和调试配置的完整项目。

理解 package.json 中的关键字段

这是插件的“身份证”,VSCode 靠它识别功能和权限:

  • "activationEvents":定义插件何时被加载,比如 "onCommand:hello-world.helloWorld" 表示只在用户执行该命令时激活(推荐,提升启动性能)
  • "main":指向编译后的入口文件(默认是 ./out/extension.js)
  • "contributes.commands":声明插件提供的命令,必须与代码中注册的 ID 一致

别漏掉 engines.vscode 字段,建议设为 =1.80.0" 保证兼容性。

编写核心逻辑(extension.ts)

打开 src/extension.ts,修改 activate 函数即可:

达芬奇 达芬奇

达芬奇——你的AI创作大师

达芬奇 166 查看详情 达芬奇
  • 用 vscode.commands.registerCommand 注册一个命令,ID 必须和 package.json 里声明的一致
  • 回调函数中调用 vscode.window.showInformationMessage 弹出 “Hello World”
  • TypeScript 类型已自动导入,不用手动补全

示例片段:

export function activate(context: vscode.ExtensionContext) {
  let disposable = vscode.commands.registerCommand('hello-world.helloWorld', () => {
    vscode.window.showInformationMessage('Hello World from hello-world-sample!');
  });
  context.subscriptions.push(disposable);
}

运行与调试

按 F5 启动插件调试环境——VSCode 会打开一个新窗口(Extension Development Host),在里面按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(Mac),输入 “Hello World”,选择对应命令即可看到弹窗。

修改代码后保存,调试窗口会自动热重载(部分变更仍需重启)。想装到主 VSCode 里?执行 npm run package 生成 .vsix 文件,然后通过 “Extensions → … → Install from VSIX” 安装。

基本上就这些。没有复杂构建、不涉及 UI 渲染、也不用处理进程通信——真正的 Hello World 级起步。后续再加状态管理、Webview 或设置项,都是在这个骨架上延展。

以上就是VSCode插件开发入门:Hello World的详细内容,更多请关注其它相关文章!


# vscode  # linux  # 鼠标  # 让你  # 达芬奇  # win  # ai  # mac  # npm  # typescript  # node  # json  # node.js  # js  # 外贸网站怎么优化英文  # 热门搜索关键词排名定位  # 安陆网站推广怎么做  # 广东网站推广外包  # 金昌抖音营销推广中心地址  # 营销推广闭环图  # 肇庆网站建设报价方案  # 营销拓客系统怎么做推广  # 不砸钱的营销推广案例  # SEO-604下载  # 中文网  # 相关文章  # 设为  # 在这个  # 专注于  # 这是  # 都是 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894 】


相关推荐: AO3官方镜像链接 | 最新防走失网址永久收藏  《淘宝联盟》推广自己的店铺方法  睡觉时心跳快是什么原因 夜间心悸如何应对  mysql数据库索引类型有哪些_mysql索引类型解析  抖音火山版如何进行提现  苹果如何下载nanobanana  iPhone 15 Pro如何查看存储空间占用_iPhone 15 Pro存储空间查看教程  我的世界游戏平台入口 我的世界官方官网直达链接  WPS文字如何进行简繁转换  菜鸟驿站的取件码忘了怎么办 手机快速查询指南  sublime怎么在文件中显示代码结构大纲_sublime符号列表功能  电子白板帮助菜单使用指南  《sketchbook》选中部分图案移动方法  房产|直播|视频号怎么认证开通?|直播|需要什么资质?  汽车之家网页版免费登录_汽车之家官网首页直接进入  《植物大战僵尸3》火龙草作用介绍  抖音赚钱快速入门_新手必看的抖音赚钱步骤  传统曲艺莲花落的表演形式是  告别繁琐SEO!如何使用SyliusSitemap插件自动化生成网站地图,提升搜索引擎排名  J*aScript事件处理:优化键盘输入与表单提交的实践指南  键盘保修需要什么_键盘售后维修流程  优化 React onClick 事件处理:函数引用与箭头函数的对比  中通快递官网指定查询 中通快递单号查询平台入口  Keras中Convolution2D层及其核心辅助层详解  秋风萧瑟洪波涌起中的萧瑟指的是什么  b站如何管理订阅_b站订阅标签分类管理  雨课堂官网在线登录 网页版雨课堂登录链接  汽水音乐车机版官网5.0 汽水音乐车机版5.0版本下载入口  使用jQuery精确检测除指定元素外任意位置的点击事件  Python实时数据流中高效查找最大最小值  搜狗浏览器如何查找页面中的文字 搜狗浏览器Ctrl+F页面搜索功能  京东快递物流信息不更新怎么办_物流停滞原因与处理方法  yandex网页版直接登录 yandex官方入口平台访问方法  mysql中如何分析索引使用情况_mysql索引使用分析方法  阿里云共享相册入口在哪  大熊猫抓取竹子的“大拇指”其实是什么?蚂蚁庄园课堂今天答案最新11月30日  海棠阅读登录教程_详细讲解海棠登录操作  暴风影音官网正式版_暴风影音手机版官网下载安卓  三星A55应用闪退排查步骤_Samsung A55稳定性优化技巧  快手网页版官方访问 快手网页版页面在线打开  餐馆菜篮选购指南  《异星探险家》古怪的物品作用介绍  Final Cut Pro视频加EQ教程  百度小说看书时如何翻页_百度小说手动翻页与自动翻页设置  Dagster资产间数据传递与用户配置管理教程  Win10显卡驱动安装失败怎么办 Win10使用DDU彻底卸载驱动【解决】  cad加载的线型看不见怎么办_cad线型不可见问题解决方法  Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践  漫蛙manwa2网页版书签同步链接_漫蛙manwa多设备登录入口  漫蛙官网(首页入口)_漫蛙漫画稳定访问教程分享 

 2025-12-16

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.