Wing IDE是一个集成开发环境,可用于编辑、测试和调试使用PyGObject为GTK编写的Python代码。Wing IDE提供自动完成、调用提示、一个强大的调试器,以及许多其他功能,可帮助用户编写、浏览和理解Python代码。

自动完成

PyGObject使用惰性装载功能来加速启动基于它的应用程序。这可以防止Wing IDE的分析引擎检查PyGObject覆盖的API导致IDE不能提供自动完成功能。

为了解决这一问题,可以使用Fakegir,它是一个构建假的PyGObject模块Python程序包的工具,可以放置到定义在Wing IDE项目属性的Python路径。

Fakegir的README.md提供了使用细节。

因为Wing IDE不仅在编辑中使用配置的Python路径,还在调试或执行代码时使用配置的Python路径,所以在导入任何PyGObject-provided模块之前,需要从sys.path中消除假模块目录:

import sys, os
kFakegirCache = os.path.join(os.path.expanduser('~'), '.cache/fakegir/')
if kFakegirCache in sys.path:
sys.path.remove(kFakegirCache)

完成上述操作之后,Wing IDE将会对所有的PyGObject-provided模块提供自动完成,并应该能够不中断的执行和调试代码。

Wing IDE最新版官方推荐免费下载地址

Python开发环境Wing IDE如何使用GTK和PyGObject的更多相关文章

  1. Python开发环境Wing IDE的Blender的Python代码调试技巧

    Wing IDE是一个集成开发环境,可用于开发.测试和调试为Blender编写的Python代码,Blender是一个开源的3 D内容创建系统.Wing IDE提供自动完成.调用提示.强大的调试器.以 ...

  2. Python开发环境Wing IDE使用教程之matplotlib 2D绘图库代码调试技巧

    Wing IDE是一个集成开发环境,可用于加快matplotlib2D图形库的Python代码的编写和调试进程.Wing IDE提供自动完成.调用提示.调试器,以及许多其他功能,可帮助用户编写.浏览和 ...

  3. Python开发环境Wing IDE 5.0测试第八版发布

    Wing IDE是著名的Python开发工具,是Wingware公司的主要产品.从1999年起,Wingware公司便开始专注于Python开发设计.Wing IDE在十几年的发展中,不管完善.其强大 ...

  4. Python开发环境Wing IDE使用教程:部分调试功能介绍

    下面是用户应该了解的Wing IDE的其它一些调试功能: Main Debug File—用户可以指定项目中的一个文件作为调试的主入口点.当完成这个设置之后,调试总是从这个文件开始,除非用户使用Deb ...

  5. Python开发环境Wing IDE之Search in Files工具详解

    Search in Files工具是Wing IDE中最强大的搜索选项.它支持磁盘.项目,打开编辑器,或其它文件集的多文件批量搜索.它还可以使用通配符搜索,并可以做基于正则表达式的搜索/替换. 建议用 ...

  6. Python开发环境Wing IDE如何检查Python集成

    在使用Wing IDE开始代码编辑之前,必须先确保Wing IDE已经成功地找到用户的Python安装位置(如果用户同时安装有多个版本,那么Wing IDE将有限选择最新版).要对这个进行检查,需要调 ...

  7. Python开发环境Wing IDE搜索工具介绍

    Wing IDE编辑器的搜索工具提供了一个基于友好GUI的搜索和替换工具. 某些情况下搜索可能会跨越整个文件,也有可能被限制到当前所选择的区域:可以区分大小写,也可以设置为不区分:可以被限制为只匹配整 ...

  8. Python开发环境Wing IDE设置Python路径详解

    在使用Wing IDE的时候,Python源代码取决于PYTHONPATH(无论是外部或通过内部改变sys.path系统设置),用户需要将路径设置到Wing IDE中. 这个值可以从项目菜单和工具栏的 ...

  9. Python开发环境Wing IDE如何进行命令行调试

    Wing IDE专业的调试探针提供了一种强大的方法来发现和解决复杂的错误.这很像Python Shell但允许用户直接参与进已经暂停的调试程序中: 通过键入在刚才发生异常的地方键入下列数值进行尝试: ...

随机推荐

  1. C语言数据结构-循环队列的实现-初始化、销毁、清空、长度、队列头元素、插入、删除、显示操作

    1.数据结构-循环队列的实现-C语言 #define MAXSIZE 100 //循环队列的存储结构 typedef struct { int* base; //基地址 int _front; //头 ...

  2. P1979 华容道

    题意:$n*m$棋盘上$n*m-1$颗棋子,有且只有一个格子为空白格子,每个棋子大小$1*1$ 有些棋子可以移动,而有些棋子固定,任何与空白的格子相邻(有公共的边)的格子上的棋子都可以移动到空白格子上 ...

  3. react 拆分组件于组件

    Todolist.js(这是父组件) import React, { Component,Fragment } from 'react'; import './style.css'; import T ...

  4. ubuntu下vnstat监控网卡流量

    vnstat使用 vnstat 是另一个可以用来监视带宽使用量的程序.它比ipac-ng更简单易用. vnstat的一个优点是它不是一个运行的守护程序,所以它几乎不占用内存.它由 cron 任务创建, ...

  5. ajax加载菊花loading效果

    Ajax异步请求的时候,一般都会利用一个动态的gif小图片来制作一个Ajax Loading,以便增加用户体验. 这里我们可以使用Spin.js,该js脚本压缩后5k,可以不用任何图片,任何外部CSS ...

  6. Vi编辑器和Vim编辑器的区别及联系

    Vi和Vim它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面,vi使用于文本编辑,但是vim更适用于coding.vim的这些优势主要体现在 ...

  7. python学习:python文件中空格和换行符的捕获和文本文件的转存

    0. 背景 之前公司的项目中,需要在嵌入式系统中实现一个http的网页端内容,由于项目历史遗留问题,公司是采用的将html文件转成c语言头文件的方式,每次修改页面端都需要从新编译一下程序,非常的繁琐. ...

  8. java课后思考问题(一)

    1.一个Java类文件中真的只能有一个共有类吗? 一个Java类文件中只能有一个公有类 2.请使用Eclipse或javac检测一下以下代码,有错吗? 在Java中,可以将一个类定义在另一个类里面或者 ...

  9. 虚拟机 --- windows传输文件到虚拟机内

    安装xftp 如果未安装的,可以点击上图红框的图标,会有链接....下载时记得选择school那一个身份,这是免费的...邮箱必须要写,因为下载链接会发送到你的邮箱里,如果没收到就换一个邮箱 下载完后 ...

  10. Cmder光标错位的问题&VSCode终端光标错位问题

    问题 本机中安装了 Cmder,几乎是0配置 ,同时在 VSCode 中设置默认终端为 Cmder,在 VSCode 中打开终端,显示如图: 这里光标实际的位置是 . 的后面,但是表现出来的是多一个空 ...