Python IDE,您可以突出显示方法/类并跳转到其定义

时间:2010-07-19 21:16:36

标签: python ide

我正在尝试使用textmate,但我发现很难用它来导航项目。

我承认我可能只是不太了解IDE。

是否可以突出显示类或方法并跳转到其定义?

9 个答案:

答案 0 :(得分:5)

我不确定我是否理解你的问题,但是如果你想找一个适合Python的IDE,我强烈建议你看一下PyDev

它是迄今为止功能最丰富的Python IDE,它拥有一个非常活跃的开发团队。我是否提到它的免费和开源?

答案 1 :(得分:1)

Wing IDE是python的优秀IDE。

答案 2 :(得分:1)

我也一直在寻找能够轻松实现此类事情的IDE 。

大约两个小时前,我下载了Pycharm,这让我感到震惊。对于任何语言,这可能是我用过的最酷的IDE。到目前为止,它似乎完成了像VisualStudio或Eclipse这样的大型IDE(对于许多语言)所做的一切,只是没有这些怪物的学习曲线或资源消耗。

它完全符合您的要求......只需右键单击任何类,方法或其他任何内容,选择“转到实现”(或声明),然后弹出一个新选项卡

还有许多其他令人惊奇的光滑功能......试试吧!

这是一个30天的试用期,之后它非常合理(例如学术上29美元,个人100美元,商业团队200美元。如果你有一个真正的OpenSource项目至少积极开展工作,那么哦和免费3个月。)

(如果这听起来像是一则广告,我道歉。我可以向你保证,事实并非如此。我只是......对于IDE很痴迷......而且非常沮丧,因为它们很少符合我的标准。我如果我发现任何“警告”,我会修改这个,但到目前为止,非常好。)

答案 3 :(得分:0)

如果您询问IntelliJ IDEA,Python仅适用于商业版。

如果你问的是Python IDE,IDLE已经提供了Python。我还可以推荐Boa Constructor

答案 4 :(得分:0)

WingIDE如果你能分出一些现金,你可以做你想要的所有捆绑,几乎没有配置工作。 另外,带有Aptana的pydev的Eclipse是免费的,并且确实是这样,加上更多(ctrl +点击几乎所有的重定向和许多其他有用的东西,如pyc删除等)。

导航问题通常不仅仅是缺乏工具的症状。一个体面的项目结构和一个版本控制系统(即使你在本地和独奏工作)将有助于解决这个问题。

答案 5 :(得分:0)

我不确定textmate中可用的功能,但是只需简单的搜索工作吗?即Ctrl + F和查询“def function”包括def部分,以便找到定义而不是调用?

答案 6 :(得分:0)

我是pyscripter http://code.google.com/p/pyscripter/的粉丝。有那些功能和更多(和正则表达式检查!)

开源当然。

答案 7 :(得分:0)

Aptana Studio 3.0

PyDev团队现在在Aptana的支持下运作,这使得Aptana Studio 3 - 一个Eclipse定制 - 比首次下载Eclipse的两步流程更好,然后安装PyDev扩展。

Aptana为Python(及其他)预配置,另外还支持Django项目[包括JavaScript支持]。

该产品快速且响应迅速,具有强大的元级功能,例如跳转到可调用的定义,从 init 初始化,模块浏览,非常好的代码完成以及更...

到目前为止,在Eclipse + PyDev,NetBeans Python Edition和Aptana Studio 3的基础上,基于相对广泛的个人测试,AS3获胜。

答案 8 :(得分:0)

这是一个用于TextMate的小型Bundle / Command,可以完成99%的Python跳转定义:

FUNC="$TM_CURRENT_WORD"
DIR="$TM_PROJECT_DIRECTORY"
OUTPUT=''

# Define the class or function definition string that we're looking for.
FUNCDEF='(def|class) '$FUNC

# Find all files that contain FUNCDEF
FILES=(`egrep "$FUNCDEF" $DIR/* -r -l --include=*.py`)

#
# Look for a function declaration within a files contents.
#
# <file>
#
function lookup_function {
    local line=`nl -b a "$1" | egrep "$FUNCDEF" | awk '{print $1}'`
    if [[ "$line" -gt 0 ]]; then
      # echo 'Jumping to --> '$1':'$line
      mate "$1" -l "$line"
      exit 0
    fi
}

# Iterate files
for file in ${FILES[@]}; do
    echo $file
    lookup_function "$file"
done

# Nothing found
echo 'Function '${FUNC}' was not found within the current project.'