標籤:
引言
剛轉到OS X平台時,尋找寫Python,JavaScript,Markdown等檔案的工具時,比較了許多工具, 最終選擇了Sublime Text 2,主要原因是其跨平台, 想著以後再轉到windows下開發時,不需要再重新適應其他工具。 Sublime Text 2學習曲線不像Vim那麼陡峭,但想用得順手,還是需要時間。在使用Sublime Text 2以後,還是有一段時間在懷念Notepad++的各種好,幻想notpad++明天會有OS X版本。 這段時間過後,越來越感覺到Sublime的強大,notepad++開始淡出了記憶。 Sublime Text 3的beta版本推出很長時間了,但其中文介紹文檔非常少,多數介紹也只是停留在如何安裝Package Control上,對開發相關外掛程式介紹很少。正因為如此,許多人都在擔心自己使用的plugins還不支援版本3,於是就一直不進行升級,我也是這種心態的其中一個。 這段時間有空,終於決定折騰一下。
開始之前,看到Package Contorl網站上的一張統計圖,給自己吃了個定心丸
可以看到,絕大部的外掛程式已完成3版本的相容,而且還有少量專為3定製的新外掛程式。所以,大家可以放心轉到3版本上來試用了。後面介紹的python開發環境支援外掛程式就是從Sublime 3專屬,具體是哪個這裡暫不解密。
當然,不排除有些奇葩外掛程式還不支援3版本,但如果這樣,我的建議就是把那個外掛程式換掉吧,更新這麼不及時,一定不是最合適的了。
安裝Package Control
現在Sublime Text 3的安裝方法和版本2一樣,只是粘貼的代碼內容稍有不同,在Package Contorl網站上有安裝方法。使用快速鍵ctrl+\`或通過菜單選項View > Show Console進入控制台Console,然後粘貼如下代碼,斷行符號運行。
import urllib.request,os,hashlib; h = ‘7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0‘; pf = ‘Package Control.sublime-package‘; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( ‘http://sublime.wbond.net/‘ + pf.replace(‘ ‘, ‘%20‘)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install‘ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb‘ ).write(by)
安裝完成後我們就正式開始配置Sublime Text!
安裝Plugins的萬能方法
通過ctrl+shift+p進入Command Palette, 輸入Package Contorl: Install Package或簡寫為ip, 斷行符號執行,進入外掛程式的搜尋視窗,尋找選擇到需要的外掛程式後,斷行符號即可等待完成安裝,招待狀態在sublime最下面的狀態列內會有文字提示。
一般配置
sublime text可以通過外掛程式安裝很多主題,肯定有一款適合你。這裡還是推薦在Sublime Text 2上一直使用的Theme - Soda Dark主題, 顏色模板使用Color Scheme - Tomorrow Night,兩者的搭配應該算的上經典,從notepad++轉到Sublime Text 2時基本所有的介紹文檔都是這麼推薦的。 大家可以通過上面介紹的外掛程式安裝方法嘗試一下。
// Colors"color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow-Night.tmTheme","theme": "Soda Dark 3.sublime-theme",// Font"font_size": 12.0,"font_options": ["subpixel_antialias", "no_bold"],"line_padding_bottom": 1,"line_padding_top": 1,// Editor view"draw_white_space": "all","fold_buttons": false,"highlight_line": true,"auto_complete": false,"show_minimap": false,"show_full_path": true,// Editor behavior"scroll_past_end": false,"highlight_modified_tabs": true,"find_selected_text": true,// Whitespace - no tabs, trimming, end files with \n"tab_size": 4,"translate_tabs_to_spaces": true,"trim_trailing_white_space_on_save": true,"ensure_newline_at_eof_on_save": true,// Sidebar"file_exclude_patterns":[ ".DS_Store", "*.pid", "*.pyc"],"folder_exclude_patterns":[ ".git", "__pycache__"],// Package Control"ignored_packages":[ "Vintage"]
個人不喜歡自動切分換行功能,於是沒有配置,所以後面把PEP8中的E501排除掉了
開發環境外掛程式
版本庫是軟體開發中不可缺少的工具,該外掛程式把Git常用命令加入了Command Palette,讓開發人員進行代碼管理方便不少。
這個小外掛程式是在修改後的檔案行號前增加一些標識圖片,方便與版本庫對比,修改內容一目瞭然。
建立、管理gist的外掛程式,Gist是GitHub提供的又一強力工具,用Git將使用者常用的程式碼片段線上管理起來。安裝此外掛程式後,開啟其User-Setting, 增加個人的GitHub訪問Token後,即可通過快速鍵或Console使用。
Anaconda絕對是換到Sublime Text 3後最令我興奮的外掛程式,沒有之一。在Sublime Text 2的時代,為配置一個好用的python開發環境, 我們需要分別安裝All Autocomplete,SublimeREPL,Pylinter和PEP8等諸多外掛程式。 Geek就是讓一切變得更簡單,該外掛程式作者就為了簡便,把這些功能集中起來了。 Anaconda把PyFlakes, pep8 和 McCabe以外掛程式的方式整合起來。安裝Anaconda後,通過配置即可完成一個良好的Python開發環境。
Anaconda is a python development suite that includes autocompletion, IDE features, linting with PyLint or PyFlakes + pep8, AutoPEP8 , Vagrant and more for Sublime Text 3.
安裝時可以通過Package Control安裝,也可以使用Git追蹤最新版本。GitHub地址
安裝成功後在外掛程式配置內開啟Anaconda的REAMME,可以參考進行個性配置。我這裡做了如下的修改:
在Packages/User目錄下建立Python.sublime-settings檔案,增加如下內容
{ "auto_complete_triggers": [{"selector": "source.python - string - comment - constant.numeric", "characters": "."}]}
在Anaconda Setting中修改complete_parameters參數的值為true。 這裡還有一個參數為complete_all_parameters,設定其為true後,則帶預設值的參數也會自動完成。
- 忽略
AutoFormat PEP8中E501的提示
"pep8_ignore":["E501"]
其他設定均使用預設值。
結束
只需要這幾個外掛程式的安裝與配置,就能使sublime text 3成為一個高效的python開發工具,接下來,感受 Sublime Text 3的快如疾風,風馳電掣吧!
使用OS X時間長了都忘記廣大Windows使用者存在GBK編碼問題了。今天開啟以前在Windows上寫的 一些代碼才發現中文注釋都亂碼了。解決辦法很簡單,安裝外掛程式ConvertToUTF8即可,OS X或Linux還需要外掛程式Codecs33。 另外,在Sublime Text 2上的外掛程式GBK Encoding Support不支援3版本。
支援GBK等多種編碼的檔案的編輯與儲存。
CJK library files missing in the embedded Python of Sublime Text 3。
使用Sublime Text 3做Python開發