使用Sublime Text 3做Python開發


引言

剛轉到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網站上的一張統計圖,給自己吃了個定心丸

sublime text package control stat

可以看到,絕大部的插件已完成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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM