GitSight — Git superpoderes 100 % gratis para VS CodeGitSight es una extensión gratuita y de código abierto (MIT) inspirada en el tipo de herramientas como GitLens: te muestra quién cambió cada línea, cuándo y por qué, y te da vistas completas del historial, ramas, stashes, worktrees y un grafo de commits interactivo.
FuncionalidadesEn el editor
Vistas laterales (icono GitSight en la barra de actividades)
Cada commit se expande para ver sus archivos; un clic abre el diff. Grafo de commits (
|
| Atajo | Acción |
|---|---|
Alt+B |
Activar/desactivar blame del archivo |
Alt+H |
Activar/desactivar heatmap |
Alt+C |
Mostrar commit de la línea actual |
Alt+, |
Abrir cambios con la revisión anterior |
Ctrl+Alt+G / Cmd+Alt+G |
Abrir grafo de commits |
Todo está también en la paleta de comandos (GitSight: …) y en el menú contextual del editor → GitSight.
Configuración
| Ajuste | Por defecto | Descripción |
|---|---|---|
gitsight.currentLine.enabled |
true |
Blame al final de la línea actual |
gitsight.currentLine.format |
${author}, ${agoOrDate} • ${message} |
Tokens: ${author}, ${email}, ${date}, ${ago}, ${agoOrDate}, ${message}, ${sha}, ${shortSha} |
gitsight.statusBar.enabled |
true |
Blame en la barra de estado |
gitsight.statusBar.format |
$(git-commit) ${author}, ${ago} |
Mismo formato, admite codicons |
gitsight.hovers.enabled |
true |
Hovers con detalles del commit |
gitsight.hovers.currentLineOnly |
true |
Hover solo sobre la anotación de la línea actual |
gitsight.codeLens.enabled |
true |
CodeLens de autoría |
gitsight.codeLens.scope |
symbols |
document o symbols |
gitsight.dateStyle |
relative |
relative o absolute |
gitsight.dateFormat |
"" |
Formato absoluto (YYYY-MM-DD HH:mm); vacío = idioma del sistema |
gitsight.heatmap.hotColor / coldColor |
#f66a0a / #0a60f6 |
Colores del heatmap |
gitsight.heatmap.ageThresholdDays |
90 |
Días para considerar un cambio "caliente" |
gitsight.views.maxCommits |
200 |
Commits cargados por página |
gitsight.baseBranches |
["main","master","trunk","develop","development","dev"] |
Ramas principales, por prioridad, usadas para deducir de qué rama partió cada commit |
gitsight.remotes.custom |
[] |
Proveedores para dominios propios |
Instalación
Desde GitHub Releases (recomendado)
- Descarga el
.vsixde la última versión en Releases. code --install-extension gitsight-X.Y.Z.vsix(o en VS Code: Extensiones →…→ Instalar desde VSIX…).
Desde el código
git clone https://github.com/jamartif/GitSight.git
cd GitSight
npm install
npm run package # genera gitsight-0.1.0.vsix
code --install-extension gitsight-0.1.0.vsix
Desarrollo
Abre la carpeta en VS Code y pulsa F5 ("Run GitSight") para lanzar una ventana de desarrollo con la extensión cargada.
npm run watch # compilación incremental
npm test # tests (parsers, layout del grafo, URLs remotas y un repo git real temporal)
Publicar una nueva versión
Crea y sube un tag con la versión; la GitHub Action Release ejecuta los tests, genera el .vsix y crea la release con el instalador adjunto:
git tag v0.2.0
git push origin v0.2.0
La versión del package.json se toma automáticamente del tag. Los tags con sufijo (v0.2.0-beta.1) se publican como pre-release. También se puede lanzar a mano desde la pestaña Actions (crea una release en borrador).
Requisitos: VS Code ≥ 1.90 y git en el PATH.
Arquitectura
src/
extension.ts activación y registro de vistas
commands.ts todos los comandos
context.ts repositorio activo, caché de blame, formato
uris.ts esquema gitsight: para ver archivos en cualquier revisión
git/
gitService.ts wrapper tipado sobre la CLI de git
parsers.ts parsers puros (blame, log, refs, stashes, worktrees…)
graphLayout.ts algoritmo de carriles del grafo
remoteProviders.ts URLs de GitHub/GitLab/Bitbucket/Azure/Gitea
annotations/ blame de línea, hovers, CodeLens, blame/heatmap/cambios de archivo
views/ vistas de árbol
webviews/ grafo de commits y detalles del commit
Licencia
MIT — úsala, modifícala y compártela libremente.
GitSight es un proyecto independiente y no está afiliado a GitLens ni a GitKraken.

