vscode插件教程:command

简介: vscode插件教程:command

package.json

对插件的详细描述,我们先关注以下的字段:

{
  "name": "test-plugin",
  "main": "./out/extension.js",
  "activationEvents":["*"],
  "contributes":{
    "commands":[
      {
        "command": "test-plugin.helloWorld",
        "title": "Hello World"
      }
    ]
  }
  // ...
}
复制代码
  • name :插件的名字
  • main:入口地址
  • commands:插件所有可以使用的命令
  • command:当触发命令时,发送的消息名字,格式为{name}.{cmd}
  • title:命令的标题,我们输入命令的时候就是以这个字段为准。
    网络异常,图片无法展示
    |
  • activationEvents:激活可用的事件列表,格式为:{event}:{value}

activationEvents

设置激活插件的事件,当插件激活时会调用入口的activate函数,插件默认是没有激活的。

vscode提供了非常多的事件类型,比如onLanguageonCommandonView等。

command举例,需要按照这样的格式书写

"activationEvents": [
    "onCommand:test-plugin.helloWorld"
],
复制代码

其中commandcontributes.commands中的某一项值。

当使用命令模式,输入Hello World,触发command的时候,插件就会激活。

网络异常,图片无法展示
|

注意事项

如果未声明在activationEvents中的命令被触发,就会出现一下警告:

网络异常,图片无法展示
|

这个警告让初为新手的我困惑了好长时间,算是一个注意点。

如果不想过滤任何事件,可以暴力的设置为*即可

{
  "activationEvents": ["*"]
}
复制代码

command的逻辑实现

package.json中我们仅仅定义了commandcommand触发的逻辑在src/extension.ts中:

export function active (context) {
  context.subscriptions.push(
    vscode.commands.registerCommand(
      'test-plugin.helloWorld', // 注意这个参数,必须和packages.json中的command一致
      () => {
        // command的具体逻辑
        vscode.window.showInformationMessage('Hello World!');
      }
    )
  );
}
复制代码

注释说明的也比较清晰啦,大概这样子,我们就可以看到命令执行后,弹出一个Hello World的提示语。

总结

通过上边的学习,我们会发现以下2处的需要完全一致,而且都是{plugin-name}.{value}的格式。

网络异常,图片无法展示
|

那么我们不遵守这个格式,只要保证一致是否可以正常工作呢?答案是:完全可以。

但为什么官方的例子里面都是使用{plugin-name}.{value}的格式呢?

以我个人经验,为了防止不同插件重名出现未知的问题,插件名字在整个生态是唯一的,以plugin-name开头,能够保证唯一性。

so,那我可不可以A插件调用B插件的命令呢?

如果你有这个想法,说明你已经对插件的理解又高人一步了!

网络异常,图片无法展示
|



目录
相关文章
|
9月前
|
人工智能 自然语言处理 Java
DeepSeek 满血版在 VScode 和 IDEA 中怎么用?手把手教程来了
沉默王二分享了通义灵码的使用教程,这款插件集成了DeepSeek-R1和Qwen等模型,支持Java、Python、Go等多种编程语言,适用于IDEA、VSCode等开发环境。它不仅能提供智能问答、代码补全和Bug修复功能,还能通过“AI程序员”实现多文件代码修改。体验流畅,算力充足,无需担心限流问题。文章详细介绍了安装步骤及各项功能的实际操作,展示了其在提升开发效率方面的强大实力。目前,通义灵码正持续优化,未来将带来更多惊喜。
2288 1
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
1987 1
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
|
5月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
10月前
|
人工智能 网络安全 开发工具
vscode代码推送到github库菜鸡专用教程
vscode代码推送到github库菜鸡专用教程
|
9月前
|
JavaScript 前端开发 程序员
甚至用不了五分钟就能学会vscode插件开发
本文介绍了VSCode插件的开发流程,从创建项目到最终发布。首先通过安装`yo`和`generator-code`脚手架工具初始化项目,选择JavaScript语言配置基础信息。接着,在`extension.js`中实现业务逻辑,例如将中文“变量”替换为“var”。通过F5进入调试模式验证功能。完成后使用`vsce`工具进行打包,解决可能遇到的版本不兼容或README文档问题。最后生成`.vsix`文件,可通过VSCode的“从VSIX安装”加载插件,实现开发闭环。进一步可将插件发布至官方市场供更多开发者使用。
|
11月前
|
人工智能 自然语言处理 前端开发
通义灵码插件在VSCode中的运用
借助通义灵码插件在VSCode构建新闻网,实现效率与智能的融合。VSCode作为前端开发的“瑞士军刀”,提供实时预览、智能辅助和高效管理功能;通义灵码插件通过自然语言交互生成代码,简化复杂任务并优化代码质量。两者结合形成从设计到部署的高效闭环,大幅减少基础编码时间,降低开发门槛,助力开发者聚焦业务逻辑与创新。
|
11月前
|
人工智能 小程序 程序员
【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
886 8
|
开发工具 C++ git
利用VS Code提升开发效率的五大插件推荐
本文推荐了五款能显著提升开发效率的VS Code插件:ESLint用于代码质量和风格检查;Prettier自动格式化代码;GitLens增强Git功能;Live Server提供前端实时预览;Docker支持容器管理。
|
自然语言处理 JavaScript 开发者
通义灵码插件:VSCode 的智能编程助手
通义灵码插件:VSCode 的智能编程助手
10474 5