← Volver al listado de tecnologías

Capitulo 6: Git, Terminal y Depuracion en Zed

Por: SiempreListo
zededitorgitterminaldebugdapdepuracion

Capitulo 6: Git, Terminal y Depuracion

Zed integra Git, terminal y un depurador basado en DAP para que trabajes de principio a fin sin salir del editor.

Anterior: Capitulo 5: Colaboracion | Siguiente: Capitulo 7: Extensiones y Personalizacion

Git Integrado

Panel de Git

Abre el panel de Git con Ctrl+G G o desde la paleta de comandos > “git panel: toggle focus”.

El panel muestra:

Staging de Archivos

Hay varias formas de hacer staging:

Crear Commits

  1. Prepara los archivos en staging
  2. Escribe el mensaje de commit en el campo de texto
  3. Presiona Cmd+Enter / Ctrl+Enter para confirmar

Mensajes de Commit con IA

Zed puede generar mensajes de commit usando IA:

  1. Prepara tus cambios en staging
  2. Enfoca el campo de mensaje de commit
  3. Haz click en el icono de lapiz o ejecuta “git: generate commit message”
  4. El modelo analiza los diffs y propone un mensaje descriptivo

Requiere un proveedor de IA configurado (ver Capitulo 4).

Gestion de Ramas

AccionComando
Crear ramaPaleta > “git: branch”
Cambiar ramaPaleta > “git: switch”
Eliminar ramaDesde el selector de ramas

El selector de ramas muestra todas las ramas locales y remotas con busqueda fuzzy.

Diffs

Diff Inline

Los cambios se muestran directamente en el editor con indicadores en el margen:

Haz click en el indicador del margen para expandir el hunk y ver el cambio completo.

Project Diff

Abre una vista completa de todos los cambios del repositorio con Ctrl+G D o “project diff: deploy”.

El Project Diff muestra:

Inline Blame

Zed muestra la informacion de git blame en la linea actual: quien hizo el ultimo cambio, cuando y el mensaje del commit.

Historial de Archivo

Accede al historial de commits de un archivo individual desde la paleta > “file history”. Muestra autor, fecha y mensaje de cada commit. Selecciona un commit para ver su diff filtrado.

Resolucion de Conflictos

Cuando hay conflictos de merge, Zed muestra las regiones conflictivas con colores:

Tres opciones de resolucion:

Stashing

AccionComando
Stash allPaleta > “git: stash all”
Stash popPaleta > “git: stash pop”
Ver stashesDesde el panel de Git

Operaciones Remotas

AccionComando
FetchPaleta > “git: fetch”
PushPaleta > “git: push”
PullPaleta > “git: pull”

Si tienes multiples remotos, Zed te permite seleccionar cual usar.

Genera enlaces permanentes al codigo en servicios Git (GitHub, GitLab):

Terminal Integrada

Abrir la Terminal

AccionmacOSLinux/Windows
Toggle terminalCtrl+`Ctrl+`
Nueva terminalPaleta > “terminal: new”Paleta > “terminal: new”

Configuracion de Terminal

{
  "terminal": {
    "shell": {
      "program": "/bin/zsh"
    },
    "font_family": "JetBrains Mono",
    "font_size": 13,
    "line_height": "comfortable",
    "working_directory": "current_project_directory",
    "blinking": "on",
    "env": {
      "EDITOR": "zed --wait"
    }
  }
}

Funcionalidades de la Terminal

Usar Zed como Editor por Defecto

Configura Zed como tu editor de terminal para git y otros comandos:

# En .bashrc o .zshrc
export EDITOR="zed --wait"
export VISUAL="zed --wait"

Esto permite que git commit (sin -m) abra Zed para escribir el mensaje.

Depuracion con DAP

Zed incluye un depurador basado en el Debug Adapter Protocol (DAP) que soporta multiples lenguajes.

Lenguajes Soportados

Soporte nativo (incluido)

Via extensiones

Configuracion del Depurador

Crea un archivo .zed/debug.json en la raiz de tu proyecto:

Ejemplo para Rust

[
  {
    "label": "Debug binary",
    "adapter": "codelldb",
    "request": "launch",
    "program": "${workspaceFolder}/target/debug/mi-app",
    "cwd": "${workspaceFolder}",
    "build": {
      "task_name": "cargo build"
    }
  }
]

Ejemplo para Python

[
  {
    "label": "Debug Python",
    "adapter": "debugpy",
    "request": "launch",
    "program": "${workspaceFolder}/main.py",
    "cwd": "${workspaceFolder}"
  }
]

Ejemplo para Node.js

[
  {
    "label": "Debug Node",
    "adapter": "js-debug",
    "request": "launch",
    "program": "${workspaceFolder}/src/index.ts",
    "cwd": "${workspaceFolder}"
  }
]

Ejemplo para Go

[
  {
    "label": "Debug Go",
    "adapter": "go",
    "request": "launch",
    "program": "${workspaceFolder}",
    "cwd": "${workspaceFolder}"
  }
]

Iniciar una Sesion de Debug

  1. Configura tu archivo .zed/debug.json
  2. Presiona F4 o ejecuta “debugger: start” desde la paleta
  3. Selecciona la configuracion de debug
  4. El depurador inicia y se detiene en los breakpoints

Breakpoints

TipoDescripcion
NormalClick en el margen del editor para añadir/quitar
CondicionalSe activa solo si una condicion es verdadera
Log pointImprime un mensaje sin detener la ejecucion
Hit countSe activa despues de N ejecuciones
ExceptionSe detiene cuando ocurre una excepcion

Controles de Ejecucion

AccionAtajo
ContinuarF5
Step Over (siguiente linea)F10
Step Into (entrar en funcion)F11
Step Out (salir de funcion)Shift+F11
DetenerShift+F5

Inspeccion de Variables

Durante la depuracion, Zed muestra:

Launch vs Attach

[
  {
    "label": "Attach to Node",
    "adapter": "js-debug",
    "request": "attach",
    "port": 9229
  }
]

Anterior: Capitulo 5: Colaboracion | Siguiente: Capitulo 7: Extensiones y Personalizacion