Acode 的插件生态让它从编辑器变成平台。插件本质是 JavaScript 模块,通过官方 API 与编辑器交互。本文带你从零写一个能用的插件。
插件由什么构成
最小插件包含两个文件:plugin.json 描述元信息,index.js 是主逻辑,目录放在 Acode 插件目录下,也可打包成 zip。
编写插件清单
在 Acode 中新建目录 my-plugin,创建 plugin.json:
plugin.json
{
"id": "com.example.hello",
"name": "Hello Acode",
"version": "1.0.0",
"description": "插入问候语",
"main": "index.js"
}id 是唯一标识,建议用反向域名风格避免冲突。
编写插件逻辑
在 index.js 中注册一个命令,点击后向当前编辑器插入文本:
index.js
module.exports = {
commands: {
"hello": () => {
editorManager.editor.insert("你好,Acode!
");
}
}
};editorManager 是全局对象,可访问编辑器、文件系统、终端等 API。
本地加载与调试
开发时无需发布,Acode 支持直接加载本地插件:设置中从本地安装,指向项目目录即可。重启后在命令面板搜索 Hello 运行命令,光标处就会出现问候语。
打包发布到商店
完成后把目录压缩为 zip,在插件商店网页版或应用内提交元信息并上传,审核通过后所有用户都能安装。每次更新记得同步修改 version 字段。
更多编辑器 API
除了插入文本,插件还能操作文件系统、终端与设置,可实现自定义格式化、批量替换、代码统计等工具。
让插件更实用
可在 plugin.json 注册多个命令、定义设置项,发布后关注反馈及时修复。
总结
掌握 plugin.json 与 index.js 就入门了,多读源码、多写命令、多试 API。
本节要点:插件 = plugin.json 元信息 + index.js 逻辑;本地加载调试零成本;通过 editorManager API 即可操作编辑器。