[轉載]讓Sublime Text2支持瀏覽器中預覽

從Editplus轉到Sublime Text2的同學,不知道有沒覺得它少了個很有用的功能:view in browser(ctrl+b)。平時寫點小demo時,那種一秒鐘切瀏覽器看下效果,一秒後再切回來改下代碼的爽快感,是我堅守Editplus多年的一大重要原因。

Editplus提供的ctrl+b功能,好用的原因有二:一是內置了webbrowser,切換時不用離開編輯器;二是對於本地調試的web站點,配置規則後自動將編輯的文件映射爲URL來預覽,這對預覽php等服務端文件非常有用。Mac下的Coda,也有類似的預覽功能,但我一直用不習慣它,暫不考慮。

Sublime Text2支持用Python編寫插件,我很想自己動手解決這個問題,但估計短期內我沒可能研究出如何創建webbrowser嵌進ST2裏,於是打算偷點懶,直接調系統默認瀏覽器預覽。下面是我研究出來的詳細步驟(想直接使用插件的同學請直接看最後):

一、點擊菜單Tools -> New Plugin...,在創建好的py文件輸入下列內容: 

import sublime, sublime_plugin
import webbrowser


class OpenBrowserCommand(sublime_plugin.TextCommand):
   def run(self,edit):
      url = self.view.file_name()
      webbrowser.open_new(url)

代碼只有幾行,大部分還是參考的這個帖子,相信大家一眼就能看明白,不解釋了。

將文件保存到Packages/User目錄(Packages可通過菜單裏的Browser Packages...打開),文件名隨意,如open_browser.py。插件部分完工了。

二、接下來,爲剛纔的插件分配快捷鍵。點菜單Tools -> Command Palette...,或者shift+cmd+p,打開命令集,選擇“key Bindings - User”打開個人快捷鍵配置,輸入下列內容:

 { "keys": ["ctrl+shift+b"], "command": "open_browser" }

這就是要做的全部工作,可以測試下了。打開一個html文件,ctrl+shift+b試試,沒意外的話文件會在默認瀏覽器打開了。url_map裏配置的站點目錄到URL的映射應該也是可用的。

PS:如果要指定用什麼瀏覽器預覽,也可以將最後一行代碼改成這樣: 

webbrowser.get('safari').open_new(url)

webbrowser具體支持get哪些瀏覽器,可以通過webbrowser._browsers查看。只是,ST2默認使用的是python2.6,在我的mac os下,python2.6找不到任何可用的瀏覽器。2.7的webbrowser.py裏多了一段patch,可以找到firefox和safari。好在,對我來說,能在默認瀏覽器預覽已經夠用了。

先寫到這裏,如果我哪天找到了更好的方法,再來補充。

update @ 2012-02-23:在月影的幫助下,加上了預覽前先保存的功能,正文裏代碼已更新,並已提交到github,可以直接下載使用,https://github.com/qgy18/sublime-view-in-browser

本文鏈接:http://www.imququ.com/post/view_sublime-text-2_file_in_browser.html

發佈了98 篇原創文章 · 獲贊 3 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章