爲 Sublime Text 3 設置 Python 的全棧開發環境

爲 Sublime Text 3 設置 Python 的全棧開發環境css

Sublime Text 3 (ST3) 是一個輕量級的跨平臺文字編輯器,尤以其輕快的速度,易用性和強大的社區支持而著稱。它一經面世便被認爲是一個傑出的編輯器,而它真正的強大之處在於你可使用 Package Control 來增長它的功能以及能夠進行各類自定義設置。html

在本文章中,咱們將會看到如何將 Sublime Text 打形成爲 Python 的全棧開發環境(從前端到後端),如何經過自定義主題和插件來加強它的基本功能,而且還將會涉及到不少使 ST3 變得更增強大的經常使用的命令,特性以及快捷鍵。前端

本教程將假定你使用的是 Mac 電腦而且習慣於使用終端。若是你使用的是 Windows 或者 Linux 操做系統,本文涉及到的一些命令將有可能會有所不一樣,可是你應該仍然能夠很容易地經過 Google 來獲取到與本教程相關的解答。python

在咱們開始以前,讓咱們先討論一下我所謂的」全棧」具體指的是什麼。git

在如今的 HTML5 以及移動設備開發中,Javascript 簡直無處不在。是的,無處不在!僅僅使用 Python 基於某個框架好比 Django 或者 Flask 進行開發是不夠的。若是你想從始至終真正的本身開發一個網站的話,你必須熟悉 Javascript(以及 Javascript 的一大堆的框架),REST API(含狀態傳輸 API),響應式設計,固然還有 HTML 和 CSS,以及其餘許多東西。如今讓咱們來面對一個問題:就像其餘任何一個手藝人同樣,爲了成爲一個最厲害的程序員,你的工具必須犀利,你的開發環境必須被打形成全棧開發——那就是咱們立刻將要開始的工做…程序員

特性

讓咱們從 ST3 的一些默認特性開始着手吧…github

  1. Split Layouts 容許你將你的許多文件放到不少分割開來的視窗中。若是你正在進行以測試爲目的的開發(將 Python 代碼放在一個視窗中,而測試腳本放在另外一個視窗中)或者正在進行前端開發(將 HTML 代碼放在一個視窗裏,CSS/Javascript 代碼放在另外一個視窗裏)的時候將會很是有用。 
  2. Vintage Mode 讓你可以在 ST3 中使用 vi 模式。
  3. Chrome-like Tabs 讓你在多個文件中切換變得更加方便。
  4. Automatic loading of the last session 幫你自動打開你上次關閉的時候編輯器中全部打開的文件。我老是一直開着 ST3,並且其中打開着一大堆項目——當我重啓電腦之後, 它可以自動幫我打開全部的這些文件和文件夾。
  5. Code Snippets 容許你經過一兩個簡單的關鍵字就能寫出一段經常使用的代碼片(Snippets),從而增長你的生產效率。好比,你只須要打開一個文件,輸入 「lorem」 而後敲擊 tab 鍵,就會自動生成一段亂數假文(譯者注: 一種用於測試文章或文字在不一樣字型、版型下看起來的效果等的文字)。又好比在 Python 代碼中,你能夠輸入 「defs」 而後敲擊 tab 鍵,你就能獲得一段通用的函數定義。

同時,你還能夠點擊 Tools > New Snippet 來建立屬於你本身的代碼片。請參照這個 文檔來獲取幫助,也能夠在 這裏 查看我我的用到的一些 snippets。web

自定義 Sublime Text 3

在你下載完 ST3 之後…編程

在命令行中添加 subl 命令

就像 TextMate 的 mate 命令同樣,Sublime Text 擁有一個叫作 subl 的命令行工具,能夠用來經過終端打開一個文件或者一整個文件夾。json

你須要創建一個指向 subl 二進制文件的符號連接來使 subl 命令有效:

Python

 

1

$ ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl

嘗試使用如下命令來打開 Sublime 來確保連接生效了:

Python

 

1

$ subl

若是以上命令沒有效果,你可能須要將 /bin 添加到你的環境變量中:

Python

 

1

$ echo "export PATH=~/bin:$PATH" >> ~/.profile

而後從新嘗試第一步。

若是你仍然遇到問題,嘗試查看 這篇 文章來獲取幫助。 或者你能夠看看如何在 Windows和 Linux 中創建符號連接。

