atom高级用法???除了自定义功能基本没啥好玩,抱着装逼的想法,搜了一波atom插件入门,发现说得太迷糊(多是我太菜),而后打开了官网的插件文档,细细的阅读起来,凭着蹩脚的英语水平也算看懂了大概,索性就翻译下来(由于搜到的中文atom飞行手册,插件篇是空的),但愿凭着本身的理解,能写得更通俗。让有心人能看懂官方模版代码。(注意:本文目的不在开发一个什么什么插件,只告诉你如何进行开发)css
注:下文并没有太多代码,代码建议到你新建一个模版插件(而后你就拥有了全部的代码),而后根据下文加深本身的理解,相信你会看懂它。node
atom独有的属性:json
activate()
方法会在包加载后调用,required
main 指定的文件(用官方插件生成的模版中 mian 指定的就是顶级模块) 若是你再package.json 里面没有配置,就会默认认为是 index.js 是主入口;顶级模块能够实现下面的方法数组
- activate(state): 插件激活时被调用。若是你实现了 serialize() 接口,它会传递窗口上次的state. 通常用这个接口来初始化插件。 - initialize(state): (Atom 1.14之后的版本支持) 与activate() 功能相似,不过被调用的更早,能够说在全部操做以前被调用。 若是你想等环境运行完毕了再初始化,请用 activate() 。若是须要在画面构造前执行什么,请用initialize() 。 - serialize(): 在窗口被关闭的时候,容许你返回 JSON 序列,来保存当前的状态。你保存的信息,能够传递给activate() 接口,来在下次启动时恢复你的窗口状态。 - deactivate(): 窗口关闭时会调用这个接口,若是你的插件正在使用某些资源,或关联着某些文件,请在这里释放他们。
context-menu 定义右键菜单,一看就懂编辑器
"context-menu": { "atom-text-editor": [ { "label": "Toggle your-name-word-count", "command": "your-name-word-count:toggle" } ] }
入口js文件有4个方法,activate(),deactivate(),serialize(),toggle();ide
avtitave
);当你不使用actitaveCommand这个属性时 执行的顺序会有所不一样ui
继承atomUI 即绘制本身的ui addModalPanel();this
this.modalPanel = atom.workspace.addModalPanel({ item: this.commentHighlightView.getElement(), visible: false });
继承ui方法2:你还能够把上面的item 添加到workspace上去;atom