Wingware python IDE是一款功能强大的开发软件,可以帮助用户在电脑上开发新的应用程序,这款软件可以在任何python环境下使用提供集成的Python Shell,可以让用户在测试项目的时候更加方便,这款软件提供调试功能,可以在软件启动调试器,可以查看测试文件,可以运行unittest从命令行测试当前开发项目,可以对源代码分析,可以在远程开发新程序,具有的功能非常多,适合需要开发新软件的朋友使用!
软件功能
代码警告和质量检验(Wing Pro)
Wing 7的新代码警告和代码质量检查系统侧重于早期识别实际编码错误,包括语法错误,未定义的变量和属性,未解析的导入以及其他类型的错误。警告也可以从外部检查器获得,例如pylint,pep8和mypy。新的代码 警告工具可以轻松删除误报和不太有用的警告类型。代码警告配置可以存储在项目中,用户设置中或可共享文件中。当存在代码警告时,指示符将放置在编辑器上,导航图标将添加到编辑器的右上角。现在还可以从编辑器> 代码 警告首选项组配置代码警告的显示样式和颜色 。
更多调试器改进
该堆栈 数据工具进行了改进,通过增加一个选项,以隐藏__name__, __name,和/或_name样式的符号,选择隐藏在值存储器地址,和一种方法来设置从工具的整数显示模式选项菜单。PEP 3134链接异常支持已添加到例外,调用 堆栈,堆栈 数据和 测试工具,以及工具栏和堆栈菜单中。现在也可以按排序顺序查看字典。
改进的书签支持(Wing Pro)
“ 书签”工具经过重新设计,通过分类,输入注释和按类别或文本片段过滤书签显示,可以更轻松地使用书签来管理开发任务。其他改进包括整个外发文件的更改,共享书签的类别与其他项目,出口和书签和书签类别,书签工具提示的进口能力,并增加了一个工具栏和书签的更好的跟踪选项菜单中的书签工具。
软件特色
Wing可用于调试各种Python代码,包括使用wxPython,Tkinter,PyQt,PyGObject,matplotlib,Jupyter和pygame编写的应用程序 。Wing还可以调试为Django,Flask, Pyramid,mod_wsgi,Plone和Twisted等框架编写的代码,以及在更大的应用程序(如Blender,Maya,Nuke和 Source Filmmaker)的上下文中在嵌入式Python解释器中运行的代码。
应该用于调试的Python可执行文件以及Python Path和起始目录等环境在Project菜单的Project Properties中指定。
每个文件环境
如果不同文件需要不同的调试环境,请对每个文件使用“ 文件属性 ”以指定要与该文件一起使用的启动配置。
如果同一文件的不同启动需要不同的调试环境,请改为设置命名入口点。
命令行参数
调试文件时使用的命令行参数可以使用Debug菜单 中的Debug Environment,文件的File Properties的Debug选项卡下,或者通过定义Named Entry Point来设置。
单元测试环境
将测试工具调试为单元测试时用于文件的环境将设置在“ 项目属性”或“ 文件属性”的“ 测试”选项卡下。
项目测试文件
通过在“ 项目属性”的“ 测试”选项卡下指定一个或多个“测试”文件模式,可以将项目中所有文件的子集添加到“ 测试”工具中。这可以通过“ 测试”菜单中的“ 从项目添加文件”来启动。
与测试文件模式匹配的任何项目文件都被视为测试文件,并将显示在“ 测试”工具中。随着项目文件的添加和删除或项目目录内容的更改,列表将自动更新。
项目属性
每个项目都有一组属性,可以从“项目”菜单中的“项目属性”项进行访问和编辑。这些用于配置在调试,执行,测试或检查Python代码以进行源代码分析时使用的Python环境。正确配置项目属性对于自动完成,重构,错误检测和IDE的其他功能非常重要。项目属性还用于为项目设置选项,以及为Django,matplotlib和Zope启用和配置扩展。
使用方法
Wingware python IDE没有exe主程序,用户可以将其配置到Python环境下使用
教程:代码警告
正如您在学习本教程时可能注意到的那样,Wing通过加下划线来标记某些类型的错误代码。这样做是为了语法错误,缩进错误,无法访问的代码,未定义的变量或属性,无法解析的导入以及一些其他类型的错误。将鼠标光标悬停在编辑器上的指示器上会在工具提示中显示该警告或错误的详细信息:
甲 代码 警告图标被示出在具有代码的警告任何编辑器的右上方,并且代码警告工具可用于查看和管理的警告。
代码警告工具的配置选项卡可用于设置代码警告的外部源,包括Pylint,pep8和mypy:
编辑器>代码警告首选项组用于更改编辑器上警告指示器的样式或全局禁用该功能。
教程:其他调试器功能
在继续之前,让我们看一些值得了解的其他调试器功能。
移动程序计数器
当调试器暂停而不是异常时,Wing Pro可以在最里面的堆栈帧中移动程序计数器的位置。通过右键单击应移动计数器的行并选择“ 在此处移动 程序 计数器”来完成 此操作。
此功能允许通过再次执行来逐步执行已执行的代码,以便在不重新启动调试器的情况下检查问题。
由于Python的实现方式,这只能在最里面的堆栈帧中进行,并且只有在调试器没有停止异常的情况下才有可能。
调试值提示
在调试过程暂停时将鼠标光标悬停在编辑器中的符号上将显示该符号的值(如果它在当前堆栈帧中定义)。同样,按Shift-Space将显示编辑器上所有可见符号的调试数据值。
查看数组
可以从工具的“ 选项”菜单中将“堆栈数据”工具中的选定项目视为数组。这适用于Python的内置数据类型,numpy数组,pandas DataFrames和sqlite3查询结果等。
根据需要逐步加载数据以在屏幕上显示,这使得这是检查大型数据集而不将大量数据传输到IDE的好方法。
观察工具
Watch工具允许您通过符号名称或对象引用随时间查看变量,方法是在堆栈数据,模块或监视工具中右键单击它们 。
通过对象引用监视值是在调试时检查实例的好方法,即使您跳出包含易于访问的引用的代码也是如此。
您还可以观看在“ 监视”工具的“ 观察”列中键入的表达式。
模块数据视图
默认情况下,Wing会从“ 堆栈 数据”工具中显示的值中筛选出模块和其他一些数据类型。在某些情况下,查看存储在模块中的值很有用。这可以通过Modules工具完成,它只是sys.modules中所有模块的可扩展列表:
断点管理器
“断点”工具显示所有已定义断点的列表,并允许启用或禁用,编辑断点条件,设置忽略计数以及检查在调试过程的生命周期内达到断点的次数。
教程:设置项目
现在我们已准备好开始编写代码。第一步是设置项目文件,以便Wing可以查找和分析您的源代码并跨会话存储您的工作。
如果您尚未从Wing安装中复制教程目录,请按照教程:入门中的说明进行操作。
Wing最初使用默认项目启动。现在使用“ 项目”菜单中的“ 新建项目”创建一个新项目,而不是使用它。使用默认项目类型 Empty Python Project,将其他设置保留为空,然后单击OK:
Wing将在创建新的空白项目后显示确认对话框:
单击“ 立即保存 ”以保存新项目。使用tutorial.wpr作为项目文件名,并将其放在先前创建的教程目录中。
接下来,使用“ 项目”菜单中的“ 添加 现有 目录”项添加教程目录的副本。保持选中默认选项,以便将该目录中的所有文件添加到项目中。
请注意,大多数情况下,在Wing中创建项目时,您将使用“ 项目”菜单中的“ 新建项目 ” 而不是“ 保存 项目 为”,我们在此处所做的只是为了让事情变得简单。我们将在本教程后面再回到这一点。
打开文件
通过双击“项目”工具,通过在“打开项目”对话框中键入片段,以及稍后将描述的其他方式,可以打开项目中的文件。
从“ 文件”菜单中立即尝试“ 从项目打开” 。键入ex作为文件名片段,然后使用箭头键并按Enter键以打开文件example1.py。现在使用片段sub ex再次尝试。这仅匹配具有完整路径名中的sub 和ex的文件。在较大的项目中,Open From Project通常是打开文件的最简单方法,因此您可能希望在“ 文件”菜单中学习为此命令列出的键绑定。绑定因您选择使用的键盘个性而异
教程:单元测试
Wing Pro的测试工具可以轻松运行和调试为unittest,doctest,pytest,nose和 Django单元测试框架编写的单元测试。
我们现在试试吧。首先,打开Project Properties并在Testing 选项卡下插入一个设置为Glob / Wildcard的test File Pattern并测试_ * .py。这告诉Wing您的哪个项目文件是单元测试文件。按“ 确定”或“ 应用”, 然后从“ 工具”菜单中打开“ 测试 ” 工具。现在应该包含文件test_example1.py的条目:
接下来注释掉在example1.py中读取PromptToContinue的行,这样可以在没有提示的情况下通过测试加载模块。
然后按运行 测试的测试工具。您应该看到三个测试中的两个通过,一个将失败:
您可以展开树以查看失败测试的详细信息,包括测试打印的任何输出和发生的异常。双击测试结果和异常将转到相关代码。
请注意,您还可以通过单击要运行的 测试 并 从“ 测试”菜单中选择“ 在光标处运行测试”,从编辑器运行测试。
调试测试
现在在调试器中运行失败的testFailure,方法是在测试 工具中单击它并按工具顶部的Debug Tests。Wing应该在异常处停止,您可以在测试中使用调试器,就像使用任何其他Python代码一样。
环境
在测试工具中运行单元测试时,默认情况下它们运行在用于调试和执行代码的相同环境中。可以使用 “ 项目属性”的“ 测试”选项卡下的“ 环境 ” 或单元测试文件的“ 文件属性 ”更改此设置。
使用说明
设置断点
通过打开源文件并单击源代码行左侧的断点边距,可以在源代码上设置断点。右键单击断点边距将显示带有其他断点操作和选项的上下文菜单。在Wing Pro中,“ 工具”菜单中的“断点”工具可用于查看,修改或删除已定义的断点。或者,可以使用“ 调试”菜单或工具栏的断点图标来设置或清除当前源行(插入插入符号或选择所在的位置)处的断点。
断点类型
在Wing Pro中,可以使用以下类型的断点:
无论何时到达该代码,常规断点总是会导致调试器停在给定的代码行上。
条件断点包含每次到达断点时计算的表达式。仅当条件计算为True (任何非零,非空,非None值,如Python定义)时,调试器才会停止。您可以使用“ 调试”菜单的“ 断点选项”组中的“ 编辑 断点 条件...”项 ,通过右键单击断点或“ 断点”工具来编辑任何现有断点的条件。
临时断点在第一次遇到后会自动删除。未来的调试会话不会保留断点记录。
断点属性
一旦定义了断点,您可以通过多种方式对它们进行操作以改变它们的行为。“ 调试”菜单,断点边框的右键单击上下文菜单以及“ 断点”工具中提供了以下操作:
忽略计数会忽略给定次数的断点。调试器只有在比这更频繁地到达时才会停止。每次新的调试运行时,忽略计数都会重置为其原始值。使用“ 断点”工具监视将忽略断点的剩余次数。
禁用/启用可用于临时禁用并随后重新启用断点。在重新启用之前,将忽略任何已禁用的断点。
断点工具
“ 工具”菜单中提供的“断点”工具显示所有当前定义的断点的列表。提供以下数据列:
如果启用了断点,则检查Enabled。
Location提供设置断点的文件和行号。
条件列出了断点必须为true的条件,以使调试进程停止。如果断点不是有条件的,则为空。
临时如果断点是一个临时的一次性断点检查。
忽略表示断点在导致调试器停止之前应被忽略的次数。
Ignores Left表示当前调试过程中为断点留下的忽略数。
Hits显示当前调试过程中达到断点的次数(如果有)。
通过单击列表可以编辑大多数这些值。要删除选定的断点,请按Delete键。
要访问断点所在的文件和行号,请在列表中双击它,或从右键单击上下文菜单中选择“ 显示 断点 ”。此上下文菜单中还提供了其他编辑选项。
断点边距的键盘修饰符
单击断点边距将切换为插入常规断点或删除现有断点。您还可以按住Shift键单击以插入条件断点,然后按住Control键单击以插入断点并为其设置忽略计数。
当在行上找到断点时,shift-click将禁用或启用它,control-click将设置其忽略计数,shift-control-click将设置或编辑断点条件。
∨ 展开