日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开发 Sublime Text 3 插件简易教程

發布時間:2024/10/12 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开发 Sublime Text 3 插件简易教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前我常用的編程工具是UltraEdit和Editplus,UltraEdit里強大的搜索和大文本加載功能是我喜歡的。但這兩款文本編輯器是收費的,我一直用破解版的心里有鬼。自從發現了Sublime Text這款免費編輯器后,它就成了我愛不釋手的優先選擇的編程工具。Sublime Text強大的語法自動提示功能是我最看重的一點,我經常會編輯一些HTML代碼,HTML代碼里的所有語法標記,它都能提供自動補全,還能提示所有CSS屬性的可選屬性值,極大的方便了HTML和CSS開發。

Sublime Text提供了非常自由的插件(plugins)擴展功能。我最近出現了一個小小的需求,想開發出一個簡單的擴展功能。我想在Sublime Text的系統菜單里添加一個新的菜單,叫做“HTML尖括號轉換”,但當點擊它后,編輯器里HTML文本中的所有尖括號(>和<)都將會轉換成&gt;和&lt;。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文本中的所有尖括號(>和<)都將會轉換成&gt;和&lt;。

最后一步是創建可以調用這個插件的菜單。這個菜單可以安插在編輯器系統菜單的任何一個地方,也可以設計成一個獨立的菜單。Sublime Text提供了三種菜單位置,分別是主菜單,側邊欄菜單和上下文菜單(右鍵菜單),這些菜單的配置文件名分別是:

  • Main.sublime-menu
  • Side Bar.sublime-menu
  • Context.sublime-menu
  • 我們需要使用的是“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 插件简易教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。