簡體   English   中英

帶有多個名稱綁定的ropmacs的一個相當naff限制

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM