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
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
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
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
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
# 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