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