当前位置:首页 > 服务端 > 翻译:打造基于Sublime Text 3的全能python开发环境

翻译:打造基于Sublime Text 3的全能python开发环境


原文标题:Setting Up Sublime Text 3 for Full Stack Python Development

翻译:打造基于sublime text 3的全能Python开发环境

Sublime Text 3 (ST3) is lightweight, cross-platform code editor known for its speed, ease of use, and strong community support. It’s an incredible editor right out of the box, but the real power comes from the ability to enhance its functionality using Package Control and creating custom settings.

In this article, we’ll look at how to setup Sublime Text for full stack Python development (from the front to back), enhance the basic functionality with custom themes and packages, and use many of the commands, features, and keyword shortcuts that make ST3 so powerful.



This tutorial assumes you’re using a Mac and are comfortable with the terminal. If you’re using Windows or Linux, many of the commands will vary, but you should be able to use Google to find the answers quickly given the info in this tutorial.


Before we start, let’s address what I mean exactly by “full stack”.

In today’s world of HTML5 and mobile development, Javascript is literally everywhere. EVERYWHERE. Python coupled with a framework such as Django or Flask is not enough. To really develop a website from end-to-end, you must be familiar with Javascript (and the various Javascript frameworks), REST APIs, responsive design, and of course HTML and CSS, among others. And let’s face it: Like any craftsman, in order to be the best programmer you can be, your tools must be sharp. Your development environment must be setup for full stack development – which is exactly what we are going to do right now…

在开始本教程之前,让我们来明确一下我所指的全方位(full stack)是什么意思.在当今的HTML5和移动设备开发中,javascript被广泛使用.everywhere!python结合诸如Django和Flask之类的框架是不能满足需求的.为了开发一个端到端的网站,你必须熟悉javascript及其大量的js框架,rest apis,响应式设计,html&css和其他.为了成为最好的程序员,工欲善其事必先利其器!你必须把你的开发环境配置成适应全方位开发,这就是我们接下来将要做的


Let’s start by looking at a few of the default features of Sublime Text 3…

Split Layouts allow you to arrange your files in various split-screens. This is useful for test driven development (Python code on one screen, test scripts on another) or when working on the front end (HTML on one screen, CSS and/or Javascript on another).


首先我们来看sublime text 3提供的一系列默认的特性


翻译:打造基于Sublime Text 3的全能python开发环境 _ JavaClub全栈架构师技术笔记

  1. Vintage Mode provides you with vi commands for use within ST3.

  2. Chrome-like Tabs make navigating and editing several files much simpler.
  3. Automatic loading of the last session re-opens all files and folders you had open when you closed the editor the last time. I leave ST3 open all the time, with various projects open – so if I reset the computer, it opens the files and folders right back up.
  4. Code Snippets increase your productivity by giving you the ability to create common pieces of code with a single keyword. There are a number of default snippets. For example, open a new file and type in “lorem” then press tab. You should get a paragraph of lorem ipsum text. Also, if you type “defs” then press tab in a Python file it will setup a generic function.

    You can also create your own snippets: Tools > New Snippet. Refer to the documentation for help, and also check out some of my snippets here.

  1. Vintage模式允许你在st3中使用vi命令
  2. Chrome-like标签也让多文件导航和编辑变得更加容易
  3. 自动加载上一次会话,自动打开你上次关闭st3之前打开的文件和文件夹.作者st3常开,并且同时打开多个项目,如果重启电脑,立刻打开备份的文件和文件夹
  4. 代码片段让你能够通过一个关键词来创建代码段来提高你的效率.有很多默认的代码片段.例如,新建一个文件,输入lorem,按tab键,你将会得到一大段文字.如果你在python文件中输入defs并且敲tab会的到一个通用的函数体.

Customizing Sublime Text 3

After downloading ST3 …

Install the subl command line tool

Like the mate command for TextMate, Sublime Text includes a command line tool called subl that allows you to open one file, or an entire directory of files and folders, from the terminal.

To enable this command, create a symbolic link to the subl binary:




