开发 Sublime Text 3 插件简易教程
之前我常用的編程工具是UltraEdit和Editplus,UltraEdit里強大的搜索和大文本加載功能是我喜歡的。但這兩款文本編輯器是收費的,我一直用破解版的心里有鬼。自從發現了Sublime Text這款免費編輯器后,它就成了我愛不釋手的優先選擇的編程工具。Sublime Text強大的語法自動提示功能是我最看重的一點,我經常會編輯一些HTML代碼,HTML代碼里的所有語法標記,它都能提供自動補全,還能提示所有CSS屬性的可選屬性值,極大的方便了HTML和CSS開發。
Sublime Text提供了非常自由的插件(plugins)擴展功能。我最近出現了一個小小的需求,想開發出一個簡單的擴展功能。我想在Sublime Text的系統菜單里添加一個新的菜單,叫做“HTML尖括號轉換”,但當點擊它后,編輯器里HTML文本中的所有尖括號(>和<)都將會轉換成>和<。WEB程序員應該知道這個功能的用武之地。
開發這個插件非常的簡單。只需要幾行代碼。但更復雜的插件也都是這種簡單插件基礎上擴展出來的。下面我將要介紹開發這個插件需要的步驟和方法。
首先,你需要懂一些Python語言(不需要太深)。然后下面是Sublime Text官方提供的插件API文檔和樣例:
- API
- 插件樣例
開發Sublime Text插件,首先點擊編輯器系統菜單上的Tools->New Plugin菜單。編輯器會打開一個新的插件模板文件,我們可以在此基礎上編輯。
這個plugin文件將要存儲的位置:
- (OSX): Users”Username”LibraryApplication SupportSublime Text 3Packages
- (WIN7): C:Users”Username”AppDataRoamingSublime Text 3Packages
注意,上面地址這的”Username”,你需要把它替換成你的電腦的用戶名。
我們把這個還未開發的plugin文件命名為“htmlcodeconverter.py”,保存在上面提示的相應的目錄下。Sublime Text會自動掃描這個目錄,并加載里面的插件文件。也就是說,放在這個目錄下的插件是直接激活啟用的。如果你的插件有問題,有錯誤,Sublime Text加載失敗,錯誤信息會在console窗口里提示。開啟console窗口的方法是點擊菜單View->Show Console。
?
前文中,我們擊編輯器系統菜單上的Tools->New Plugin菜單。編輯器會打開一個新的插件模板文件,這個缺省的模板文件是這樣的:
import sublime, sublime_pluginclass ExampleCommand(sublime_plugin.TextCommand):def run(self, edit):self.view.insert(edit, 0, "Hello, World!")可以看到,模板中插件類的類名是ExampleCommand,按Sublime Text插件的規則,這個插件的運行名稱就是“example”。我們可以在console里運行這個插件:
#在console里輸入下面的命令 view.run_command('example')你會看到”Hello, World!”字樣出現在編輯器里。這說明這個插件已經可以使用了。當然,它沒有實現我們想要的功能,下面是對這個模板文件修改后的代碼:
import sublime, sublime_plugin
class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
for region in reversed(self.view.find_all("<")): if not region.empty(): self.view.replace(edit, region, "<") for region in reversed(self.view.find_all(">")):
if not region.empty():
self.view.replace(edit, region, ">")
上面的代碼實現了我最初設計的需求,也就是將編輯器里HTML文本中的所有尖括號(>和<)都將會轉換成>和<。
最后一步是創建可以調用這個插件的菜單。這個菜單可以安插在編輯器系統菜單的任何一個地方,也可以設計成一個獨立的菜單。Sublime Text提供了三種菜單位置,分別是主菜單,側邊欄菜單和上下文菜單(右鍵菜單),這些菜單的配置文件名分別是:
我們需要使用的是“Main.sublime-menu”這個文件,這個文件和我們的插件文件放在同一個目錄下。這個文件起初是沒有的,我們需要自己創建。
把下面的內容添加到我們新創建的“Main.sublime-menu”文件里:
[ {"id": "edit","children":[{"id" : "htmlcodeconverter","caption" : "HTML尖括號轉換","command" : "example"}] } ]解釋一下這個菜單配置內容。其中“edit”就是編輯器主菜單”Edit”,我們的新插件將作為它的子菜單。”htmlcodeconverter”是我們的插件的唯一ID,這里我將它設為文件名。而“example”就是我們的插件文件里面的類名(去掉Command字符)。
一旦這個菜單配置文件保存成功。你立即就能在編輯器系統菜單里看到這個子菜單,也就是說Sublime Text是自動掃描這些配置文件,實時加載配置項。
?
實際上,目前為止,我們的插件開發工作已經完成了。
當然,還可以完善一下,還可以給這個插件添加快捷鍵。Sublime Text系統菜單里有專門添加快捷鍵的子菜單:
- (OSX) “Sublime Text” > ?“Preferences” > “Key Bindings – Default”
- (Windows) “Preferences” > “Key Bindings – Default”
點開后,添加如下代碼:
[ { "keys": ["ctrl+shift+c"],"command": "example" } ]這樣就大功告成了。你是不是覺得開發Sublime Text插件(plugins)果真非常的簡單!
?
原文地址:http://www.lindukj.cn/news/archives/855
?轉載于:https://www.cnblogs.com/clschen/p/5438900.html
總結
以上是生活随笔為你收集整理的开发 Sublime Text 3 插件简易教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑usb驱动怎么删除吗 如何彻底删除电
- 下一篇: iso怎么做装机 如何用ISO进行计算机