如今你就能夠經過下述命令來打開文件或者文件夾了:

Python

 

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

若是路徑中含有空格,你必須使用雙引號將路徑括起來:

Python

 

1

$ subl "~/Documents/test/my test file.txt"

想要查詢全部可用的命令,請打開幫助文件:

Python

 

1

$ subl --help

 

安裝 Package Control

爲了使用衆多的 插件 來擴展 Sublime 的功能,你須要安裝一個叫作 Package Control 的插件管理器——這個東西你必需要手動安裝。可是一旦你安裝好了之後,你就可使用 Package Control 來安裝,移除或者升級全部的 ST3 插件了。

  1. 點擊 這裏 從 Sublime Text 3 官方獲取用於安裝的代碼。依次點擊 View > Show Console 打開 ST3 的控制檯。在控制檯中粘貼剛纔的代碼,而後點擊回車。最後重啓 ST3。
  2. 如今你能夠經過快捷鍵 cmd+shift+P 打開 Package Control 來安裝其餘的插件了。輸入 install 而後你就能看見屏幕上出現了 Package Control: Install Package,點擊回車而後搜索你想要的插件。
  3. 其餘一些相關命令以下:
    • List Packages 顯示全部已安裝的插件
    • Remove Packages 移除一個指定的插件
    • Upgrade Package 更新一個指定的插件
    • Upgrade/Overwrite All Packages 更新全部已安裝的插件

請查閱官方 文檔 獲取更多的命令。

建立自定義配置文件

你能夠經過一個基於 JSON 的配置文件來充分的自定義 Sublime Text,這使得轉移或者同步你的自定義文件到另外一個系統變得很是容易。首先,咱們須要新建咱們本身的配置文件。咱們最好是爲不一樣的系統環境和編程語言各自建立一個配置文件。

依次點擊 Sublime Text > Preferences > Settings – User 來建立一個配置文件。在該文件中添加一個空的 JSON 類而後就能夠在其中寫入你的配置內容了。以下所示:

Python

 

1

2

3

4

5

6

7

{

      // base settings

      "auto_complete": false,

      "sublimelinter": false,

      "tab_size": 2,

      "word_wrap": true

}

 

  1. 若是想爲特定的編程語言新建配置文件的話,請點擊 Sublime Text > Preferences > Settings – More > Syntax Specific – User。而後按照 LANGUAGE.sublime-settings 的格式保存該配置文件。例如想新建一個 Python 專用的配置文件,請將該文件保存爲 Python.sublime-settings。
  2. 你徹底能夠按照你本身的喜愛來進行各項配置;不過我強烈推薦以個人這份 配置文件 以及 Python 配置 做爲基礎,而後修改爲你所須要的內容。
  3. 一個可選項: 你可使用 Dropbox 來同步你的全部配置。你只須要將你的配置文件上傳到 Dropbox 而後就能夠將你的配置同步到你的任意一臺設備上了。
  4. 你能夠在 Sublime Text Unofficial Documentation 找到一些很是好的參考配置。

主題

ST3 爲你提供了徹底自定義化一個適合本身主題的能力。固然,你若是不是那麼的挑剔的話,你能夠經過 Package Control 從許許多多的由 Sublime 社區設計的 主題 中下載一個。 在下載以前你能夠經過 ColorSublime 來預覽這些主題。

廣受歡迎的的 Soda Dark 和極簡風格的 Flatland 是我我的最喜歡的兩個主題。

在安裝完了主題之後, 請務必更新你的配置文件. Sublime Text > Preferences > Settings – User:

Python

 

1

2

3

4

{

      "theme": "Flatland Dark.sublime-theme",

      "color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme"

}

 

插件

除了那些主題之外,我還會使用如下這一些插件來提高個人工做效率。

SideBarEnhancements

SideBarEnhancements 擴展了側邊欄中菜單選項的數量,從而提高你的工做效率。諸如」New file」 和 「Duplicate」 這樣的選項對於 ST3 來講實在是過重要了, 我甚至以爲 ST3 原本就應該提供這些功能。並且僅憑 「Delete」 這一個功能就讓這個插件值得下載。這個功能將你會在你刪除文件的時候把它放入回收站。雖然這個功能乍一看沒什麼用,可是當你沒有使用這樣的功能而完全刪除了一個文件的時候,除非你用了版本管理軟件,不然你將很難恢復這個文件。

