sublime開發插件-初嘗

我在網上下了個模板插件:文章地址 

下載地址:https://github.com/kairyou/SublimeTmpl

我研究了一下他的代碼,並自己嘗試改了一下,建立自己的模板。

爲什麼要建立模板?

因爲有些是框架的代碼,每個文件都會有,所以這樣的代碼就直接寫在模板中,每次新建文件自動加載,省的每次都要複製。

從github下載下來之後,解壓,放在sublime/Packages/SublimeTmpl  後面的目錄必須是這個, 把解壓的文件放到這個目錄下。

在 sublime 的菜單, File標籤    就會出來  new file(sublime Tmpl)  就可以建立作者寫的模板了


模板寫在 templates 目錄下, 我寫的一個lua (名字:lua.tmpl  參數和名字是對應的) 的模板代碼:${1:} 這個是建立完文件 按tab鍵 可以快速修改的地方

--[[
  	Anchor : zky
	Date: ${1:2015/1/30}
	Target: ${2:目標}
]]

local EVENT_NET_PACKAGE          = 1000 --lua解析協議的入口

function closeMe()
  	thisForm:setHide(true)
end

function onLoad()
	${3:thisForm:addListener("NetWork")}
	${4:thisForm:addListener("MySelf")}
	initEngish()
	initSet()
end

function initEngish()

end

function initSet()

end

function onShow()

end

function onEvent(id, is)
	if id==EVENT_NET_PACKAGE then
        parseNetPackage(is)
    end
end

function parseNetPackage(is)
    is:setOffset(0)
    local msgID=is:readInt()
    MYLOG("parseNetPackage--msgID-->"..string.format("0X%x", msgID))
    if msgID == ${5:MSG_ID} then  --$6
        $0
    end
end

關於怎麼把你想要的菜單添加到sublime中,在你開發的插件的文件中,定義如下文件名,就是可以在 sublime相應的菜單上添加新的菜單

Main.sublime-menu   該文件定義的是sublime的頂部菜單

Side Bar.sublime-menu   鼠標右鍵出來的 side Bar 菜單 

Context.sublime-menu  左側的文件 右鍵操作文件夾彈出的菜單


看下 Main.sublime-menu 下的代碼: 意思是在file的標籤 加入一個 New File (SublimeTmpl) 的菜單,

菜單的子節點 爲 lehoo-Lua,  

命令傳輸的接受文件,爲 sublime_tmpl ,因爲sublime是用 python開發的, 插件也是用python開發的,所以這個命令就會指向 sublime_tmpl.py 這個執行文件。  

args 爲傳遞過去的參數。 可加多個子標籤。

[
    {
        "id": "file",
        "children":
        [
            {
                "caption": "New File (SublimeTmpl)",
                "children":
                [
                    {
                        "caption": "lehoo-Lua",
                        "command": "sublime_tmpl",
                        "args": {
                            "type": "lua"
                        }
                    },
                    {
                        "caption": "HTML",
                        "command": "sublime_tmpl",
                        "args": {
                            "type": "html"
                        }
                    }
                ]
            }
        ]
    },


如果我們添加新的語言模板,需要修改 SublimeTmpl.sublime-settings  這個文件,才能是保存的文件是相應後綴名, 並且 語法是高亮的。

{
    "xml-960*640": {
        "syntax": "Packages/XML/XML.tmLanguage"
    },
    "lua": {
        "syntax": "Packages/Lua/Lua.tmLanguage"
        // ,"extension": "html" # default_extension
    },
    "html": {
        "syntax": "Packages/HTML/HTML.tmLanguage"
        // ,"extension": "html" # default_extension
    },
    "disable_keymap_actions": false, // "all"; "html,css"
    "date_format" : "%Y-%m-%d %H:%M:%S",
    "attr": {
        "author": "Your Name",
        "email": "[email protected]",
        "link": "http://example.org"
    }
}

上面是我添加的一個lua 語言的關聯, xml-960*640 爲傳過來的參數,模板的名字也是這個名字

下面的  attr  的東西是作者寫的,就是可以加入日期及作者相關的, 具體請看上面的鏈接文章 

Lua.tmLanguage 在相應的目錄都是有這個文件的, 關聯的時候,看看確認下


添加一下餘下的那兩種菜單試試,新建上面 相應的文件名字 如:Side Bar.sublime-menu  放到這個目錄下,寫入(另一個Context.sublime-menu一樣的,現在點擊相應的菜單也會出現 New File (sublimeTmpl) 這個菜單了,並且操作有效

[
    {
        "caption": "New File (SublimeTmpl)",
        "children":
        [
            {
                "caption": "Lua",
                "command": "sublime_tmpl",
                "args": {
                    "type": "lua"
                }
            },
            {
                "caption": "HTML",
                "command": "sublime_tmpl",
                "args": {
                    "type": "html"
                }
            }
        ]
    }

]

我們新加入的模板,沒有快捷鍵命令,說一下,怎麼加入快捷鍵,這裏我們需要改兩個文件  

Default.sublime-keymap 中添加:lua那段 我們設置的快捷鍵 是 ctrl + alt + l

[
    {
        "keys": ["ctrl+alt+l"], "command": "sublime_tmpl",
        "args": {"type": "lua"}, "context": [{"key": "sublime_tmpl.lua"}]
    }
    ,{
        "keys": ["ctrl+alt+h"], "command": "sublime_tmpl",
        "args": {"type": "html"}, "context": [{"key": "sublime_tmpl.html"}]
    }
]


Default.sublime-commands 中添加:

[
    {
        "caption": "Tmpl: Create lua", "command": "sublime_tmpl",
        "args": {"type": "lua"}
    },
    {
        "caption": "Tmpl: Create html", "command": "sublime_tmpl",
        "args": {"type": "html"}
    }
]

這樣快捷鍵,就設置好了,試一下,也是能用的。


這些設置都是sublime 通用的東西,你開發其他插件也會用到的。 

遇到問題,創建的文件,不是在我想要的目錄,而是在我的 用戶目錄下 , 不過現在沒學過 python, 等以後學習一下,把這裏改一下。

官方的 從 上面菜單的 file - new file 建立新文件 就在 用戶目錄下 , 而在 左則點擊文件夾建立  就在相應的文件夾下面。

 應該弄成這樣,不過建立有記憶功能, 也不需要每次都重新選擇。

如果你想在一個目錄下建立一個新的文件,就先在sublime 左側的文件列表中,先選中該錄下下的一個文件,這樣先建的文件,就在這個目錄下。 


擴展閱讀:如何開發Sublime Text2 插件 








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章