- 浏览: 564323 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 598原文地址:http://askubuntu.com/quest ... -
学习Emacs系列教程(十):多窗口
2014-12-09 10:07 465原文地址:http://www.cnblogs.com/rob ... -
Emacs 配置文件,包括自动提示,yasnippet和PHP-mod和cscope等
2014-12-04 12:03 1186原文地址:http://outofmemory.cn/code ... -
emacs ide配置
2014-12-04 12:00 509原文地址:http://www.boyunjian.com/d ... -
emacs 常用命令与配置
2014-12-04 11:46 625原文地址:http://www.cnblogs.com/UnG ... -
一起学用Emacs(一):Emacs基本命令
2014-10-24 13:40 612原文地址:http://linux.chinaunix.net ... -
Emacs 中的查找
2014-10-24 09:30 397原文地址:http://emacser.com/ann77/E ... -
Emacs常用命令速查
2014-10-22 10:26 458原文地址:http://www.chinaunix.net/o ... -
在emacs下配置php-mode实现库函数自动补全
2014-10-22 09:56 1474原文地址:http://blog.sina.com.cn/s/ ... -
emacs 中使用etags
2014-10-21 17:28 1066原文地址:http://blog.csdn ... -
慢慢将emacs 配置成极其强大的web IDE开发环境
2014-10-20 13:59 646原文地址:http://www.douban.com/grou ... -
【转载】在emacs下配置php-mode实现库函数自动补全
2014-10-20 10:17 618原文地址:http://blog.sina.com.cn/s/ ... -
emacs插件以及配置 转
2014-10-11 09:55 1407原文地址:http://blog.csdn.net/liang ... -
在 emacs 中使用 bing translate api 实现高效翻译
2014-10-10 11:06 946原文地址:http://emacser.c ... -
使用.emacs.d目录管理Emacs配置文件
2014-10-09 17:39 1578原文地址:http://blog.csdn.net/aka_x ... -
emacs 生存指南
2014-10-09 17:30 613原文地址:http://blog.csdn.net/aka_x ... -
Emacs as a Python IDE
2014-10-09 14:36 523原文地址:http://cnlox.is-programmer ... -
Emacs下配置Java开发环境
2014-10-09 14:35 650原文地址:http://longgue.iteye.com/b ...
相关推荐
`Python-Emacs Application Framework` 就是将这两个强大的工具融合在一起的框架,使得Python开发者能够利用Emacs的强大功能来构建PyQt应用,并无缝地在Emacs中运行和管理这些应用。 首先,让我们深入理解`Python-...
以下是如何将Emacs打造为Python代码编辑工具的详细步骤: 1. **基本配置** - Emacs内置了`python-mode`,通过输入`M-x python-mode`即可进入Python编辑模式。当打开`.py`文件时,Emacs通常会自动识别并进入此模式...
《GNU.Emacs完全手册》是一本详尽的资源,专为那些想要深入理解并充分利用GNU Emacs编辑器的用户而编写。...无论是初学者还是经验丰富的用户,都能从中受益匪浅,将Emacs打造成适合自己需求的工作平台。
6. **集成开发环境**:Emacs可以通过各种模式转变为针对特定语言的IDE,Python开发者可能会发现更完善的调试和测试工具集成。 要安装和使用这个源代码包,你需要遵循以下步骤: 1. **解压**:首先使用`tar -zxvf ...
Emacs是一款强大的文本编辑器,深受开发者喜爱,尤其在编程社区中有着广泛的用户基础。它不仅是一个编辑器,更是一个可高度自定义的工作环境,通过内置的Lisp方言——Emacs Lisp(Elisp),用户可以对其进行深度定制...
总的来说,Doom Emacs提供了一个强大而优雅的Emacs体验,其丰富的配置选项使得每个用户都能打造出独一无二的工作环境。通过熟练掌握Emacs Lisp,您可以随心所欲地调整Doom Emacs,使其成为您的理想开发利器。
它不仅是一个编辑器,还是一个集成开发环境(IDE),内置了对各种编程语言的支持,包括但不限于C、Java、Python和Lisp等。Emacs的核心是其内置的Lisp方言——Emacs Lisp (Elisp),用户可以通过编写Elisp代码来定制...
**SpaceVim 1.4.0:打造Python IDE的Vim增强工具** SpaceVim 是一个高度可定制的 Vim 模块管理器,旨在简化 Vim 的配置过程,使其更像使用 Emacs 的 spacemacs。在 SpaceVim 1.4.0 版本中,它进一步增强了对 Python...
SpaceVim 是一个高度模块化的 Vim 开源项目,致力于打造一个现代化的 Vim IDE(集成开发环境)。它以 Vim 的强大编辑功能为基础,通过模块化的架构,使得用户可以根据自己的需求定制功能,提升开发效率和用户体验。...
对于编程语言的支持,Emacs有许多强大的模式,如`python-mode`、`java-mode`和`javascript-mode`。这些模式提供了诸如自动缩进、语法高亮、自动完成和错误检查等功能。通过Elisp,你可以集成IDE(集成开发环境)的...
- Org Mode是Emacs中的一个强大的组织和笔记工具,可用于日程管理、任务跟踪、项目规划等。 10. **rofi**: - Rofi是一个窗口切换器和快速选择工具,提供了高效的命令行界面,可以用于启动应用、切换窗口等。 11...
此外,还可能包含一些特定语言的IDE,如Python的PyCharm、Java的IntelliJ IDEA等。 3. **版本控制**:系统内置了版本控制系统,方便开发者对代码进行版本管理和协作。 4. **软件包管理器**:Light Workstation通常...