如今就下載吧!

Anaconda

Anaconda 是一個終極 Python 插件。它爲 ST3 增添了多項 IDE 相似的功能,例如:

  • Autocompletion 自動完成,該選項默認開啓,同時提供多種配置選項
  • Code linting 使用支持 pep8 標準的 PyLint 或者 PyFlakes。由於我我的使用的是另外的 linting 工具,因此我會在 Anaconda 的配置文件 Anaconda.sublime-settings中將 linting 徹底禁用。操做以下: Sublime > Preferences > Package Settings > Anaconda > Settings – User: {"anaconda_linting": false}
  • McCabe code complexity checker 讓你能夠在特定的文件中使用 McCabe complexity checker. 若是你對軟件複雜度檢查工具不太熟悉的話,請務必先瀏覽上邊的連接。
  • Goto Definitions 可以在你的整個工程中查找而且顯示任意一個變量,函數,或者類的定義。
  • Find Usage 可以快速的查找某個變量,函數或者類在某個特定文件中的什麼地方被使用了。
  • Show Documentation: 可以顯示一個函數或者類的說明性字符串(固然,是在定義了字符串的狀況下)

你能夠在這裏,或者經過 ST3 的 Package Settings: Sublime Text > Preferences > Package Settings > Anaconda > README 來查看全部這些特性。

SublimeCodeIntel 是另一個很是流行的插件,它的許多特性與 Anaconda 相似。我建議同時也試試它。

Djaneiro

Djaneiro 支持 Django 模版和關鍵字高亮以及許多實用的代碼片(snippets)功能。其中的 snippets 絕對是省時神器。你能夠經過不多幾個關鍵字就能建立許多常見的 Django 代碼塊好比 templates,models,forms,以及 views。請查看官方文檔獲取 snippets 列表。

我我的很是喜歡的如下兩個用於建立 template 的代碼片:輸入 var 就能夠新建 {{ }},而輸入 tag 就能新建 {% %}

requirementstxt

Requirementstxt 能夠爲你的 requirements.txt 文件提供自動補全,語法高亮以及版本管理功能。

SublimeLinter

SublimeLinter 是 ST3 的一個代碼靜態檢查工具框架(linter)。這個插件自己來講並不包含任何的一個 linter,可是你能夠經過在 Package Control 中輸入 SublimeLinter-[linter_name] 的方式來安裝一個 linter。你能夠點擊這裏查看官方的 linter。同時你還能夠在 Package Control 中查看到許多的第三方 linter。請點擊這裏查看安裝說明。

對於 Python 的代碼靜態檢查器,我建議使用 SublimeLinter-pyflakes 和 SublimeLinter-pep8

與此同時,我也會使用 SublimeLinter-jshintSublimeLinter-pyyamlSublimeLinter-csslintSublimeLinter-html-tidy,以及 SublimeLinter-json

以上大多數的 linter 都須要先安裝一些依賴庫才能使用,因此在安裝前請務必閱讀他們的安裝說明。

你能夠經過修改用戶自定義的 SublimeLinter.sublime-settings 文件來對你的每一個 linter 個性化:Sublime Text > Preferences > Package Settings > SublimeLinter > Settings – User. 例如我經過如下代碼來忽略 pep8 中的錯誤和警告:

Python

 

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

GitGutter 讓 ST3 能在左邊欄的位置顯示一個小圖標,用以表示在最後一次提交之後,代碼是否有追加,修改或者刪除。

若是你想讓該插件支持分佈式的版本管理軟件(Git,SVN,Bazaar 和 Mercurial)。請查看Modific

FTPSync

FTPSync 可以將你的項目和遠程文件進行同步。你只須要打開文件即可如下載更新(若是你的遠端文件比本地更加新的話),並且若是你對本地文件作出了修改能夠當即同步到遠程服務器。這是很是棒的同步本地文件和遠程文件的方法。你能夠經過如下的方法來添加你的遠程服務器:Sublime Text > Preferences > Package Settings > FTPSync > Setup FTPSync.

Sample settings:

Python

 

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

  }

}

我我的喜歡把密碼設爲 null 由於我不想讓個人密碼出如今配置文件中。這樣 FTPSync 會在我每次保存完文件後要求我輸入密碼。

AdvancedNewFile

