Edición de código en PyCharm
PyCharm, como IDE profesional de Python, ofrece potentes funciones de edición de código.
Este capítulo detalla las funciones principales de edición de código, incluyendo autocompletado inteligente, atajos de teclado, refactorización de código y otras técnicas de desarrollo eficientes.
Funciones básicas de edición
Autocompletado de código (Code Completion)
PyCharm ofrece múltiples modos de autocompletado inteligente:
| Tipo de autocompletado | Método de activación | Descripción |
|---|---|---|
| Autocompletado básico | Ctrl + Space(Win/Linux)⌘ + Space(Mac) |
Muestra sugerencias de variables, funciones, clases, etc. |
| Autocompletado inteligente por tipo | Ctrl + Shift + Space |
Recomienda tipos más precisos según el contexto |
| Autocompletado de nombres de archivo | Se activa automáticamente al escribir rutas | Completa rápidamente rutas de archivo |
| Autocompletado de plantillas dinámicas | Escriba la abreviatura (por ejemplo,main + Tab) |
Genere rápidamente fragmentos de código (por ejemplo,if __name__ ==...) |
Escribaim + Tab→ se autocompleta comoimport:

Escribafor + Tab→ genera unforestructura de bucle:

Resaltado de sintaxis (Syntax Highlighting)
PyCharm colorea automáticamente los elementos del código:
-
Palabras clave(
def,class): azul -
Cadenas: verde
-
Comentarios: gris
-
Sintaxis con errores: subrayado ondulado rojo
Resaltado personalizado:
-
设置 → 编辑器 → 配色方案(Color Scheme) -
Ajustar el color de los elementos de sintaxis de Python

Plegado de código (Code Folding)
| Operación | Atajo (Win/Linux) | Atajo (Mac) |
|---|---|---|
| Plegar el bloque de código actual | Ctrl + - |
⌘ + - |
| Desplegar el bloque de código actual | Ctrl + + |
⌘ + + |
| Plegar todos los bloques de código | Ctrl + Shift + - |
⌘ + Shift + - |
| Desplegar todos los bloques de código | Ctrl + Shift + + |
⌘ + Shift + + |
Al mover el mouse al lado izquierdo del área de código del editor, puede ver una flecha hacia abajo; haga clic en ella para plegar también:

Estructuras de código que admiten plegado:
-
Funciones/métodos
-
Definiciones de clase
-
Comentarios multilínea
-
Grupos de sentencias de importación
Atajos de teclado y operaciones eficientes
Tabla de referencia rápida de atajos comunes
| Función | Atajo (Win/Linux) | Atajo (Mac) |
|---|---|---|
| Copiar la línea actual | Ctrl + D |
⌘ + D |
| Eliminar la línea actual | Ctrl + Y |
⌘ + Delete |
| Mover línea | Alt + Shift + ↑/↓ |
⌥ + ⇧ + ↑/↓ |
| Sugerencias de corrección rápida | Alt + Enter |
⌥ + Enter |
| Ir a la definición | Ctrl + B |
⌘ + B |
| Ver sugerencias de parámetros | Ctrl + P |
⌘ + P |
Edición multilínea y operaciones por lotes
Modo de selección por columnas (Column Selection)
-
Mantenga presionado
Alt(Win) o⌥(Mac) + arrastrar el mouse -
o use
Alt + Shift + Insertpara alternar el modo de columnas
Escenarios de aplicación:
# 批量修改多个变量前缀 old_name = 1 → new_name = 1 old_value = 2 → new_value = 2
Edición con múltiples cursores
-
Mantenga presionado
Alt+ clic del mouse (agregar múltiples cursores) -
o
Ctrl + G(Win)/⌘ + G(Mac) seleccionar la misma palabra
Formateo de código y refactorización
Formateo automático de código
-
Formatear el archivo actual:
-
Ctrl + Alt + L(Win/Linux) -
⌥ + ⌘ + L(Mac)
-
-
Formatear el código seleccionado:
-
Seleccionar código → clic derecho →Reformat Code
-
Configurar reglas de formateo: 设置 → 编辑器 → 代码样式 → Python

Renombrar variables/funciones (refactorización segura)
-
Seleccione el identificador (nombre de variable/función)
-
Clic derecho → Refactor → Rename
-
o atajo
Shift + F6 -
Ingrese el nuevo nombre → presione
Enter
Efecto:
-
Todos los lugares que referencian el identificador se actualizan sincrónicamente
-
Admite renombrar entre archivos
Extraer método (Extract Method)
Extraer el fragmento de código seleccionado como un nuevo método:
-
Seleccione el bloque de código
-
Ctrl + Alt + M(Win)/⌘ + ⌥ + M(Mac) -
Ingrese el nombre del método → confirmar
Ejemplo
def process_data(data):
cleaned = []
for item in data:
if item.is_valid(): # ← Seleccione esta parte del código
cleaned.append(item)
return cleaned
# Después de extraer
def process_data(data):
cleaned = []
for item in data:
if is_valid_item(item):
cleaned.append(item)
return cleaned
def is_valid_item(item): # ← Nuevo método generado automáticamente
return item.is_valid()
En línea (Inline)
Insertar en línea el método/variable en el lugar de la llamada:
-
Coloque el cursor en el nombre del método/variable
-
Ctrl + Alt + N(Win)/⌘ + ⌥ + N(Mac)
# 内联前
def calculate_discount(price):
return price * 0.9
total = calculate_discount(100) # ← 光标在此行
# 内联后
total = 100 * 0.9 # ← 方法调用被替换为实际代码
Técnicas avanzadas de edición
Plantillas en vivo (Live Templates)
Generar rápidamente patrones de código comunes:
-
Escriba la abreviatura (por ejemplo,
iter) → presioneTab -
Plantillas predefinidas:
-
main→ generaif __name__ == '__main__' -
try→ genera un bloque try-except completo
-
Plantillas personalizadas:Ajustes → Editor → Plantillas en vivo

Al escribir iter en el editor de código, se muestra la información de la plantilla:

Acciones de intención de código (Alt+Enter)
Corregir u optimizar rápidamente el código según el contexto:
-
Importar automáticamente paquetes faltantes
-
Convertir formato de cadenas (f-string / format)
-
Optimizar expresiones condicionales
Operación: coloque el cursor en la advertencia/sugerencia →Alt + Enter

Resumen: Flujo de trabajo de edición eficiente
-
Fase de escritura:
-
Use el autocompletado de código (
Ctrl + Space) para escribir rápidamente -
Use plantillas dinámicas para generar estructuras repetitivas
-
-
Fase de optimización:
-
Formatee el código (
Ctrl + Alt + L) -
usar
Alt + EnterCorrija problemas rápidamente
-
-
Fase de refactorización:
-
Extraer método (
Ctrl + Alt + M) -
Renombrar de forma segura (
Shift + F6)
-