使用Sublime Text 3做Python开发
引言
刚转到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网站上的一张统计图,给自己吃了个定心丸
可以看到,绝大部的插件已完成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
,让开发人员进行代码管理方便不少。
这个小插件是在修改后的文件行号前增加一些标识图片,方便与版本库对比,修改内容一目了然。
创建、管理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的快如疾风,风驰电掣吧!
使用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。