Chinaunix首页 | 论坛 | 博客
  • 博客访问: 476851
  • 博文数量: 148
  • 博客积分: 4424
  • 博客等级: 上校
  • 技术积分: 1211
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-25 21:50
文章分类

全部博文(148)

文章存档

2012年(89)

2011年(20)

2010年(39)

分类: Python/Ruby

2012-01-14 11:38:04

本文来自: [转]PyDev创建项目

[转]PyDev创建项目
2011-08-03 16:15

PyDev Package Explorer
创建项目
在开展工作之前,需要创建一个新的项目。在 Eclipse 菜单栏中,选择 File > New > Project > Pydev > Pydev Project,单击 Next。
图 5. 创建 Pydev 项目


这时,显示出 Pydev Project 窗口,输入项目名称、选择工作路径、选择 Python 解释器的版本类型并选中复选框,然后单击 Next,进入关联项目的窗口,如果不需要关联其他项目,则可以直接单击 Finish,完成项目的创建。
创建 Python 包和模块
接 下来,在刚创建的项目中开始创建 Python 包和模块。 进入 Pydev 透视图,在 Python Package Explorer 中,右键单击 src,选择 New->PydevPackage,输入 Package 名称并单击 Finish,Python 包就创建好了,此时,自动生成__init__.py文件,该文件不包含任何内容。
注意:如果在创建项目的时候没有选中“Create default src folder and add it to thepythonpath”复选框,则需要通过 File > New > Other > Source Folder手动创建一个源代码文件夹。 创建完 Pydev Package 后,右键单击创建的包,选择 New->Pydev Module,输入模块名称,单击 Finish。这样,Python 模块就建成了。
编辑源程序
对于源程序的一些基本编辑方法,就不做介绍了。下面介绍几点 Pydev 提供的非常实用的编辑功能。 语法错误提示
Python 开发者在创建修改程序的过程中,如果能及时发现编辑过程中出现的语法错误,无疑对整个项目开发的质量和进展都是非常重要的。在Python 透视图中,Pydev Package Explorer 中列出了项目的源代码,双击其中某一个 Python文件,如果该文件包含语法错误,错误会以很醒目的方式展现出来。
图 6. Pydev 文件语法错误提示


如果想把整个项目中所有包含语法错误的文件显示出来,可以从 Python 透视图自由切换到 Java 透视图。在 Java Package 里,一个个醒目的小红叉标记了所有包含语法错误的 Python文件。
图 7. Pydev 项目语法错误提示

源代码编辑助手 (Content Assistents)
源代码编辑助手 (Content Assistents,以下简称 CA),顾名思义,即用于帮助开发者编辑源程序,它提供了诸多方便实用的功能,引导开发者进行高效快速的项目开发。
通过快捷键 Ctrl+1 可以激活 CA,它支持的功能如下:
PyDevMove import to global scope Create docstring Assign result to new local variable (or field) Assign parameters to attributes Surround code with try..except or try..finally
PyDev ExtensionsMake import for undefined token Ignore error Don't analyze module
在安装 PyDev 时,PyDev 和 PyDev Extensions 包都已安装,所以 CA 的这几大功能现在都支持。首先,先介绍如何使用 PyDev 包含的 CA 功能。 PyDev 的 CA 功能Move import to global scope
以如下代码为例,将光标移至 import sys 后,启动快捷键 Ctrl+1 激活 CA,”Move import to global scope” 出现在标签中,按 Enter 应用此功能。如果不想应用该功能,可以按 Esc 键取消。

#!/usr/bin/python –u
sys.path.append(“./VirtualFS”)
import sys


应用该功能后,import sys 被成功移至全局范围内,消除了之前的错误。改变后的代码如下。
#!/usr/bin/python –u
import sys
sys.path.append(“./VirtualFS”)

Create docstring
Create docstring 功能可以自动为函数添加参数注解。将光标移至如下代码行,启动快捷键Ctrl+1 激活 CA,标签栏中出现 ”Make docstring”。
def __init__(self, dbUser, dbPswd, dbHost):


按 Enter 应用该功能后,自动为该函数添加了参数注解。
def __init__(self, dbUser, dbPswd, dbHost):
                '''
               
                @param virtualOperator:
                @param database:
                @param hostname:
                @param workDir:
        '''

Assign result to new local variable (or field)
CA 还提供一种功能能够将函数返回结果赋给新的内部变量。以函数 callMethod 为例,将光标移至 a.callMethod() 行激活 CA。
     def method (self, a):
        a.callMethod()


选择 ”Assign to field(self, callMethod)” 或者 ”Assign to local(callMethod)”,可以将a.callMethod() 结果赋给新的内部变量 self.callMethod,改变后的代码如下。
     def method (self, a):
        self.callMethod = a.callMethod()

