2012年2月21日 星期二

Sublime Text 2 - 好用的前端程式編輯器 Part.3 安裝Package Control

Sublime Text 2(以後將會簡稱為 Sublime2)最大的一個特點就是可以安裝多種的 Package,而且 Packages 的種類相當多,有 PHP、Ruby、Java、JavaScript、jQuery 各種相關的 Packages,並不是每一種 Packages 都一定要安裝,當然是安裝對你開發上或是使用上有幫助的 Packages,相信我,這些 Packages 都可以大大地提昇開發與使用的效率,然而新安裝的 Sublime2 要安裝 Packages 是蠻不直覺的,雖然說 Sublime2 的安裝相當簡單,但是如果有一個功能可以簡化安裝步驟的話,將會讓我們使用 Sublime2 會更加隨心所欲。


未安裝 Package Control 之前


還沒有安裝Package Control之前,要先說明一下Sublime2的Packeages安裝位置,在Sublime2的Menu上,點擊 Preference –> Browse Packages…
image

接著就會以檔案總館直接開啟Packages的安裝目錄位置,
image

sublime 2 的 Packages 安裝目錄路徑為:
C:\Users\[你的登入者名稱]\AppData\Roaming\Sublime Text 2\Packages
可以瀏覽一下這個目錄裡面的所有子目錄,這些目錄除了 Packages 之外也有一些是 User 的設定擋或是 Default 的設定擋,Sublime2 預設安裝的情況下就已經有包含了一些基本的 Packages,而安裝 Packages 的動作相當簡單,就是把下載的 Package 壓縮檔解壓縮後,把解開後的 Package 目錄給複製到 sublime2 的 Packages 安裝目錄路徑,然後再重新開啟 Sublime2 後就可以使用了。雖然這樣的步驟並不是很複雜,但就是不直覺而且步驟是多了一點,所以初接觸 Sublime2 的人在安裝好 Sublime2 之後的第二個要安裝的就是 Package Control。



 

Sublime Package Control

http://wbond.net/sublime_packages/package_control

image

上面的說明相當清楚,少許的英文也不是很艱深,詳加閱讀就可以知道Package Control的功能為何。基本上,Package Control 是把功能給整合到Command P0alette之中,然後利用「Package」這個關鍵字來帶出相關的Package Control項目然後讓Sublime2去執行指令。


安裝Package Control


還記得如何叫出Sublime2的Console嗎?「Ctrl + `」這個在安裝時會用得到… 在下面的網頁「Sublime Package Control – Install」有一長串的指令碼,
http://wbond.net/sublime_packages/package_control/installation

Command:
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'


將複製指令碼並貼到Console,
image

然後按下Enter,接著Sublime2就會下載「Package Control.sublime-package」並且安裝,
image

記得在安裝完畢之後要重新開啟Sublime2,就完成了Package Control的安裝。



安裝好Package Control之後,Sublime2有增加什麼


image

安裝之後,在Preferences項目中多了:
  • Package Control Settings – Default
  • Package Control Settings – User
  • Package Control
  • 直接點選「Package Control」項目就會在Command Palette中列出「Package Control:」的指令,
    image

    如果是在編輯狀態下而想要用Command Palette的方式來叫出Package Controll的指令,
  • 先以快速鍵呼叫出Command Palette「Ctrl + Shift + P」
  • 輸入「Package」就可帶出Package Control相關的Command
  • image

    想要用哪一個指令就移動上下鍵去選擇指令項目後再按下Enter,就可以執行該項指令。



    使用Package Control 安裝第一個Package


    Sublime的Packages都會集中在一個地方:「Sublime Text Packages
    http://wbond.net/sublime_packages
    http://wbond.net/sublime_packages/community
    image

    目前上面已經有 222 個 Packages,種類有相當多,第一次看到的人一定會不知道該裝那一個,這邊我們就先安裝一個簡單的Packeage來說明如何在Sublime2中使用 Package Control 安裝 Package。

    image

    回到Sublime2中並使用Command Palette,輸入「Install Package」再按Enter,如果是第一次使用Package Control的Install Package指令,Sublime2的左下方狀態列就會顯示Loading的狀態,
    image

    過個幾秒後就會列表顯示所有的Package,
    image

    照著一樣在Command Palette中輸入「WordCount」然後按下Enter就會進行Package的安裝,
    image

    Sublime2的左下方狀態列會顯示安裝進度,安裝玩後就重新開啟Sublime2,
    image

    Sublime Text Package – WordCount
    https://github.com/SublimeText/WordCount

    WordCount是一個可以即時顯示目前輸入字數的Package,當然有可以顯示既有檔案的字數,不過呢…只能計算英數字,對於中文字就不行啦,因為他是對連字來做字數的計算,
    image

    image

    image


    Package的安裝路徑與位置
    image

    藉由「WordCount」Package的安裝,我們可以透過Package Control來安裝線上的Packages。



    管理Packages


    列出安裝了哪些Packages
    Command Palette 輸入 「List Packages
    image

    列出Sublime2用Package Control安裝的Packages
    image


    指定某個Package Disable
    Command Palette,輸入「Disable Package
    image

    輸入Package的名稱後再按下Enter,
    image
    image

    然後重新啟動Sublime2,原本的WordCount功能就會停止。


    指定某個Package Enable
    Command Palette,輸入「Enable Package」
    image

    顯示有被Disable的Packages
    image

    接著輸入要恢復功能的Package名稱後就可以恢復Package的功能,還是要記得重新啟動Sublime2。
    image


    Upgrade Package
    Upgrade/Overwrite All Packages


    image

    這兩個Upgrade Package的不同之處:
    前者只會去檢查你所安裝的Package是否有更新,如果有則做更新的動作
    後者則是除了做更新的動作外,也會覆寫Packages的設定,如果有修改Package設定的話就不要用這個

    檢查是否有更新
    image

    沒有可用的更新訊息
    image

    同樣的,只要是Package有做任何更動,於執行完更動操作後都必須要重新啟動Sublime2。


    移除Package
    Command Palette,輸入「Remove Package
    image

    列出所有的Packages,並選擇要移除的Package
    image

    移除Package「WordCount」中…
    image

    移除完成後還是記得要重新啟動Sublime2,使用「List Packages」看看,已經沒有「WordCount」這個Package了
    image

    管理Package的功能就介紹到此,其他沒有介紹的Command就給各位自己去玩玩吧!


    對於一個純文字編輯器而言,Sublime2的Package Control無疑是個相當方便以及好用的Package管理工具,相對於其他一些純文字編輯器的Package掛載,Sublime2真的是太方便了,無論是安裝、移除、列表以及Upgrade等功能都整合在Command Palette之中,使用者只需要知道一個操作的入口點就可以完成Package的管理,Package Control就如同Visual Studio 2010的Extension Manager一般,但別忘記Sublime2只是個相當輕巧的文字編輯器。

    Sublime2的Package種類相當的多,有對程式設計的編輯輔助外,也有版本控管的Package,舉凡:Git, SVN, TFS, Mercurial…etc,另外也有檔案比對的Package,這麼多種的Packages,小弟將會在日後介紹幾個我也在用的Package。

    待續…

    2 則留言:

    1. 如果需要手動安裝Package的話,可以參考以下文章:
      「Sublime Text 2 - 好用的前端程式編輯器 Part.8 - 手動安裝Package」
      http://kevintsengtw.blogspot.com/2012/03/sublime-text-2-part8-package.html

      回覆刪除

    提醒

    千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。