LoginSignup
0
0

More than 5 years have passed since last update.

PyCharmでPyObjCライブラリの自動補完は今できない

Last updated at Posted at 2018-12-07

2018/12/7現在はPyObjCに関する関数を自動補完できない.

PyObjCって

Objective-cをpythonで扱えるライブラリ(?)
Introduction - PyObjC - the Python to Objective-C bridge

Apple Developerで提供されるAppKitとかをPythonで利用できる.
つまりMacのウィンドウ操作とかをPythonでできる.

例えば:

# アクティブ(最前面)ウィンドウの名前を表示する
from AppKit import NSWorkspace
activeWindow = NSWorkspace.sharedWorkspace().frontmostApplication()
print(activeWindow.localizedName())

自動補完(Autocomplete)が使えない

PyCharmの魅力の1つは,ライブラリの関数名を途中まで打つと候補が表示される&補完できること.

例えばosライブラリをインポートしておいて「os.pathl」と打てばos.PathLike()を補完できる.
入力が小文字でも直してくれる優しい自動補完.

しかし,PyObjCライブラリでは自動補完してくれない

それどころか上のコード例だとAppKitの存在すら教えてくれない
当然from AppKit import NSWorkspaceと打っておいても,エディタからは「そんなモジュールは無い」と怒られ続ける(でもちゃんと動く).

ちなみにAppKitだけでなくQuartzやFoundationも全滅.
正しく書けば動くので,自動補完なしで頑張るしかない…

問題は知られている

PyObjCでは既に議論されていた

どうやらPyCharm側に問題があるとか.
PyCharm issues with PyObjC - bitbucket/Ronald Oussoren/pyobjc

※#211で問題提起され,この#212で課題として出された?

PyCharmコミュニティにも投稿されている模様

Autocomplete for PyObjC in PyCharm - IDEs Support (IntelliJ Platform) | JetBrains

I have a number of reports that PyCharm autocomplete does not work for PyObjC (Python bindings for Apple Objective-C frameworks on macOS) and I wonder what I can do to ensure working autocomplete for my users.

google翻訳:PyChartオートコンプリートがPyObjC(MacOSのApple Objective-CフレームワークのPythonバインディング)で動作しないという報告がいくつかありますが、私は自分のユーザーのオートコンプリートを確実にするために何ができるのだろうかと思います。

JetBrainsのissueにも投稿されている

Provide support for pyobjc - JetBrains Bug & Issue Tracker YouTrack 2018.3

4年前の投稿者も同じ問題を抱えていたのだろうか?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0