一直以来我都是用EditPlus这个文本编辑器来写Python代码,虽然小巧但确实很耐操,该有的功能基本都有,也能设置用户工具把它搞成简单的IDE,很是方便。而且习惯了它关键字的颜色配置,所以很长时间都没有考虑换。让我觉得不爽的地方也有,一是没有分栏显示功能,ep的分栏只能把同一个文件分成上下两栏,用来适应代码过长的情况,却不能像Sublime,VSC那样分成几栏同时显示多个文件,可以很方便的拷贝粘贴代码,做些代码比对之类的;第二点不爽的是ep的界面实在太丑了…韩国那么盛产长腿欧巴大胸靓妹,做的这软件面相 咋!就!这!么!惨!
矮穷矬妥妥的…
当然我也多次尝试过把ep搞成Sublime,VSC那种灰灰酷酷的调子,不过均以失败告终…
让我决心转向使用Sublime Text却是因为工作的需要,EditPlus只有win版本,不支持linux,mac,接下来我的工作会有一部分在linux平台上,所以趁着周末赶紧下了个win版的Sublime Text3摸一摸熟悉下,这一摸不当紧, TMD!摸!上!瘾!了!
Sublime大法好!
好在哪呢?— 哪哪都好!
拼写检查,书签,完整的 Python API , Goto ,即时项目切换,多选择,多窗口,多栏显示,插件拓展,代码缩略图,Snippet,让人意乱情迷的快捷键,关键的关键是:界!面!真!TMD! 漂!亮!
高富帅既视感扑面而来有么有!
好了请原谅我这种没见过世面的CG狗的一惊一乍的屌丝相,接下来咱言归正传,聊一聊这几天摸索Sublime的一点心得,还有遇到的一些问题以及找到的解决办法,也是作为自己的一个网络备份以防今后忘记吧。
ok,我是Sublime Text 3的win64版本,准备以它为主来搭建简易的python开发环境,网上找了些资料多是一些2版本的配置说明,包括发现软件自带的Sublime Text 3 Documentation有些地方也没有及时更新,应该还是保持在2版本的状态,导致我走了小小的一段弯路…能有幸看到我这篇博文又正好要摆弄Sublime的同志们真是幸运!你们可以直着不用弯了!
第一步:User Settings!
Menubar的Prefrences栏是专门用来进行各种基本配置以及安装的插件配置的,Sublime的多数配置文件都是简单粗暴的json代码格式,爽得嘞!依次点击这俩家伙:
Menubar>>Preferences>>Settings - Default
Menubar>>Preferences>>Settings - User
打开这两个配置文件
墙裂建议不要修改default,我们要改的是user,你可以复制default里的代码到user里,然后根据需要进行删减修改,Sublime启动会先读取default配置,再读取user配置,也就是说user的级别高于default。我的user配置是这个样:
{
"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
"auto_complete": false,
"auto_indent": true,
"default_encoding": "UTF-8",
"dictionary": "Packages/Language - English/en_GB.dic",
"drag_text": false,
"fallback_encoding": "Western (Windows 1252)",
"font_face": "Courier New",
"font_size": 10.5,
"ignored_packages":
[
"Vintage"
],
"line_padding_bottom": 1,
"line_padding_top": 1,
"margin": 0,
"match_selection": false,
"tab_size": 4,
"translate_tabs_to_spaces": true,
"trim_automatic_white_space": true,
"word_wrap": false
}
你可以复制以上代码到打开的user-settings文件,直接ctrl+s保存就好了。
- font_face是字体的选择,因为我早已习惯了EditPlus里的标配字体Courier New,所以这里还是义无反顾的选了它,其他好看耐用的字体推荐 Consolas,比较适合Python编程
- tab_size 当然是4,你懂的!
- translate_tabs_to_spaces当然设成true,你更懂的!
- 其他的自己看着设置吧,怎么舒服怎么来
第二步:Python Build!
和Editplus的工具组设置简易IDE一样,Sublime提供的Build System就是用来打造简易IDE的,选择Menubar>>Tools>>Build system>>Python… 设置为python build模式
按键盘Ctrl+B就会执行当前的python代码文件并将结果输出,说白了其实就等同于在terminal里(如win系统的cmd命令行工具)执行了一串系统命令:python解释器(python.exe)执行置前打开的.py文件
python -u "C:\Users\Endorphin\Desktop\test.py"
但如果你的python安装目录没有在系统环境变量Path中,那么build会失败。系统都找不到python这个命令,执行个毛啊,这个时候你有三个选择:
- 把python安装路径加到系统环境变量Path中,这个就不说了,应该都会吧….
- 修改默认的Python.sublime-build,墙裂建议不要这么做!
- 自己动手写一个xxx.sublime-build!
说说第2种方式,(再次墙裂建议不要这么做!)我这里可以提一下,主要是为第3种方式做准备哈哈哈…
Python.sublime-build这个文件在哪里呢,先打开ST3的安装目录下的Packages文件夹,找到Python.sublime-package这个白花花的没有后缀名的文件(其实它就是个zip包文件),用解压缩工具打开(注意不要解压出来),找到Python.sublime-build右键选择查看文件就可以将它打开了,你会看到是这个样子的json配置代码:
{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"variants":
[
{
"name": "Syntax Check",
"shell_cmd": "python -m py_compile \"${file}\"",
}
]
}
ok,copy 一下,关掉关掉!!!
开启第3种方式:xxx.sublime-build!
- 选择Menubar>>Tools>>Build system>>New Build System…
打开一个新的build模板文件,将copy的代码覆盖粘贴进去 - 然后把第一行的python修改成你的python解释器路径,比如C:/Python27/python.exe
- 接下来选择Menubar>>Preferences>>Browse Packages…在打开的路径中选择User,将build配置文件保存到这个User文件夹下,文件名设置为比如My_Python.sublime-build
- 回到Menubar>>Tools>>Build system 查看,会发现这里多了一个My_Python的build项,设为此项再次Ctrl+B执行下代码试试,Bingo!
so easy是不是…..但是恰恰我被绊倒在这里,纠结了整整一下午,因为我人比较懒,能直接baidu&google出的东西不愿费精力自己去找,所以….
网上能找到的Python.sublime-build的范例代码大都是这个样子的
{
"cmd": ["C:/Python27/python.exe", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8"
}
copy然后通过上述步骤搞了自己的python-build项…但是在使用中我发现所有的带GUI的代码文件没法被执行,像是PyQt,PySide,wxPython啥的。开始以为是PyQt 环境不正常,但是发现代码程序在Terminal端又能正常运行,界面正常显示,在 ST3 下 Ctrl + B 运行后,界面死活不显示,看任务管理器又有 python.exe 进程,而且执行print也能正常打印…一时彻底迷糊了,甚至怀疑我的ST3是不是安装正确了…
然后我就老实找到了默认的Python.sublime-build,发现重要的第一行参数和网上找的有些不同”cmd”—“shell_cmd”…嗯…shell….嗯…其中必有蹊跷!排查了好久,锁定ST3安装目录>>Packages>>Default.sublime-package>>exec.py文件是执行build命令调取的base文件,在看过exec.py的代码之后我终于搞明白了GUI界面不显示的原因了…豁然开朗…佛光普照…Fucking Shit…Fucking subprocess….
我能搞明白的是ST随着版本不断升级,文件结构做了调整,功能性需求让一些代码也做了改动,开发者为了照顾老用户的配置可以继续使用,不得已同时存在了”cmd”和”shell_cmd”,但我搞不明白exec.py文件里在”cmd”状态时那个诡异的参数shell=shell,直接写成shell=True能咋地啊……唉!有兴趣的自己去看下exe.py文件代码吧,有点长我就不贴这里了..
所以如果采用“cmd”记住一定要加上最后那句”shell”: “true”,不然一些GUI程序就没法被显示出来
{
"cmd": ["C:/Python27/python.exe", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8"
"shell": "true"
}
但是不建议使用这个”cmd”形式的了,新用户还是直接使用上方介绍的”shell_cmd”方式吧。
第三步:Package Control !
这个不多说了,网上介绍资料一大堆,执行代码存这吧
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; 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://packagecontrol.io/' + 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)
第四步:Choosing Plugins
通过Package Control 愉快的安装各种插件吧!
SublimeREPL :网上介绍一堆不说了,执行文件,断点测试什么的,偶尔临时充当python帮助也还不错…用得好的话这个插件作用很强大
ConvertToUTF8 解决中文乱码问题Ctrl+Shift+C
SideBarEnhancements 侧边栏增强,添加了一些很有用的右键属性
SyncedSidebarBg 侧边栏颜色同步,ST3刚装的侧边栏颜色丑的要命,幸亏有这个…
SublimeCodeIntel 代码自动补全,像我这种对python各种库各种模块信手拈来不费毫秒的模块小王子,这个插件暂时等同鸡肋,等我学其他语言的时候兴许会用到哈哈哈
第五步:睡大觉…做美梦…有了Sublime很快就能赢娶白富美,当上CEO,登上人生巅峰了啦
Sublime就像一博学又爱耍酷的帅哥,跟他不熟的时候觉得这哥们什么SB玩意,一旦跟他混熟了就会觉得:嗯~这哥们确实挺屌的!
最近看微软的Visural Studio Code挺养眼的,冷色调的配色很舒服,也是支持三平台,还是开源纯免费,等有空了也拿它好好地撸上一撸。

本文分享了作者从EditPlus转向SublimeText3的心得体会,详细介绍了如何配置SublimeText3以搭建简易Python开发环境的过程,包括设置UserSettings、PythonBuild、安装PackageControl及选择合适的插件。
3554

被折叠的 条评论
为什么被折叠?