AdvancedNewFile 可讓你在 ST3 中使用簡單的幾個快捷鍵便建立一個新的文件夾或者一個新的文件:

你只須要經過幾個快捷鍵即可以打開 AdvancedNewFile 的輸入框。而後輸入路徑和文件名。當你按下回車鍵後,文件便被建立了。除此以外,若是目標文件夾並不存在的話,該文件夾將會被自動創建。在默認狀況下,你建立的文件的路徑將會顯示在狀態欄中。

請查看 Github 上的這篇文檔來獲取更爲詳細的使用說明。特別建議請詳細閱讀TAB自動補全(Tab Completion)以及預約義別名(Predefined Aliases)部分。

我把「cmd+n」設置爲了經過 AdvancedNewFile 建立新文件的快捷方式。該快捷鍵能夠經過修改 Key Bindings – User file 來實現 Sublime Text > Preferences > Package Settings > AdvancedNewFile > Key Bindings – User:

Python

 

1

2

3

[

  { "keys": ["cmd+n"], "command": "advanced_new_file_new"}

]

你也能夠更改默認打開的文件夾路徑:Sublime Text > Preferences > Package Settings > AdvancedNewFile > Settings – User

Python

 

1

{"default_initial": "/Users/michaelherman/Documents/repos"}

這樣我建立新文件的時候,/Users/michaelherman/Documents/repos將會自動被添加到路徑最前方,由於99%的狀況下我都會把個人腳本放在這個路徑下。

Emmet

Emmet,之前叫作 Zen Coding,讓你能夠經過簡單的縮寫來建立 HTML 或者 CSS 的代碼塊。

例如,你只須要輸入感嘆號!,而後按下 tab 鍵,即可以在一個 HTML 文件中建立一段帶有幾個基本標籤的 HTML5 文檔類型的代碼:

Python

 

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

Markdown Preview 能夠用來預覽和編譯 markdown 文件。

你能夠打開 Package Manager 而後輸入 Markdown Preview 來查看可用的命令:

  • Markdown Preview: Python Mrakdown: 在瀏覽器中預覽
  • Markdown Preview: Python Mrakdown: 導出 HTML 文件
  • Markdown Preview: Python Mrakdown: 拷貝到剪貼板
  • Markdown Preview: Github風格Markdown: 在瀏覽器中預覽
  • Markdown Preview: Github風格Markdown: 導出 HTML 文件
  • Markdown Preview: Github風格Markdown: 拷貝到剪貼板
  • Markdown Preview: 打開Markdown速查手冊

一旦你完成轉換,你以後的全部保存都會當即反映到轉換的文件中。

快捷鍵

  1. 跳轉到任意內容 (「cmd+p」) 用來快速查找和打開文件。你僅僅只須要工程中文件的一部分路徑或者文件名你就能夠很容易的打開這個文件。這在一個大型的 Django 工程中顯得很是方便。
  2. 跳轉到指定行 (「ctrl+g」) 讓你在當前文件中跳轉到指定行數。
  3. 跳轉到標誌 (「cmd+r」) 能夠列出當前文件中全部的函數或者類,讓你更方便查找。你能夠經過輸入關鍵字來查找你所須要的函數或者類。
  4. 跳轉到行首 (cmd+left-arrow-key) 與 跳轉到行尾 (cmd+right-arrow-key)
  5. 刪除當前行(ctrl+shift+k)
  6. 多重編輯 是我迄今爲止最喜歡的快捷鍵

    Python

     

    1

    2

    1.選定一個單詞,點擊 **「cmd+d」** 來選擇一樣的單詞,再次點擊 **「cmd+d」** 繼續選擇下一個單詞…

    2.或者 **「cmd+單擊」** 來指定多個你想要同時修改的地方。

  7. 塊編輯 (option+left-mouse-click) 用於選擇一整塊的內容。一般在整理 CSV 文件的時候用於刪除空白內容。

若是想了解更多關於快捷鍵的內容,請看一下這篇文章。

自定義命令

你能夠很容易地使用 Python 來編輯你本身的自定義命令和快捷鍵組合。目前我我的使用的有如下這些:

  1. 拷貝當前文件路徑到剪貼板 – 連接
  2. 關閉除當前活動標籤頁之外的全部其餘標籤頁 – 連接

經過文件選項打開你的 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) 文件中完成快捷鍵綁定。

Python

 

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"

  }

]

相關文章
相關標籤/搜索