簡體   English   中英

如何讓PyCharm自動完成方法中的代碼?

[英]How to get PyCharm to auto-complete code in methods?

當我使用像boto這樣的第三方圖片時,PyCharm似乎能夠很好地自動完成

在此輸入圖像描述

但是,只要我定義了自己的函數,自動完成就會在該函數內部發生故障。 我理解為什么,因為我不能給函數任何關於它的參數的類型信息,所以它無法猜測如何自動完成。 有沒有解決這個問題的方法?

編輯

我嘗試使用docstring(對於Python 2),但仍然沒有自動完成

def delete_oldest_backups(conn, backups_to_keep, backup_description):
    """
    delete_oldest_backups(EC2Connection, int, string)
    """

(也嘗試了boto.ec2.connection.EC2Connection而不僅僅是EC2Connection

您可以使用類型提示: http//www.jetbrains.com/pycharm/webhelp/type-hinting-in-pycharm.html

 def some_method(self, conn):
   """
   @type conn: EC2Connection
   """
   conn.<autocomplete>

您可以使用Python 3參數和返回值注釋指定有關函數參數的類型信息。 如果您使用的是Python 2,則還可以在函數的docstring中指定信息。 PyCharm理解標准庫中二進制模塊的文檔字符串使用的格式,例如:

"""
foo(int, string) -> list

Returns the list of something
"""

您可以通過pyCharm“package manager”安裝庫。

轉到設置 - >項目解釋器 - > Python解釋器

包裹清單

在Packages列表中,單擊install並搜索要安裝的庫

安裝包

安裝完成后,編輯器將提供自動完成功能。

自動填充內部功能

希望這是你正在尋找的。

為了使PyCharm能夠識別對象的實例並檢索其所有方法,我們必須使用以下語句。 但我認為兩者都是浪費編程和運行時間的可怕方式。

assert isinstance(instanceX, ClassOfInstanceX)  
instanceX.{#list of method/properties appears}

或者,您也可以使用類名稱在每次調用它時調用方法或屬性,並將實例傳遞給self參數。 但這對於我的喜好來說太冗長了,尤其是對於嵌套類

ClassOfInstanceX.{#list of method/properties appears}
     # then you will have...
ClassOfInstance.method(instanceX, args...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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