歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 設置Sublime Text的Python開發環境

設置Sublime Text的Python開發環境

日期:2017/2/27 15:59:29   编辑:Linux教程

最近,當我主要使用Python開發環境編輯的時候,我開始越來越多地用到Sublinme Text 2.這篇文章主要說明了能讓Python的編程者使用更方便的一些設置和調整。


為何選擇Sublime Text?
我以前一直是TextMate的忠實用戶。這是一個輕量級的、開源的軟件,作為OS X的本地應用,具有很好的Mac風格。不過,雖然TextMate是一個很棒的編輯器,有時候還是顯得功能不夠。

我用過一些功能更強的軟件,例如 加上Python插件的IntelliJ IDEA。 我特別喜歡它的debugger和test runner。不過,一個像IntelliJ這樣的全功能的IDE對於中小項目來說還是顯得過於龐大。

最近幾周我開始越來越多的使用 Sublime Text。當我將它安裝好之後,感覺非常不錯。它確實非常快,自動定期的更新,以及更棒的是完全支持跨平台。對我來說,它最終勝過TextMate的地方是Sublime強大的插件子系統。對於Python開發,有不少插件可以讓你開發起來更流暢、更有樂趣。

我現在仍然在不同的項目之間切換編輯器。不過我發現對應Python開發,Sublime在輕量級的編輯器和全功能的IDE之間有著很好的平衡。

字體的選擇
Ubuntu Mono 是非常非常不錯的字體。前些天我剛從 Menlo 切換過來,這絕對不讓人後悔。

在我的15寸的MacBook上,Ubuntu Mono的16號字非常適合。1680 × 1050的分辨率對於一個邊欄加兩個編輯器窗口(自動調整到80個字符寬)剛好合適。

如果你打算認真的挑選一下字體, slant.co的這篇文章 寫的不錯。它包含了大部分流行的編程方面的字體的截圖及下載鏈接。

安裝插件
正如之前提到的, Sublime 有一個非常豐富的插件系統。而我當前使用的插件如下:

  • Package Control 在 Sublime 裡直接安裝附加插件的包管理器。這是唯一一個你必須手動安裝的插件。這邊列出的其他所有插件都可以通過 Package Control 來安裝。也可以通過它來更新已安裝過的插件。簡單得想做是 Sublime packages 的 apt-get 就行了。
  • Color Scheme - Tomorrow Night Color schemes 決定了編輯器界面語法高亮的字體顏色。這是一個非常酷的暗黑系樣式。
  • Theme - Soda Dark Themes 影響 Sublime 界面元素的顏色和風格。這個非常適合 Tomorrow Night 的配色方案。
  • SideBarEnhancements 這個插件提供了側邊欄附加的上下文菜單選項,例如"New file","New Floder"等。這些本應當默認就該有的,卻沒有。
  • All Autocomplete Sublime 默認的自動完成只關注當前文件的單詞。這個插件擴展了其自動完成的單詞列表到所有打開的文件。
  • SublimeCodeIntel 為部分語言增強自動完成功能,包括了 Python 。這個插件同時也可以讓你跳轉到符號定義的地方,通過按住 alt 並點擊符號。非常方便。
  • SublimeREPL 允許你在編輯界面直接運行 Python 解釋器。我傾向於在單獨的終端窗口用 bpython 來運行,但有時 SublimeREPL 是很有幫助的。
  • GitGutter 在編輯器的凹槽區,依照 Git ,增加小圖標來標識一行是否被插入、修改或刪除。在 GitGutter 的 readme 中有說明如何更改顏色圖標來更新你的配色方案文件。
  • Pylinter 這個插件提供了目前我所見到的最好的 pylint 編輯器整合。它自動檢查 .py 文件,無論其何時被保存,並且會直接在編輯界面顯示 pylint 違規。它還有一個快捷方式來禁用局部的 pylint 檢查,通過插入一個 #pylint: 禁用注釋。這個插件對於我確實非常有用。

配置文件
Sublime Text 的一個優點就是它的所有配置都是簡單的基於 JSON 的配置文件。這使得你可以很容易的將配置轉到另一個系統中。我也見過一些人使用 Dropbox 自動同步他們所有電腦上的配置。

Preferences.sublime-settings 配置了 Sublimede 的顯示和行為.你可以在sublime 中通過 Preferences > Settings — User 打開並編輯此文件。我使用如下配置:
{
    // Colors
    "color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow-Night.tmTheme",
    "theme": "Soda Dark.sublime-theme",

    // Font
    "font_face": "Ubuntu Mono",
    "font_size": 16.0,
    "font_options": ["subpixel_antialias", "no_bold"],
    "line_padding_bottom": 0,
    "line_padding_top": 0,

    // Cursor style - no blinking and slightly wider than default
    "caret_style": "solid",
    "wide_caret": true,

    // Editor view look-and-feel
    "draw_white_space": "all",
    "fold_buttons": false,
    "highlight_line": true,
    "auto_complete": false,
    "show_minimap": false,

    // Editor behavior
    "scroll_past_end": false,
    "highlight_modified_tabs": true,
    "find_selected_text": true,

    // Word wrapping - follow PEP 8 recommendations
    "rulers": [ 72, 79 ],
    "word_wrap": true,
    "wrap_width": 80,

    // 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 - exclude distracting files and folders
    "file_exclude_patterns":
    [
        ".DS_Store",
        "*.pid",
        "*.pyc"
    ],
    "folder_exclude_patterns":
    [
        ".git",
        "__pycache__",
        "env",
        "env3"
    ]
}

Pylinter.sublime-settings配置了pylinter 插件。我使用下面的配置讓 Pyhton 在保存時自動規范,並對違反規范顯示圖標。
{
    // Configure pylint's behavior
    "pylint_rc": "/Users/daniel/dev/pylintrc",

    // Show different icons for errors, warnings, etc.
    "use_icons": true,

    // Automatically run Pylinter when saving a Python document
    "run_on_save": true,

    // Don't hide pylint messages when moving the cursor
    "message_stay": true
}

按鍵綁定
Sublime 的按鍵綁定也是全部可配置的基於JSON的 sublime-keymap 配置文件。我修改了一些默認配置以更好的配合我的 TextMate / IntelliJ 肌肉記憶。你可以完全不修改。如果你想,修改很簡單,並可以跨平台使用。我使用如下的綁定:
[
    // Rebind "go to file" to cmd+shift+O
    { "keys": ["super+shift+o"], "command": "show_overlay", "args": {
        "overlay": "goto",
        "show_files": true
    }},

    // Rebind swap line up/down to cmd+shift+up/down
    { "keys": ["super+shift+up"], "command": "swap_line_up" },
    { "keys": ["super+shift+down"], "command": "swap_line_down" },

    // Delete a line with cmd+delete
    { "keys": ["super+backspace"], "command": "run_macro_file", "args": {
        "file": "Packages/Default/Delete Line.sublime-macro"
    }},

    // Reindent selection with cmd+alt+L
    { "keys": ["super+alt+l"], "command": "reindent"}
]

命令行工具
同 TextMate 的 mate 類似,Sublime Text 包含了一個命令行工具,允許你通過 shell 打開編輯器。工具名為 sublis,默認不可用。要使之生效,在任一 shell 中運行下面:
ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl


要將 Sublime 作為 git 互動命令的默認編輯器使用——舉例,撰寫提交信息——只需添加下面一行到你的 ~/.profile 文件:

export GIT_EDITOR="subl --wait --new-window"
Copyright © Linux教程網 All Rights Reserved