Navegación de código en PyCharm

Atajos de teclado de navegación de código

Dominar los atajos de teclado te permite moverte rápidamente por el código y despedirte de la dependencia del mouse.

A continuación se muestran los atajos de navegación más utilizados en el desarrollo diario.

Atajos de navegación principales

Función Windows/Linux macOS Descripción
Ir a la definición Ctrl+B Cmd+B Ir a la ubicación de la definición de una variable, función o clase
Buscar referencias Alt+F7 Alt+F7 Buscar todas las posiciones donde se referencia el símbolo actual en el proyecto
Búsqueda global Pulsar Shift dos veces Pulsar Shift dos veces Buscar archivos, clases, símbolos, acciones y cualquier otro contenido
Archivos recientes Ctrl+E Cmd+E Abrir la lista de archivos editados recientemente
Retroceder a la posición anterior Ctrl+Alt+Left Cmd+[ Volver a la posición anterior del cursor
Avanzar a la siguiente posición Ctrl+Alt+Right Cmd+] Avanzar a la siguiente posición del cursor
Ir a la línea Ctrl+G Cmd+L Ingresar el número de línea para saltar directamente
Buscar archivo Ctrl+Shift+N Cmd+Shift+O Buscar y abrir archivos por nombre
Estructura del archivo Ctrl+F12 Cmd+F12 Mostrar la lista de clases y métodos del archivo actual

Pulsar Shift dos veces: búsqueda global

Pulsar Shift dos vecesEs la función de búsqueda más potente de PyCharm.

Puede buscar archivos, nombres de clases, símbolos, operaciones del IDE y cualquier otro contenido, cubriendo casi cualquier necesidad de navegación.

Método de uso:

  • Presiona rápidamente dos veces la tecla Shift para abrir el cuadro de diálogo Search Everywhere.
  • Ingresa una palabra clave para ver todos los resultados coincidentes.
  • Presiona Tab para cambiar entre diferentes categorías de búsqueda (All, Classes, Files, Symbols, Actions).

Pulsar Shift dos veces es el atajo que los principiantes deberían dominar primero; una vez que lo domines, podrás olvidarte de la tediosa búsqueda nivel por nivel en el árbol de archivos del proyecto.

Ctrl+B Ir a la definición

Coloca el cursor sobre una variable, nombre de función o nombre de clase, y presionaCtrl+Bpara saltar a su ubicación de definición.

Si mantienes presionada la tecla Ctrl, al pasar el mouse sobre el código también se mostrará un efecto de enlace en el que se puede hacer clic.

Ejemplo: en el siguiente código, coloca el cursor sobremy_funcy presiona Ctrl+B para saltar a la definición de la función.

Ejemplo

# Define una función simple
def my_func():
    """
Esta es la función de ejemplo del tutorial de Ejemplo.
    """

    print("EJEMPLO - Aprende la navegación rápida de PyCharm")

# Llama a la función: coloca el cursor sobre my_func y presiona Ctrl+B para ir a la definición
my_func()

Alt+F7 Buscar referencias

Coloca el cursor sobre el símbolo que deseas buscar y presionaAlt+F7para ver todas las ubicaciones donde se referencia ese símbolo en el proyecto.

Los resultados de búsqueda se muestran en la ventana de herramientas Find en la parte inferior; haz clic en un elemento para saltar a la ubicación correspondiente.


Formateo de código

Mantener un estilo de código consistente es una base importante para la colaboración en equipo.

PyCharm ofrece una función de formateo automático de código que con un solo clic deja el código uniforme y ordenado.

Formateo con atajo de teclado

UsaCtrl+Alt+L(Windows/Linux) oCmd+Option+L(macOS) para formatear el archivo actual.

Puedes seleccionar parte del código y presionar el atajo para formatear solo la porción seleccionada.

Configuración de reglas de formato

Las reglas de formato se pueden configurar enConfiguración > Editor > Estilo de código > Pythonen la configuración.

Los elementos configurables incluyen:

  • Tamaño de la sangría (4 espacios por defecto)
  • Sangría con tabulador o espacios (se recomienda usar espacios)
  • Número máximo de caracteres por línea (120 por defecto)
  • Cantidad de líneas en blanco
  • Reglas de ordenación de declaraciones de importación

Comparación antes y después del formateo

Antes del formateo (sangría inconsistente, líneas en blanco desordenadas):

Ejemplo

# Código desordenado antes del formateo
def messy_function(x,y):
      result=x+y
    if result>10:
        print("El resultado es mayor que 10")
          print("Esta línea tiene una sangría incorrecta")

name="ejemplo"
print("Prueba",name)

Después del formateo (sangría uniforme, líneas en blanco normalizadas):

Ejemplo

# Código ordenado después del formateo
def messy_function(x, y):
    result = x + y
    if result > 10:
        print("El resultado es mayor que 10")
        print("Esta línea tiene una sangría incorrecta")


name = "ejemplo"
print("Prueba", name)

Antes de confirmar el código, presiona Ctrl+Alt+L para formatearlo; este es un buen hábito de programación.


Comentarios TODO

Los comentarios TODO son una práctica de marcar comentarios especiales para registrar el trabajo pendiente.

Agregar comentarios TODO

En el código Python, usa# TODOpara agregar comentarios de tareas pendientes.

Ejemplo

# Módulo de gestión de usuarios

