[英]A rather naff limitation of ropemacs encountered with multiple name bindings
在我對同一對象使用多個名稱綁定的地方, ropapmacs帶來了一些令人失望的完成和最終定義結果。
考慮下面我提出的,受到樣式挑戰的示例代碼,有誰知道為什么繩子不會顯示完成或確定結果?
項目代碼示例:
from Package import BigObjectWithLotsOfMethods
class GLOBAL:
variable = None
big = BigObjectWithLotsOfMethods()
GLOBAL.variable = big
有問題的Emacs行為:
當我輸入:
big.
然后鍵入M- / ,得到預期的候選方法名稱列表。 為繩索萬歲!
另一方面,當我輸入時:
GLOBAL.variable.
例如,然后鍵入M- /,我在Emacs迷你緩沖區中得到以下信息:
Completions for GLOBAL.variable.: [No Match]
此外,請想象fire()
是BigObjectWithLotsOfMethods
的方法,然后在代碼GLOBAL.variable.fire()
上鍵入Cc g並不能像預期的那樣帶我去定義fire()
,而只是在Emacs迷你緩沖區中輸出以下內容:
Cannot find the definition!
由於GLOBAL.variable
只是表示綁定到BigObjectWithLotsOfMethods
實例的另一個名稱,所以我感到驚訝的是,繩索沒有做任何聰明的事情,例如從對big
了解中推斷出定義。
問題:
為什么在存在多個名稱綁定的情況下,對代碼自省的如此明顯的微不足道的支持無法發揮作用? 例如,我是否在繩索項目配置中缺少一些基本的解決方案?
非常感謝任何幫助。
可以想象,由於您正在引入一種間接方式,因此這種繩索不再是明智的。
請注意,我有一段時間沒有玩過Rope了,因為我發現Rope的作用遠不止於此。 也有點慢。 通常在emacs上將M-/
與pyflakes / flymake結合使用。 ( M-/
缺點是您必須第一次鍵入該方法)。 當然,如果Rope開始提供更多的轟鳴聲並降低成本,我可能會想重新考慮一下。
我想知道py-dev和pycharm引擎是否足夠智能以處理該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.