- 浏览: 544829 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
原文地址:http://www.cnblogs.com/coderzh/archive/2009/12/26/emacspythonide.html
本文将介绍,在Emacs中,通过各种扩展,打造强大的Python IDE环境,包括Snippet工具,智能提示,自动补全,重构工具,调试以及GAE的调试,等等。以下各工具的安装前提是你对Emacs的配置文件有一定的了解,所有相关的el文件都必须放在load_path能够加载的地方。
1. YASnippet
snippet工具,可自定义一些模板,必不可少的好东西!看了下面这个很酷的演示动画就明白了:
http://yasnippet.googlecode.com/files/yasnippet.avi
安装方法:
(require 'yasnippet)
(yas/initialize)
(yas/load-directory "~/.emacs.d/plugins/yasnippet-0.6.1c/snippets")
2. AutoComplete
自动完成工具,会像VS里一样,弹出一个列表框让你去选择。
'
安装方法:
复制代码
(require 'auto-complete)
(require 'auto-complete-config)
(global-auto-complete-mode t)
(setq-default ac-sources '(ac-source-words-in-same-mode-buffers))
(add-hook 'emacs-lisp-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-symbols)))
(add-hook 'auto-complete-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-filename)))
(set-face-background 'ac-candidate-face "lightgray")
(set-face-underline 'ac-candidate-face "darkgray")
(set-face-background 'ac-selection-face "steelblue") ;;; 设置比上面截图中更好看的背景颜色
(define-key ac-completing-map "\M-n" 'ac-next) ;;; 列表中通过按M-n来向下移动
(define-key ac-completing-map "\M-p" 'ac-previous)
(setq ac-auto-start 2)
(setq ac-dwim t)
(define-key ac-mode-map (kbd "M-TAB") 'auto-complete)
复制代码
3. Rope and Ropemacs
非常棒的重构工具,比如rename,move,extract method等等。还有非常好用的goto difinition(跳到定义),show documents(显示文档)等等。安装Ropemacs前,必须先安装rope和pymacs 。
rope的安装方法:
python setup.py install
pymacs的安装方法:
python setup.py install
.emacs中:
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
Ropmacs的安装方法:
python setup.py install
.emacs中:
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)
4. pycomplete
一个更加强大的智能提示工具,比如,输入time.cl 然后按TAB键,会列出time模块所有cl开头的函数名。在调用函数时,还会在mini buffer中提示函数的参数类型。这个东西需要先安装pymacs。
安装方法:
1. 拷贝 python-mode.el and pycomplete.el 到Emacs的load_path中。
2. 拷贝 pycomplete.py 到PYTHONPATH (比如: c:/python25/Lib/site-packages)
3. .emacs中添加:
(require 'pycomplete)
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)
(setq interpreter-mode-alist(cons '("python" . python-mode)
interpreter-mode-alist))
5. pdb调试
在Emacs中,通过M-x pdb可调出pdb对python代码进行调试。但是发现在Windows系统中,总进入不了调试模式。主要原因有:
1. windows中,找不到pdb.py位置。需自己制定pdb的路径。可以通过下面的方法设置pdb的路径:
复制代码
;; pdb setup, note the python version
(setq pdb-path 'c:/python25/Lib/pdb.py
gud-pdb-command-name (symbol-name pdb-path))
(defadvice pdb (before gud-query-cmdline activate)
"Provide a better default command line when called interactively."
(interactive
(list (gud-query-cmdline pdb-path
(file-name-nondirectory buffer-file-name)))))
复制代码
2. windows中,调用pdb时,未使用python -i 参数。
针对上面两个问题,我的解决办法是,不设置pdb具体路径,M-x pdb 回车后,出现下面命令:
Run pdb (like this): pdb
然后手动修改一下:
Run pdb (like this): python -i -m pdb test.py
这样就搞定了。
6. 如何调试GAE程序
GAE是一个Web应用,需要跨线程进行调试,而pdb本身对线程调试支持不好。使用pdb进行线程调试时,只有在需要调试的地方插入下面代码:
import pdb
pdb.set_trace()
然后直接运行被调试代码,而不是通过python pdb来执行,就可以多线程代码进行调试了。
但是Google App Engine这样的Web应用,使用这个方法还是不能调试,和stdin和stdout有关,最后找到一个很好的解决方法:
def set_trace():
import pdb, sys
debugger = pdb.Pdb(stdin=sys.__stdin__,
stdout=sys.__stdout__)
debugger.set_trace(sys._getframe().f_back)
在任何需要调试的地方,调用上面的set_trace()函数。
如果你还有更好玩的东西,一定要告诉我!
参考文档:
http://www.emacswiki.org/emacs/PythonMode
http://www.enigmacurry.com/2008/05/09/emacs-as-a-powerful-python-ide/
http://jjinux.blogspot.com/2008/05/python-debugging-google-app-engine-apps.html
本文将介绍,在Emacs中,通过各种扩展,打造强大的Python IDE环境,包括Snippet工具,智能提示,自动补全,重构工具,调试以及GAE的调试,等等。以下各工具的安装前提是你对Emacs的配置文件有一定的了解,所有相关的el文件都必须放在load_path能够加载的地方。
1. YASnippet
snippet工具,可自定义一些模板,必不可少的好东西!看了下面这个很酷的演示动画就明白了:
http://yasnippet.googlecode.com/files/yasnippet.avi
安装方法:
(require 'yasnippet)
(yas/initialize)
(yas/load-directory "~/.emacs.d/plugins/yasnippet-0.6.1c/snippets")
2. AutoComplete
自动完成工具,会像VS里一样,弹出一个列表框让你去选择。
'
安装方法:
复制代码
(require 'auto-complete)
(require 'auto-complete-config)
(global-auto-complete-mode t)
(setq-default ac-sources '(ac-source-words-in-same-mode-buffers))
(add-hook 'emacs-lisp-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-symbols)))
(add-hook 'auto-complete-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-filename)))
(set-face-background 'ac-candidate-face "lightgray")
(set-face-underline 'ac-candidate-face "darkgray")
(set-face-background 'ac-selection-face "steelblue") ;;; 设置比上面截图中更好看的背景颜色
(define-key ac-completing-map "\M-n" 'ac-next) ;;; 列表中通过按M-n来向下移动
(define-key ac-completing-map "\M-p" 'ac-previous)
(setq ac-auto-start 2)
(setq ac-dwim t)
(define-key ac-mode-map (kbd "M-TAB") 'auto-complete)
复制代码
3. Rope and Ropemacs
非常棒的重构工具,比如rename,move,extract method等等。还有非常好用的goto difinition(跳到定义),show documents(显示文档)等等。安装Ropemacs前,必须先安装rope和pymacs 。
rope的安装方法:
python setup.py install
pymacs的安装方法:
python setup.py install
.emacs中:
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
Ropmacs的安装方法:
python setup.py install
.emacs中:
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)
4. pycomplete
一个更加强大的智能提示工具,比如,输入time.cl 然后按TAB键,会列出time模块所有cl开头的函数名。在调用函数时,还会在mini buffer中提示函数的参数类型。这个东西需要先安装pymacs。
安装方法:
1. 拷贝 python-mode.el and pycomplete.el 到Emacs的load_path中。
2. 拷贝 pycomplete.py 到PYTHONPATH (比如: c:/python25/Lib/site-packages)
3. .emacs中添加:
(require 'pycomplete)
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)
(setq interpreter-mode-alist(cons '("python" . python-mode)
interpreter-mode-alist))
5. pdb调试
在Emacs中,通过M-x pdb可调出pdb对python代码进行调试。但是发现在Windows系统中,总进入不了调试模式。主要原因有:
1. windows中,找不到pdb.py位置。需自己制定pdb的路径。可以通过下面的方法设置pdb的路径:
复制代码
;; pdb setup, note the python version
(setq pdb-path 'c:/python25/Lib/pdb.py
gud-pdb-command-name (symbol-name pdb-path))
(defadvice pdb (before gud-query-cmdline activate)
"Provide a better default command line when called interactively."
(interactive
(list (gud-query-cmdline pdb-path
(file-name-nondirectory buffer-file-name)))))
复制代码
2. windows中,调用pdb时,未使用python -i 参数。
针对上面两个问题,我的解决办法是,不设置pdb具体路径,M-x pdb 回车后,出现下面命令:
Run pdb (like this): pdb
然后手动修改一下:
Run pdb (like this): python -i -m pdb test.py
这样就搞定了。
6. 如何调试GAE程序
GAE是一个Web应用,需要跨线程进行调试,而pdb本身对线程调试支持不好。使用pdb进行线程调试时,只有在需要调试的地方插入下面代码:
import pdb
pdb.set_trace()
然后直接运行被调试代码,而不是通过python pdb来执行,就可以多线程代码进行调试了。
但是Google App Engine这样的Web应用,使用这个方法还是不能调试,和stdin和stdout有关,最后找到一个很好的解决方法:
def set_trace():
import pdb, sys
debugger = pdb.Pdb(stdin=sys.__stdin__,
stdout=sys.__stdout__)
debugger.set_trace(sys._getframe().f_back)
在任何需要调试的地方,调用上面的set_trace()函数。
如果你还有更好玩的东西,一定要告诉我!
参考文档:
http://www.emacswiki.org/emacs/PythonMode
http://www.enigmacurry.com/2008/05/09/emacs-as-a-powerful-python-ide/
http://jjinux.blogspot.com/2008/05/python-debugging-google-app-engine-apps.html
发表评论
-
使用emacs时候,去掉ubuntu的alt键默认功能
2014-12-11 10:35 572原文地址:http://askubuntu.com/quest ... -
学习Emacs系列教程(十):多窗口
2014-12-09 10:07 431原文地址:http://www.cnblogs.com/rob ... -
Emacs 配置文件,包括自动提示,yasnippet和PHP-mod和cscope等
2014-12-04 12:03 1160原文地址:http://outofmemory.cn/code ... -
emacs ide配置
2014-12-04 12:00 481原文地址:http://www.boyunjian.com/d ... -
emacs 常用命令与配置
2014-12-04 11:46 598原文地址:http://www.cnblogs.com/UnG ... -
一起学用Emacs(一):Emacs基本命令
2014-10-24 13:40 584原文地址:http://linux.chinaunix.net ... -
Emacs 中的查找
2014-10-24 09:30 370原文地址:http://emacser.com/ann77/E ... -
Emacs常用命令速查
2014-10-22 10:26 426原文地址:http://www.chinaunix.net/o ... -
在emacs下配置php-mode实现库函数自动补全
2014-10-22 09:56 1451原文地址:http://blog.sina.com.cn/s/ ... -
emacs 中使用etags
2014-10-21 17:28 1038原文地址:http://blog.csdn ... -
慢慢将emacs 配置成极其强大的web IDE开发环境
2014-10-20 13:59 623原文地址:http://www.douban.com/grou ... -
【转载】在emacs下配置php-mode实现库函数自动补全
2014-10-20 10:17 599原文地址:http://blog.sina.com.cn/s/ ... -
emacs插件以及配置 转
2014-10-11 09:55 1374原文地址:http://blog.csdn.net/liang ... -
在 emacs 中使用 bing translate api 实现高效翻译
2014-10-10 11:06 891原文地址:http://emacser.c ... -
使用.emacs.d目录管理Emacs配置文件
2014-10-09 17:39 1547原文地址:http://blog.csdn.net/aka_x ... -
emacs 生存指南
2014-10-09 17:30 586原文地址:http://blog.csdn.net/aka_x ... -
Emacs as a Python IDE
2014-10-09 14:36 495原文地址:http://cnlox.is-programmer ... -
Emacs下配置Java开发环境
2014-10-09 14:35 623原文地址:http://longgue.iteye.com/b ...
相关推荐
为python开发坏境而配置的emacs,下载后直接解压,将原电脑中的.emacs.d备份,用这个文件夹覆盖原有的
Pymacs is a powerful tool which, once started from Emacs, allows two-way communication between Emacs Lisp and Python. Pymacs aims to employ Python as an extension language for Emacs rather than the ...
关于c c++ java python开发的emacs配置文件
minimal-emacs-configuration, python的最小emacs配置 python的最小emacs配置为了让一切正常安装 emacs,git和 python 。pip install jedi epc pylintgit clone 这里存储库使用 emacs -Q ( 。 load装入你的em
Emacs本身提供了python-mode,输入M-x python-mode,就可以进入python模式。相应地,会在菜单栏出现Python菜单。当然,一般来讲,如果是.py文件打开的话,也会自动进入该模式。 不过,默认的python模式功能上面用...
emacs配置IDE相关资料,包括代码补全等等。
emacs-jedi, python的自动完成 Jedi.el-- Emacs的python 自动完成链接:文档( 开发) ( 发布版本)屏幕截图配置文件命令常见问题解答故障排除完整概述变更日志文件中的A & ( 带有 emacs-jedi 标记)
lpy:适用于GNU Emacs的最小Python IDE
emacs python-moemacs python-mode 及使用方法de 及使用方法
emacs python 扩展包
python emacs ide 相关包,操作方法等等。
elpy, Emacs python 开发环境 Elpy,Emacs Lisp python-环境Elpy是一个Emacs软件包,可以为Emacs带来强大的python 编辑功能。 它组合并配置了一些它的他软件包,这两个软件包都是用,以及 python 编写的。 文档El
emacs-python-environment, 用于 Emacs Lisp的python virtualenv API 用于 Emacs Lisp的 python-virtualenv API链接:存储库( 位于 GitHub )问题跟踪程序( 位于 GitHub )Travis CI MELPA MELPA稳定 Emacs与使
emacs搭建python开发环境(包括一个VIM的perl支持)。
emacs-python工具及配置
cmake-ide:将Emacs用作CC ++ IDE
pycoverage.el, emacs对 highighting python 覆盖结果的支持 pycoverage.el一个emacs次要模式,用于报告 python 覆盖率统计 依赖项python覆盖> =4.0安装把像这样的东西放到你(require 'linum)(require 'py