Assign parameters to attributes
在程序编辑过程中,如果需要把函数参数赋给变量,可以使用 CA 的 Assign parameters to attributes 功能自动完成这样的需求。将光标移至函数 m1 所在行,激活 CA。
    class Foo(object):
        Def m1(self, a, b):


在标签栏中选择 ”Assign parameters to attributes”,自动生成两行代码将参数 a,b 赋给同名变量。
class Foo(object):
        def m1(self, a, b):
                self.a = a
                self.b = b

Surround code with try..except or try..finally
对 可能产生异常的代码,要进行异常捕获,通常使用 try..except 或者 try..finally 语句来捕获异常。选中一段代码print usage,激活 CA 的 ” Surround code with try..except ortry..finally”功能,可以自动对 print usage 进行异常捕获。
import sys
def method (self, usage):
          try:
              print usage
          except:
              raise


下面,再介绍 PyDev Extensions 包含的 CA 功能是如何被运用的。 PyDev Extension 的 CA 功能Make import for undefined token
以如下一段代码为例,xmlreader 未定义,语法分析出错。
     class Test:
        def method(self):
             xmlreader


将鼠标移至出错行,启动快捷键 Ctrl+1 激活 CA,选择标签栏中的 ”Import xmlreader(xml.sax)”,自动生成一行代码 from xml.sax import xmlreader,语法错误消除。
from xml.sax import xmlreader
  class Test:
        def method(self):
             xmlreader

Ignore error
仍以上述代码为例,由于 xmlreader 没有被定义,包含语法错误,在这一行激活 CA,选择 ”UndefinedVariable”,语法错误被忽略,xmlreader 后自动生成一行注释标明 ”#@UndefinedVariable”。
  class Test:
        def method(self):
             xmlreader #@UndefinedVariable

Don't analyze module
语法分析器可以帮助显示包含语法错误的代码,但在程序编辑过程中,有时候需要刻意取消对程序的语法分析,CA 的 Don't analyze module 提供了这样的功能。
将光标移至程序第一行,激活 CA,选择 ”@PydevCodeAnalysisIgnore”,自动生成一行代码 ”#@ PydevCodeAnalysisIgnore”,忽略对程序体的语法分析。
#@PydevCodeAnalysisIgnore
   class Test:
        def method(self):
                          xmlreader

Quick Outline
对特定的 Python 文件,Pydev Extensions 提供的 Quick Outline 能最简单快捷地获取该文件的组织结构,并能在该文件中方便地查询定位所需信息。
在 Pydev 透视图中,选择 Source -> Show Quick Outline,或者使用快捷键 Ctrl+O 启动该功能。
Python 文件的类、函数等组织架构便以树状形式被形象地展现出来。同时,Filter 提供了查询定位的功能,可以方便地查询所需信息并定位到相应的代码段。
图 8. Quick Outline

Globals Browser
Globals Browser 是 Pydev Extensions 提供的另外一种强大的查询定位功能。它可以查询定位整个工程内的一些定义和属性,包括: 类定义 方法定义 全局变量 类以及实例属性
通过三种方式可以启动该功能。 在 Pydev 透视图中,从菜单栏中选择 Pydev -> Globals Browser。
图 9. 菜单栏启动 Globals Browser

在Pydev 透视图中,工具栏有如下的一个小图标,鼠标移至该图标上方,显示 ”Pydev: Globals Browser” 标注。点击该图标按钮,可以启动 Globals Browser 功能。
图 10. 工具栏启动 Globals Browser

通过快捷键 Ctrl + Shift + T,可以快速启动 Globals Browser 功能。
在 Filter 中输入所要查询的定义、变量或者属性,Globals Browser 可以快速地定位到相应的代码段。
图 11. Globals Browser

Hierarchy View
当某个 python 文件包含多个类时,如何才能简单直观地了解各个类之间的依存关系?Hierarchy View 提供了这样的功能,它能将多个类之间的层次关系以树状结构直观地显示出来。
以一段 Python 代码为例,定义了 Super1, Super2, ToAnalyze 和 Sub1 四个类。在Pydev透视图中,选择 Windows -> Show View -> Other,在弹出的 Show View 窗口中,选择Pydev -> Hierarchy View。按快捷键 F4 激活 HierarchyView,可以看到树状图中显示出了类间的层次关系。
图 12. 在 Hierarchy View 中显示类的层次关系


Hierarchy View 还支持以下四个功能: 在层次图中,用鼠标单击某个类,图下方即显示出该类的方法。 如果双击某个类、方法或者属性,则会调出源程序,进入对该类、方法或者属性的编辑状态。 在 Hierarchy View 中,按住鼠标右键,并相左或向右移动鼠标,层次图则会相应地缩小或放大。 在 Hierarchy View 中,按住鼠标左键移动鼠标,层次图则会被随意拖动到相应的位置。

阅读(3405) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~