基于Sublime Text搭建Python IDE

2014年5月12日 发表评论 阅读评论

说起编辑器,可能大部分人要推荐的是Vim和Emacs,本人用过Vim,功能确实强大,但是不是很习惯,之前一直有朋友推荐SUblime Text 2这款编辑器,然后这段时间就试了一下,就深深地喜欢上这款编辑器了,对于类似的编辑器,我用过notepad2、notepad++、Editplus、UltraEdit、Vim、TextPad,都没有觉得哪一款编辑器用得非常上手,直到遇到Sublime Text 2,之前写Python脚本时,也一直在苦苦寻找一款好用的IDE,用过WingIDE、Ulipad、Pycharm、Eclipse+Pydev、PyScrypter,没有哪款非常中意的,直到遇到了Sublime Text 2,今天就来讲一下如何将Sublime Text 2打造成一款好用的IDE,虽然它只是一款编辑器,但是它有丰富的扩展插件,足以让我们把它变成好用的IDE。

一、下载和安装

Sublime Text2是一款开源的软件,不需要注册即可使用(虽然没有注册会有弹窗,但是基本不影响使用)。下载地址:http://www.sublimetext.com/,请自行根据系统版本进行下载。下载好之后直接安装即可。

我这里使用的是网上直接找来的绿色汉化版,里面也自带好了很多插件。不过在使用的过程中,可能会遇到每次打开都提示进行更新。因为最新版是Sublime Text3,两者的区别就像python2.X与python3.x 。

可以通过以下方法,关掉sublime的更新提示:

选择 “preferences”—>“Browse packages”,找打Default文件夹下的Preferences.sublime-settings,在最下面加一行(注意要先在前一行最后面加一个逗号):"update_check":false

保存退出重新启动sublime即可。

二、常用插件及安装

Sublime Text 2安装的插件和所有预置的插件全部在Packages文件下,可以直接通过”preferences“—>”Browse Pakcages“来访问。

Sublime Text 2安装插件有两种方法:

1)离线安装,先下载好安装包,解压之后放到Packages文件夹下,重启Sublime即可。

2)在线安装,在线安装之前,需要安装”Packages Control“这个包管理插件,安装方法是:

选择”查看“—>”显示控制台“,然后在下面弹出的框中输入:

import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())

回车确认,安装完毕之后重启sublime,如果发现在Perferences中看到package control这一项,则安装成功。

然后就可以通过”Ctrl+Shift+P“打开命令面板,输入”install“命令,就可以看到安装包列表了。

下面推荐几款必备的常用插件:

1.Tag插件

Tag插件可以为web开发者提供html和css标签,很方便快捷,对于web前端设计者非常实用。

2.Prefixr插件

为css3提供一些前缀。

3.Terminal插件

Terminal插件可以允许在Sublime Text2中打开cmd命令窗口,很实用的一个插件,安装好该插件好,打开cmd命令窗口的快捷键是

Ctrl+Shift+T。

4.SublimeTmpl插件

这个插件允许用户定义文件的模板,比如在写一个html文件时,老是重复文件头的一些引入信息很繁琐,可以定义一个模板直接生成必须的信息,具体的SublimeTmpl插件用法请自行百度。

5.SideBarEnhancements插件

一个增强侧边栏文件夹浏览功能的插件,比较不错。

6.DocBlockr插件

用来生成注释块的插件,安装好之后直接输入"/*",然后再按回车键,即可生成代码注释块。

7.SublimeCodeIntel插件

智能提示插件,这个插件的智能提示功能非常强大,可以自定义提示的内容库,我的Python智能提示设置(配置文件路径为packages\SublimeCodeIntel-master\.codeintel\config)为:

{
    "Python": {
        "python":'D:/Python27/python.exe',
        "pythonExtraPaths": ['D:/Python27','D:/Python27/DLLs','D:/Python27/Lib','D:/Python27/Lib/plat-win','D:/Python27/Lib/lib-tk','D:/Python27/Lib/site-packages']
    }
}

其中“pythonExtraPaths”就是需要智能提示所需要用到的内容库。

8.AndyPython插件

一款针对Python语言的智能提示插件,其需要提示的关键字和函数可以在Packages\AndyPython\PythonCompletions.py中设置。

9.AndyJS2插件

一款针对Javsscript和jquery智能提示的插件。

10.jquery插件

jquery提示库。

11.Ctags插件

该插件可以实现快速定位到函数定义的地方。

12.为了避免打开含中文字符的文件出现乱码,需要先安装GBK Encoding Support这个插件,再安装ConvertToUTF8插件即可。

如果有朋友觉得没有注册有时候会有弹窗比较讨厌,这里介绍一种破解办法:

用一种十六进制编辑器(我这里用的UltraEdit)打开sublime text
2安装目录下的文件sublime_text.exe,在此之前最好备份一下,如果没有破解成功可以恢复,然后定位到000CBB70这一行,找到8A
C3,将其修改为B0 01,然后保存即可 。

三、SublimeREPL插件及配置

很多IDE软件可以通过运行F5进行程序的编译和运行,这里

我找到了SublimeREPL插件,可以用于运行和调试一些需要交互的程序,同时在Win 7和Win 8.1下面都能正常工作。比较棒的是这个插件可以支持多种语言,而对于Python也支持多种运行模式,我比较常用到的是Python和Python - RUN current file。

1、配置SublimeREPL插件下的python环境

windows下打开D:\Program Files\Sublime Text 2\Packages\SublimeREPL\config\Python\Main.sublime-menu文件,不同环境可能路径不同,一般就是Administrator文件名的区别,找到"id": "repl_python"所在行,将这个JSON对象中args属性下cmd属性值改为["python", "-i", "-u", "$file_basename"],如图,

SublimeREPL

python如果没在环境变量下配置,需要在Main.sublime-menu中使用绝对路径,即cmd行更改为如下内容:

"cmd": ["C:/Python27/python.exe", "-i", "-u"],

注:在Main.sublime-menu配置中有两个配置部分"id": "repl_python","id": "repl_python_run" ,前者是交互式输入运行 ,后者是运行当前文件。

这样相当于将SublimeREPL的python交互环境的命令改为运行当前文件的交互环境,如果还想保留以前的功能,可以自己添加一个这样的节点,注意id值要取名为唯一的id值。

2、快捷键设置

点击Perferences-Key Bindings-Users,设置快捷键。例如,我这的增加内容如下:

{"keys":["f5"],
    "caption": "SublimeREPL: Python - RUN current file",
    "command": "run_existing_window_command", "args":
    {
        "id": "repl_python_run",
        "file": "config/Python/Main.sublime-menu"
    }
} 

3、修改界面(如需要)

【查看】-【布局】-【行数:2行】或者Win下快捷键【Alt】+【Shift】+【8】

4、关闭窗口快捷键

【Ctrl】+【W】关闭当前窗口,因为REPL的窗口不会自己关闭 。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.