就像TextMate的mate命令,sublime text包含了一个叫做让你能够从终端打开一个文件或者一系列文件文件夹的命令行工具


$ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/subl

 Ensure that the link works by opening Sublime:


$ subl

 If that didn’t work, you probably need to add /bin to your Path:


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


# open the current directory
$ subl .

# open a directory called tests
$ subl ~/Documents/test

# open a file called text.txt
$ subl test.txt

译注:我用的ubutnu 15.04安装st3的deb包,命令行下直接就可用使用subl,所以这一步可用省略

$ subl hello.py  # 直接就可以在sublime里打开,不用设置
$ subl "hello world" # 如果路径中有空格,路径必须加引号
$ subl --help # 可用查看所有的命令

Install Package Control

To begin taking advantage of the various packages for extending Sublime’s functionality, you need to install the package manager called Package Control – which you must install manually. Once installed, you can use Package Control to install/remove/upgrade all other ST3 packages.

  1. To install, copy the Python code for Sublime Text 3 found here. Click View > Show Console to open the ST3 console. Paste the code into the console. Press enter. Reboot ST3.

  2. You can now install packages by using the keyboard shortcut cmd+shift+P. Start typing install until Package Control: Install Package appears. Press enter and search for available packages.

  3. Some other relevant commands are:

    • List Packages shows all your installed packages
    • Remove Packages removes a specific package
    • Upgrade Package upgrades a specific package
    • Upgrade/Overwrite All Packages upgrades all your installed packages


    Check out the official documentation to view more commands.

 安装包管理器为了利用各种扩展sublime功能的包,你需要手动安装一个叫做Package Control的包管理器.安装之后,你可以通过它来安装/卸载/升级所有st3包(插件).

  1. 为了安装插件你必须复制这里为st3设计的python代码.单击视图→显示控制台来打开st3控制台,把代码粘贴到控制带,回车并且重启st3
  2. 你现在可用通过ctrl+shift+p来安装插件.按快捷键后输入instal,直到Package Control: Install Package出现.敲回车并且搜索可用的插件.
  3. 一些其他的命令包括
    1. 列出你已经安装的插件
    2. 删除一个特定的插件
    3. 升级特定的插件
    4. 升级/覆盖所有包 升级你所有的插件



翻译:打造基于Sublime Text 3的全能python开发环境 _ JavaClub全栈架构师技术笔记

Create a Custom Settings File

You can fully configure Sublime Text using JSON-based settings files, making it easy to transfer, or synchronize, your customized settings to another system. First, we need to create our customized settings. It’s best to create a base file for all environments as well as language-specific settings files.

To set up a base file click Sublime Text > Preferences > Settings – User. Add an empty JSON object to the file and add your settings like so:


你可以通过json格式配置文件自由的配置sublime text,采用json格式使得配置文件易于传输,或者同步你的配置到其他系统.首先我们需要创建自己的自定义设置.建议分别设置针对所有的环境的基本配置文件和针对特定语言的配置文件.

通过sublime text→选项→配置-用户来创建一个基本配置.在文件中添加一个空的json对象,并且添加配置

  // base settings
  "auto_complete": false,
  "sublimelinter": false,
  "tab_size": 2,
  "word_wrap": true


  1. 特定语言的配置,Sublime Text > Preferences > Settings – More > Syntax Specific – Use,用语言名.sulime-settings来保存,比如针对python的配置文件就是Python.sublime-settings
  2. 你可以对st做任意配置,但是我强力推荐你从配置基本配置和针对python的配置开始,接下来你将会看到改变
  3. 可选:你可以用Dropbox来同步你所有的配置,把文件上传到Dropbox并且在所有的电脑上加载并同步sublime环境.
  4. 一个很好的sublime配置参考Sublime Text Unofficial Documentation.



ST3 also gives you the option to change the overall theme to better suit your personality. Design your own. Or, if you’re not artistically inclined, you can download one of the various custom themes designed by the Sublime community through Package Control. Check out ColorSublime to preview themes before installing them.

The ever popular Soda Dark Theme and the minimal Flatland are two of my personal favorites.

After installing a theme, make sure to update your base settings, Sublime Text > Preferences > Settings – User:




