PyCharm - autocomplete for Gtk3 magically stops wo

2019-04-07 07:51发布

I have this weird problem - I'm learning Gtk3 on Windows 7 with PyCharm Community 3.4.1. When I try to import Gtk:

from gi.repository import Gtk

it underlines Gtk as unresolved reference, becouse it's a binary module. Then I press Alt+Enter and choose "Generate methon stubs for binary module..." and wait until it it finishes indexing. Then I happily write this simple empty window with autocomplete working correctly:

class Okienko(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title='Okienko')

app = Okienko()
app.connect('delete-event', Gtk.main_quit)
app.show_all()
Gtk.main()

I run it, it shows me a nice empty Gtk window. So far so good.

BUT.

Bad things happen - autocomplete for Gtk module simply vanishes! from gi.repository import Gtk gets underlined red and autocomplete gives me just names which I've previously used (Window and main in this case). The only thing I can do is to Invalidate cache and restart Pycharm and go over this procedure again... I also tried .NET classes in IronPython - it's even worse, indexing takes several minutes and doesn't even finish.

2条回答
家丑人穷心不美
2楼-- · 2019-04-07 08:33

I had the same issue and found out that the Gtk.py file is too big for IDE file size limit allowed by PyCharm. I changed the config value "idea.max.intellisense.filesize" in idea.properties from 2500 to 10000. The stub generation takes some time but finishes now.

Hope that helps even Windows users. Feedback appreciated.

查看更多
Summer. ? 凉城
3楼-- · 2019-04-07 08:45

In PyCharm community edition 3.4.1 (mint 17), to make Gtk3 autocompletion works:

  1. In file: "pycharm.community-3.4.1/bin/idea.properties" comment the line: "idea.max.intellisense.filesize=2500"
  2. Restart the IDE
  3. In your code: from gi.repository import Gtk strike Alt-Enter and select "Generate stubs for binary module"
查看更多
登录 后发表回答