使用Sublime Text 3做Python开发

时间:2021-02-24 22:59:21

引言

刚转到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 3做Python开发

可以看到,绝大部的插件已完成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,让开发人员进行代码管理方便不少。

使用Sublime Text 3做Python开发

这个小插件是在修改后的文件行号前增加一些标识图片,方便与版本库对比,修改内容一目了然。

使用Sublime Text 3做Python开发

创建、管理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成为一个高效的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。