SideBarEnhancements extends the number of menu options in the sidebar, speeding up your overall workflow. Options such as “New file” and “Duplicate” are essential and should be part of ST3 out of the box. The “Delete” option alone makes it worth downloading. This feature simply sends files to the Trash, which may seem trivial but if you delete a file without it, it’s very difficult to recover unless you’re using a version control system.


翻译:打造基于Sublime Text 3的全能python开发环境 _ JavaClub全栈架构师技术笔记



  • Autocompletion works by default, but there are a number of configuration options.默认自动完成,并且有一些配置选项
  • Code linting uses either PyLint or PyFlakes with pep8. I personally use a different linting package, as I will explain shortly, so I disable linting altogether within the user-defined Anaconda settings file, Anaconda.sublime-settings, via the file menu: Sublime > Preferences > Package Settings > Anaconda > Settings – User: {"anaconda_linting": false} 代码检查,用pylint或者pyflakes及pep8,作者使用不同的代码检查插件,所以作者简单的通过Anaconda用户配置文件来禁用Anaconda插件自带的代码检查功能
  • McCabe code complexity checker runs the McCabe complexity checker tool within a specific file. If you’re unfamiliar with a complexity checker, be sure to visit the link above.代码复杂度检测
  • Goto Definitions finds and displays the definition of any variable, function, or class throughout your entire project.查找并显示你工程中任何变量,函数和类.
  • Find Usage quickly searches where a variable, function, or class has been used in a specific file.特定文件中已经使用过的变量函数和类.
  • Show Documentation: shows the Docstring for functions or classes (if defined, of course).如果定义了文档,显示文档.

翻译:打造基于Sublime Text 3的全能python开发环境 _ JavaClub全栈架构师技术笔记

You can view all of the features here, or within the README file in ST3’s Package Settings: Sublime Text > Preferences > Package Settings > Anaconda > README.点击链接查看所有功能,或者查看readme文件.

SublimeCodeIntel is another popular package, which has many of the same features as Anaconda. I suggest testing them both out.




Djaneiro supports Django templating and keyword highlighting and provides useful code snippets (tab completions) for Sublime Text. The snippet system is an incredible timesaver. You can create common Django blocks with only a few keystrokes for templates, models, forms, and views. Check out the official documentation to see a list of snippets.

My personal favorites are for templating: var creates {{ }} and tag creates {% %}


Requirementstxt provides autocompletion and syntax highlight-lighting as well as a nice version management system for your requirements.txt files.



SublimeLinter is a framework for ST3 linters. The package itself does not include any actual linters; those must be installed separately via Package Control using the SublimeLinter-[linter_name] naming syntax. You can view official linters here. There are also a number of third party linters, which can be viewed in Package Control. Check out the installation instructions here.


For Python linting, I recommend using SublimeLinter-pyflakes and SublimeLinter-pep8.


I also use SublimeLinter-jshint, SublimeLinter-pyyaml, SublimeLinter-csslint, SublimeLinter-html-tidy, and SublimeLinter-json.

Most of these linters have dependencies associated with them, so please read the installation instructions before installing.

You can customize each linter in the user-defined SublimeLinter.sublime-settings file: Sublime Text > Preferences > Package Settings > SublimeLinter > Settings – User. For example, I ignore the following pep8 errors and warnings:自定义错误的方法

"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 shows little icons in ST3’s gutter area that indicate whether a line has been inserted, modified, or deleted since the last commit.GitGutter 是一个兼容Sublime Text 2 或者Sublime Text 3 的插件,它可以在行数的前面显示那一行是被增加,修改还是删除。显示每行变化的插件.


Emmet, previously known as Zen Coding, uses simple abbreviations to generate HTML or CSS code snippets.

For example, if you type a bang, !, then press tab in an HTML file ,the HTML5 doctype and a few basic tags are generated:

<!doctype html>
<html lang="en"> <head>  <meta charset="UTF-8">  <title>Document</title> </head> <body>  </body> </html> 

Check out the official documentation as well as this handy cheat sheet for more info.





标签: Python