class UserManager:
    """Administrador de usuarios"""

    def __init__(self, db_name="ejemplo_users"):
        self.db_name = db_name

    # TODO: Implementar la función de inicio de sesión de usuarios
    def login(self, username, password):
        pass

    # TODO: Agregar lógica de validación de entrada
    # TODO: Considerar el uso de bcrypt para cifrar contraseñas
    def register(self, username, password):
        """Registrar nuevo usuario"""
        # Actualmente es una implementación simplificada, solo imprime un aviso
        print(f"Registrar usuario: {username}")

    # FIXME: Esta línea de código falla en casos especiales, necesita corrección
    def delete_user(self, user_id):
        """Eliminar usuario"""
        print(f"Eliminar usuario ID: {user_id}")

    # NOTE: El siguiente método depende de una API externa, requiere conexión a internet
    def sync_data(self):
        """Sincronizar datos"""
        pass

Tipos de etiquetas TODO

PyCharm reconoce por defecto los siguientes tipos de etiquetas de comentario especiales:

Etiqueta Uso
TODO Marca el trabajo que se debe completar
FIXME Marca los problemas que se deben corregir
NOTE Agrega notas importantes

Ver la lista de TODO

En el área de la ventana de herramientas, haz clic enTODOpestaña para abrir la ventana de herramientas TODO.

Esta ventana muestra de forma centralizada todos los comentarios TODO, FIXME y NOTE del proyecto, y admite filtrar por ámbito.

Puedes configurar el ámbito del filtro:

  • Current File: muestra solo los comentarios TODO del archivo actual
  • Scope Based: filtra según un ámbito personalizado
  • All Places: muestra todos los comentarios TODO del proyecto

Haz doble clic en un elemento TODO para saltar a la línea de código correspondiente.

Usar bien los comentarios TODO puede hacer que el proceso de desarrollo sea más organizado y no se omita ninguna tarea pendiente.


Función de marcadores

La función de marcadores te permite marcar posiciones importantes en el código para saltar rápidamente.

Agregar marcadores

Coloca el cursor en la línea de código que deseas marcar y presionaF11para agregar un marcador anónimo.

Una vez agregado, se mostrará una marca de verificación en el lado izquierdo de la línea.

segúnCtrl+F11Puedes agregar marcadores numéricos o alfabéticos; en la ventana emergente elige 0-9 o A-Z como identificador del marcador.

Ejemplo

# Archivo de configuración del proyecto
# Agrega un marcador aquí para localizar rápidamente la configuración clave

DATABASE_CONFIG = {
    "host": "localhost",  # Presiona F11 para agregar un marcador
    "port": 5432,         # Presiona Ctrl+F11 y elige el número 1 para agregar un marcador numerado
    "name": "ejemplo_db",
    "user": "admin",
}

# Definición de constantes clave, se puede agregar un marcador aquí
MAX_CONNECTIONS = 100     # Presiona Ctrl+F11 y elige el número 2 para agregar un marcador numerado
TIMEOUT_SECONDS = 30

Ver y administrar marcadores

segúnShift+F11Abrir la ventana de lista de marcadores para ver todos los marcadores añadidos.

En la ventana de lista de marcadores:

  • Haz doble clic en una entrada de marcador para saltar a la ubicación correspondiente
  • El clic derecho permite eliminar o renombrar marcadores
  • Admite filtrado por categorías con casillas de verificación (marcadores anónimos y marcadores numerados)

Los marcadores numerados también se pueden usar medianteCtrl+teclas numéricaspara saltar directamente sin abrir la lista de marcadores.

En proyectos grandes, los marcadores son una herramienta excelente para rastrear múltiples ubicaciones importantes de código; se recomienda adquirir el hábito de usarlos.


Complemento de técnicas de edición

Además de las funciones anteriores, los siguientes trucos de edición también pueden mejorar la eficiencia del desarrollo diario.

Edición con múltiples cursores

Mantén presionadaAltla tecla sin soltarla; haz clic con el mouse en varias posiciones para editar varias líneas de código a la vez.

También puedes usarCtrl+Shift+Alt+clicpara colocar el cursor en cualquier posición.

Mover bloques de código

Después de seleccionar un bloque de código, presionaCtrl+Shift+Up/Downpuedes mover el bloque de código completo hacia arriba o hacia abajo.

Sin necesidad de cortar y pegar, puedes reajustar rápidamente la posición de una línea de código o de un método completo.

Copiar línea completa

Coloca el cursor en una línea (sin necesidad de seleccionar) y presionaCtrl+Dpara copiar la línea completa.

Es un atajo de teclado de uso muy frecuente; se recomienda empezar a usarlo de inmediato.

Eliminar línea completa

Coloca el cursor en una línea y presionaCtrl+Ypara eliminar la línea completa.

En comparación con seleccionar y luego presionar Delete, esta operación es mucho más rápida.


Resumen rápido de atajos de teclado

La siguiente tabla resume todos los atajos de teclado cubiertos en este capítulo; se recomienda imprimirla o guardarla para consultarla en cualquier momento.

Operación Windows/Linux macOS
Ir a la definición Ctrl+B Cmd+B
Buscar referencias Alt+F7 Alt+F7
Búsqueda global Pulsar Shift dos veces Pulsar Shift dos veces
Archivos recientes Ctrl+E Cmd+E
Atrás/Adelante Ctrl+Alt+Left/Right Cmd+[/]
Ir a la línea Ctrl+G Cmd+L
Buscar archivo Ctrl+Shift+N Cmd+Shift+O
Estructura del archivo Ctrl+F12 Cmd+F12
Formato de código Ctrl+Alt+L Cmd+Option+L
Agregar marcador F11 F11
Marcador numérico Ctrl+F11 Cmd+F11
Lista de marcadores Shift+F11 Shift+F11
Copiar línea completa Ctrl+D Cmd+D
Eliminar línea completa Ctrl+Y Cmd+Delete

No es necesario memorizar todos estos atajos de una sola vez; se recomienda empezar con "pulsar Shift dos veces" y practicar dos o tres cada día.

Después de usarlos continuamente durante algunas semanas, descubrirás que tu eficiencia de codificación mejora de forma cualitativa.

Otras extensiones