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年前の投稿者も同じ問題を抱えていたのだろうか?