為 Sublime Text 3 設(shè)置 Python 的全棧開發(fā)環(huán)境 Sublime Text 3 (ST3) 是一個輕量級的跨平臺文字編輯器,尤以其輕快的速度,易用性和強(qiáng)大的社區(qū)支持而著稱。它一經(jīng)面世便被認(rèn)為是一個杰出的編輯器,而它真正的強(qiáng)大之處在于你可以使用 Package Control 來增加它的功能以及可以進(jìn)行各種自定義設(shè)置。 在本文章中,我們將會看到如何將 Sublime Text 打造成為 Python 的全棧開發(fā)環(huán)境(從前端到后端),如何通過自定義主題和插件來增強(qiáng)它的基本功能,并且還將會涉及到很多使 ST3 變得更加強(qiáng)大的常用的命令,特性以及快捷鍵。
在我們開始之前,讓我們先討論一下我所謂的”全?!本唧w指的是什么。 在現(xiàn)在的 HTML5 以及移動設(shè)備開發(fā)中,Javascript 簡直無處不在。是的,無處不在!僅僅使用 Python 基于某個框架比如 Django 或者 Flask 進(jìn)行開發(fā)是不夠的。如果你想從始至終真正的自己開發(fā)一個網(wǎng)站的話,你必須熟悉 Javascript(以及 Javascript 的一大堆的框架),REST API(含狀態(tài)傳輸 API),響應(yīng)式設(shè)計,當(dāng)然還有 HTML 和 CSS,以及其他許多東西。現(xiàn)在讓我們來面對一個問題:就像其他任何一個手藝人一樣,為了成為一個最厲害的程序員,你的工具必須犀利,你的開發(fā)環(huán)境必須被打造成全棧開發(fā)——那就是我們馬上將要開始的工作… 特性讓我們從 ST3 的一些默認(rèn)特性開始著手吧…
同時,你還可以點(diǎn)擊 Tools > New Snippet 來創(chuàng)建屬于你自己的代碼片。請參照這個 文檔 來獲取幫助,也可以在 這里 查看我個人用到的一些 snippets。 自定義 Sublime Text 3在你下載完 ST3 以后… 在命令行中添加 |
1 | $ ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl |
嘗試使用以下命令來打開 Sublime 來確保鏈接生效了:
1 | $ subl |
如果以上命令沒有效果,你可能需要將 /bin 添加到你的環(huán)境變量中:
1 | $ echo "export PATH=~/bin:$PATH" >> ~/.profile |
然后重新嘗試第一步。
如果你仍然遇到問題,嘗試查看 這篇 文章來獲取幫助。 或者你可以看看如何在 Windows 和 Linux 中建立符號鏈接。
現(xiàn)在你就可以通過下述命令來打開文件或者文件夾了:
1 2 3 4 5 6 7 8 | # open the current directory $ subl . # open a directory called tests $ subl ~/Documents/test # open a file called text.txt $ subl test.txt |
如果路徑中含有空格,你必須使用雙引號將路徑括起來:
1 | $ subl "~/Documents/test/my test file.txt" |
想要查詢所有可用的命令,請打開幫助文件:
1 | $ subl --help |
為了使用眾多的 插件 來擴(kuò)展 Sublime 的功能,你需要安裝一個叫做 Package Control 的插件管理器——這個東西你必須要手動安裝。但是一旦你安裝好了以后,你就可以使用 Package Control 來安裝,移除或者升級所有的 ST3 插件了。
請查閱官方 文檔 獲取更多的命令。
你可以通過一個基于 JSON 的配置文件來充分的自定義 Sublime Text,這使得轉(zhuǎn)移或者同步你的自定義文件到另一個系統(tǒng)變得非常容易。首先,我們需要新建我們自己的配置文件。我們最好是為不同的系統(tǒng)環(huán)境和編程語言各自創(chuàng)建一個配置文件。
依次點(diǎn)擊 Sublime Text > Preferences > Settings – User 來創(chuàng)建一個配置文件。在該文件中添加一個空的 JSON 類然后就可以在其中寫入你的配置內(nèi)容了。如下所示:
1 2 3 4 5 6 7 | { // base settings "auto_complete": false, "sublimelinter": false, "tab_size": 2, "word_wrap": true } |
ST3 為你提供了完全自定義化一個適合自己主題的能力。當(dāng)然,你如果不是那么的挑剔的話,你可以通過 Package Control 從許許多多的由 Sublime 社區(qū)設(shè)計的 主題 中下載一個。 在下載之前你可以通過 ColorSublime 來預(yù)覽這些主題。
廣受歡迎的的 Soda Dark 和極簡風(fēng)格的 Flatland 是我個人最喜歡的兩個主題。
在安裝完了主題以后, 請務(wù)必更新你的配置文件. Sublime Text > Preferences > Settings – User:
1 2 3 4 | { "theme": "Flatland Dark.sublime-theme", "color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme" } |
除了那些主題以外,我還會使用以下這一些插件來提升我的工作效率。
SideBarEnhancements 擴(kuò)展了側(cè)邊欄中菜單選項的數(shù)量,從而提升你的工作效率。諸如”New file” 和 “Duplicate” 這樣的選項對于 ST3 來說實在是太重要了, 我甚至覺得 ST3 本來就應(yīng)該提供這些功能。而且僅憑 “Delete” 這一個功能就讓這個插件值得下載。這個功能將你會在你刪除文件的時候把它放入回收站。雖然這個功能乍一看沒什么用,但是當(dāng)你沒有使用這樣的功能而徹底刪除了一個文件的時候,除非你用了版本管理軟件,否則你將很難恢復(fù)這個文件。
現(xiàn)在就下載吧!
Anaconda 是一個終極 Python 插件。它為 ST3 增添了多項 IDE 類似的功能,例如:
{'anaconda_linting': false}
你可以在這里,或者通過 ST3 的 Package Settings: Sublime Text > Preferences > Package Settings > Anaconda > README 來查看所有這些特性。
SublimeCodeIntel 是另外一個非常流行的插件,它的許多特性與 Anaconda 類似。我建議同時也試試它。
Djaneiro 支持 Django 模版和關(guān)鍵字高亮以及許多實用的代碼片(snippets)功能。其中的 snippets 絕對是省時神器。你可以通過很少幾個關(guān)鍵字就能創(chuàng)建許多常見的 Django 代碼塊比如 templates,models,forms,以及 views。請查看官方文檔獲取 snippets 列表。
我個人非常喜歡的以下兩個用于創(chuàng)建 template 的代碼片:輸入 var
就可以新建 {{ }}
,而輸入 tag
就能新建 {% %}
。
Requirementstxt 可以為你的 requirements.txt 文件提供自動補(bǔ)全,語法高亮以及版本管理功能。
SublimeLinter 是 ST3 的一個代碼靜態(tài)檢查工具框架(linter)。這個插件本身來說并不包含任何的一個 linter,但是你可以通過在 Package Control 中輸入 SublimeLinter-[linter_name] 的方式來安裝一個 linter。你可以點(diǎn)擊這里查看官方的 linter。同時你還可以在 Package Control 中查看到許多的第三方 linter。請點(diǎn)擊這里查看安裝說明。
對于 Python 的代碼靜態(tài)檢查器,我建議使用 SublimeLinter-pyflakes 和 SublimeLinter-pep8。
與此同時,我也會使用 SublimeLinter-jshint, SublimeLinter-pyyaml, SublimeLinter-csslint,SublimeLinter-html-tidy,以及 SublimeLinter-json。
以上大多數(shù)的 linter 都需要先安裝一些依賴庫才能使用,所以在安裝前請務(wù)必閱讀他們的安裝說明。
你可以通過修改用戶自定義的 SublimeLinter.sublime-settings 文件來對你的每個 linter 個性化:Sublime Text > Preferences > Package Settings > SublimeLinter > Settings – User. 例如我通過以下代碼來忽略 pep8 中的錯誤和警告:
1 2 3 4 5 6 7 8 | "pep8": { "@disable": false, "args": [], "excludes": [], "ignore": "E501,C0301,W0142,W0402,R0201,E1101,E1102,C0103,R0901,R0903,R0904,C1001,W0223,W0232,W0201,E1103,R0801,C0111", "max-line-length": 100, "select": "" }, |
GitGutter 讓 ST3 能在左邊欄的位置顯示一個小圖標(biāo),用以表示在最后一次提交以后,代碼是否有追加,修改或者刪除。
如果你想讓該插件支持分布式的版本管理軟件(Git,SVN,Bazaar 和 Mercurial)。請查看 Modific。
FTPSync 能夠?qū)⒛愕捻椖亢瓦h(yuǎn)程文件進(jìn)行同步。你只需要打開文件便可以下載更新(如果你的遠(yuǎn)端文件比本地更加新的話),而且如果你對本地文件做出了修改可以立即同步到遠(yuǎn)程服務(wù)器。這是非常棒的同步本地文件和遠(yuǎn)程文件的方法。你可以通過以下的方法來添加你的遠(yuǎn)程服務(wù)器:Sublime Text > Preferences > Package Settings > FTPSync > Setup FTPSync.
Sample settings:
1 2 3 4 5 6 7 8 9 10 11 | { 'primary': { host: 'ftp.mywebsite.com', username: 'johnsmith', password: 'secretpassword', path: '/www/', upload_on_save: true, tls: true } } |
我個人喜歡把密碼設(shè)為 null
因為我不想讓我的密碼出現(xiàn)在配置文件中。這樣 FTPSync 會在我每次保存完文件后要求我輸入密碼。
AdvancedNewFile 可以讓你在 ST3 中使用簡單的幾個快捷鍵便創(chuàng)建一個新的文件夾或者一個新的文件:
你只需要通過幾個快捷鍵便可以打開 AdvancedNewFile 的輸入框。然后輸入路徑和文件名。當(dāng)你按下回車鍵后,文件便被創(chuàng)建了。除此之外,如果目標(biāo)文件夾并不存在的話,該文件夾將會被自動建立。在默認(rèn)情況下,你創(chuàng)建的文件的路徑將會顯示在狀態(tài)欄中。
請查看 Github 上的這篇文檔來獲取更為詳細(xì)的使用說明。特別建議請詳細(xì)閱讀TAB自動補(bǔ)全(Tab Completion)以及預(yù)定義別名(Predefined Aliases)部分。
我把“cmd+n”設(shè)置為了通過 AdvancedNewFile 創(chuàng)建新文件的快捷方式。該快捷鍵可以通過修改 Key Bindings – User file 來實現(xiàn) Sublime Text > Preferences > Package Settings > AdvancedNewFile > Key Bindings – User:
1 2 3 | [ { "keys": ["cmd+n"], "command": "advanced_new_file_new"} ] |
你也可以更改默認(rèn)打開的文件夾路徑:Sublime Text > Preferences > Package Settings > AdvancedNewFile > Settings – User
1 | {"default_initial": "/Users/michaelherman/Documents/repos"} |
這樣我創(chuàng)建新文件的時候,/Users/michaelherman/Documents/repos
將會自動被添加到路徑最前方,因為99%的情況下我都會把我的腳本放在這個路徑下。
Emmet,以前叫做 Zen Coding,讓你可以通過簡單的縮寫來創(chuàng)建 HTML 或者 CSS 的代碼塊。
例如,你只需要輸入感嘆號!
,然后按下 tab 鍵,便可以在一個 HTML 文件中創(chuàng)建一段帶有幾個基本標(biāo)簽的 HTML5 文檔類型的代碼:
1 2 3 4 5 6 7 8 9 10 | <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html> |
Markdown Preview 可以用來預(yù)覽和編譯 markdown 文件。
你可以打開 Package Manager 然后輸入 Markdown Preview 來查看可用的命令:
一旦你完成轉(zhuǎn)換,你之后的所有保存都會立即反映到轉(zhuǎn)換的文件中。
1 2 | 1.選定一個單詞,點(diǎn)擊 **“cmd+d”** 來選擇同樣的單詞,再次點(diǎn)擊 **“cmd+d”** 繼續(xù)選擇下一個單詞… 2.或者 **“cmd+單擊”** 來指定多個你想要同時修改的地方。 |
如果想了解更多關(guān)于快捷鍵的內(nèi)容,請看一下這篇文章。
你可以很容易地使用 Python 來編輯你自己的自定義命令和快捷鍵組合。目前我個人使用的有以下這些:
通過文件選項打開你的 Package 文件夾(Sublime > Preferences > Browse Packages),然后打開 User 文件夾,接下來將上述的 Python 文件添加到 “/Sublime Text 3/Packages/User” 文件夾中。最后請在 Key Bindings – User file (Sublime Text > Preferences > Package Settings > AdvancedNewFile > Key Bindings – User) 文件中完成快捷鍵綁定。
1 2 3 4 5 6 7 8 9 10 11 12 | [ // Copy file name { "keys": ["cmd+shift+c"], "command": "copy_path_to_clipboard" }, // Close all other tabs { "keys": ["cmd+alt+w"], "command": "close_tabs" } ] |
我希望你能夠通過閱讀這篇文章將一些上面提到一些插件整合到你的 ST3 中。同時希望你能夠改造自己的配置文件來創(chuàng)建一些屬于自己的自定義設(shè)定,以此來提升你的工作效率。如果你有任何的建議或者意見,請在下方的評論欄中留下你的評論。 最后,請到這個 repo 中查看 dotfiles 文件夾,其中包含了我上文中所提到的一些文件。
謝謝!
由 Derrick Kearney 編輯。非常感謝!
|
來自: 昵稱28748685 > 《待分類》