SnapGo
SnapGo es una extensión avanzada y ultra rápida para Visual Studio Code diseñada para generar capturas de código profesionales de alta calidad.
A diferencia de alternativas como CodeSnap (que dependen de Webviews pesados, HTML y rendering en Canvas dentro del navegador integrado), SnapGo utiliza un motor nativo escrito en Go. El renderizado de imágenes se realiza mediante manipulación directa de bitmaps e imágenes nativas, logrando una velocidad insuperable, consumo mínimo de memoria RAM y un rendimiento inmediato.
Características principales
- Rendimiento Nativo Ultra Rápido: Generación de imágenes en milisegundos sin la latencia de HTML, DOM o Canvas.
- Renderizado Directo a Bitmap: Usa paquetes nativos de imágenes de Go para dibujar el código directamente en mapa de bits con máxima precisión gráfica.
- Modos de Captura Flexibles:
- Selección de código: Captura únicamente el fragmento de código resaltado en el editor.
- Archivo completo: Captura todo el archivo activo o un archivo seleccionado desde el Explorador de archivos.
- Detección Automática: Identifica inteligentemente si tienes código seleccionado o si deseas capturar el archivo completo.
- Menús contextuales integrados: Acceso rápido haciendo clic derecho dentro del editor de código o en el explorador de archivos.
- Soporte Multiplataforma Integrado: Incluye binarios nativos optimizados para Linux, macOS (Intel y Apple Silicon) y Windows.
- Guardado interactivo: Diálogo directo de guardado con nombre sugerido según el archivo y extensión según el lenguaje.
- Apertura instantánea: Opción para abrir la imagen generada directamente en VS Code con un solo clic tras su creación.
Requisitos
No necesitas instalar Go ni dependencias adicionales en tu sistema. La extensión incluye automáticamente los ejecutables nativos listos para usarse en Linux, macOS y Windows.
Comandos disponibles
Puedes acceder a los comandos de SnapGo desde la Paleta de Comandos (Ctrl+Shift+P / Cmd+Shift+P), o mediante el menú contextual (clic derecho):
SnapGo: Image from Selection (snapgo.generateImageSelection):
- Genera una captura del fragmento de código seleccionado en el editor actual.
SnapGo: Image from Full File (snapgo.generateImageFullFile):
- Genera una captura de todo el archivo activo o del archivo seleccionado en el Explorador de VS Code.
SnapGo: Generate Code Image (Auto) (snapgo.generateImage):
- Detecta automáticamente si hay texto seleccionado para capturar la selección; si no hay selección, captura el archivo completo.
Ejemplo de uso
- Abre cualquier archivo de código en VS Code.
- Para capturar una selección: Resalta el bloque de código deseado, haz clic derecho y selecciona SnapGo > SnapGo: Image from Selection.
- Para capturar el archivo completo: Haz clic derecho en el editor o en el archivo en el panel del Explorador y selecciona SnapGo > SnapGo: Image from Full File.
- Elige dónde guardar tu archivo PNG en el cuadro de diálogo.
- ¡Haz clic en "Open Image" en la notificación flotante para ver tu captura de inmediato!
¿Por qué SnapGo es diferente y mejor?
| Característica |
Extensiones tradicionales (e.g. CodeSnap) |
SnapGo |
| Motor de Renderizado |
Webview HTML5 + Chromium + Canvas |
Binario Nativo Go (Bitmap) |
| Velocidad de generación |
Lenta / Con retardos de renderizado |
Instantanéa (Milisegundos) |
| Uso de Memoria RAM |
Alto (Levanta proceso de navegador) |
Mínimo y Eficiente |
| Acceso al Sistema |
Indirecto a través de API Web |
Ejecución Directa de Proceso Nativo |
| Dependencias externas |
Requiere entorno gráfico de navegador |
Sin dependencias externas |
Optimización avanzada y rendimiento
1. Generación nativa de imágenes
A diferencia de renderizar el código dentro de un Webview usando HTML, CSS y convertirlos a imágenes mediante Canvas o SVG a PNG en JavaScript, SnapGo procesa el texto e instrucciones de código en el backend en Go, dibujando los caracteres y sintaxis píxel por píxel directamente sobre una estructura de mapa de bits (bitmap) antes de codificar la imagen a PNG.
2. Cero overhead de Webview
Las extensiones basadas en HTML necesitan inicializar un motor de renderizado de navegador (Chromium/Electron context), inyectar fuentes y aplicar estilos CSS. SnapGo elimina por completo esta capa intermedia, ejecutando un proceso binario ligero que se abre, genera la imagen y se cierra en cuestión de milisegundos.
Los ejecutables compilados en Go aprovechan la concurrencia nativa y las optimizaciones a nivel de código de máquina para procesar archivos pequeños o de miles de líneas sin congelar la interfaz de VS Code.
Problemas conocidos
- En archivos extremadamente extensos, el diálogo de guardado esperará la finalización del binario antes de mostrar la confirmación.
- Soporte de sintaxis basado en los lenguajes principales (
js, ts, py, go, rs, c, cpp, cs, java, html, css, json, md, sh, yaml, sql).
Repositorios oficiales
¡Disfruta de capturas de código ultra rápidas y livianas con SnapGo!