python - puedo - ¿Cómo hacer que PyCharm complete automáticamente el código en los métodos?
no puedo escribir en pycharm (4)
Cuando estoy usando una biblioteca de terceros como Boto, PyCharm parece ser capaz de autocompletar bastante bien
Sin embargo, tan pronto como defino una función propia, la función de autocompletar se descompone dentro de esa función. Entiendo por qué, ya que no puedo dar a la función ningún tipo de información sobre sus argumentos, por lo que no puedo adivinar cómo completar automáticamente. ¿Hay alguna manera de evitar este problema?
Editar
Intenté usar la cadena de documentos (para Python 2), pero aún no he completado el autocompletar
def delete_oldest_backups(conn, backups_to_keep, backup_description):
"""
delete_oldest_backups(EC2Connection, int, string)
"""
(También probé boto.ec2.connection.EC2Connection
lugar de solo EC2Connection
)
Para que PyCharm reconozca una instancia de un objeto y recupere todos sus métodos, tenemos que usar las siguientes declaraciones. Pero creo que ambas son una forma terrible de perder programación y tiempo de ejecución.
assert isinstance(instanceX, ClassOfInstanceX)
instanceX.{#list of method/properties appears}
Alternativamente, también puede usar el nombre de la clase. Recordará el método o la propiedad cada vez que quiera invocarlo y pase la instancia al parámetro automático. Pero esto es demasiado detallado, para mi gusto, especialmente para la clase anidada
ClassOfInstanceX.{#list of method/properties appears}
# then you will have...
ClassOfInstance.method(instanceX, args...)
Puede especificar la información de tipo sobre los parámetros de la función utilizando el parámetro Python 3 y las anotaciones de valor de retorno. Si está utilizando Python 2, también puede especificar información en la cadena de documentos de la función. PyCharm entiende el formato utilizado por las cadenas de documentación de módulos binarios en la biblioteca estándar, por ejemplo:
"""
foo(int, string) -> list
Returns the list of something
"""
Puede instalar la biblioteca a través de "Administrador de paquetes" de pyCharm.
Vaya a Configuración -> Intérprete de proyecto -> Intérpretes de Python
Y en la lista de Paquetes, haga clic en instalar y busque la biblioteca que desea instalar
Una vez instalado, el autocompletado estará disponible en el editor.
Espero que esto sea lo que buscas.
Puede utilizar sugerencias de tipo: http://www.jetbrains.com/pycharm/webhelp/type-hinting-in-pycharm.html
def some_method(self, conn):
"""
@type conn: EC2Connection
"""
conn.<autocomplete>