LazowskiAnton · Extensions

BuildSmith

Qué hizo su compilación y por qué tardó tanto. Tras cada compilación, la barra de estado muestra su tiempo y el cambio respecto a la anterior; la ventana Escala de tiempo de compilación muestra cada proyecto en una escala de tiempo: cuáles se ejecutaron en paralelo, cuáles esperaron y la ruta crítica que determinó el total.

Gratis · Visual Studio 2022 y 2026 · 14 idiomas de interfaz · sin telemetría

Por qué BuildSmith

La ventana Escala de tiempo de compilación: el resultado de la compilación y su tiempo frente a la anterior, una barra por proyecto en el orden en que empezaron, la ruta crítica remarcada en naranja

Adónde se fue el tiempo

La ventana Salida dice que la compilación tardó 1 min 48 s. La escala de tiempo dice qué proyectos se llevaron ese tiempo, cuáles de ellos se ejecutaron a la vez y qué cadena de proyectos tuvo que esperar toda la compilación.

Comparada con una compilación equivalente

Una compilación Debug en main se compara con la compilación Debug anterior en main, no con una recompilación, una compilación Release ni otra rama. Por eso ▲ 4.1 s significa algo.

Discreta

Ninguna ventana se abre sola, nada aparece de golpe: una línea en la barra de estado tras la compilación. Con el registro desactivado, BuildSmith duerme de verdad: ni siquiera escucha los eventos de compilación.

Gratis, sin letra pequeña

Sin suscripción, sin versión «pro», sin recopilación de datos, sin mensajes en la ventana Salida ni al iniciar. El historial se queda en su equipo. Lo único que le pediremos —cuando ya la haya usado durante un tiempo— es una valoración en el Marketplace. Funciona en Visual Studio 2022 y 2026, x64 y ARM64.

Características

La compilación de un vistazo

Abra Compilar › Escala de tiempo de compilación (también en Ver › Otras ventanas y en la barra de herramientas SmithWorks). La ventana muestra la última compilación —o cualquiera del historial— con un resumen arriba y una barra por proyecto debajo.

La ventana Escala de tiempo de compilación: el encabezado con el resultado, el tiempo y el cambio, y debajo los proyectos en una escala de tiempo con la ruta crítica remarcada, los proyectos actualizados rayados y una información sobre herramientas

El tiempo en la barra de estado

Tras cada compilación, la barra de estado de Visual Studio muestra su tiempo y el cambio respecto a la compilación comparable anterior: ⏱ 1 min 48 s (▲ 4.1 s) — ▲ más lenta, ▼ más rápida. Es lo único que BuildSmith muestra por sí mismo, y se puede desactivar en la configuración.

Comparable significa el mismo tipo de compilación (Compilar o Recompilar), la misma configuración, la misma plataforma y la misma rama de Git. Si todavía no hay una compilación así, solo se muestra el tiempo.

El encabezado

La parte superior de la ventana resume la compilación mostrada:

En pantallaSignificado
✓ 1 min 48 s  ▲ 4.1 s frente a la anteriorEl resultado (correcta o con errores), el tiempo total y una insignia con el cambio respecto a la compilación comparable anterior; su información sobre herramientas indica cuánto tardó aquella compilación y cuándo.
14 proyectos · 9 compilados · 5 actualizados · 1 con erroresCuántos proyectos participaron, cuántos se compilaron realmente, cuántos se omitieron por estar actualizados y cuántos fallaron.
ruta crítica 1 min 31 s · Debug · Any CPU · mainLa duración de la ruta crítica y, a continuación, la configuración, la plataforma y la rama de Git de la compilación.
El selector de compilacionesCualquier compilación registrada de la solución: la escala de tiempo cambia a ella.
🏷 ⏻ ⚙🏷 etiqueta la compilación mostrada, ⏻ activa o desactiva el registro, ⚙ abre la configuración.

Las barras

En pantallaSignificado
Barra azulUn proyecto que se compiló, una fila por proyecto en el orden en que empezaron: la barra comienza donde el proyecto empezó realmente tras el inicio de la compilación y es tan larga como lo que tardó. Las barras que se solapan se ejecutaron en paralelo, así se ve lo paralela que fue realmente la compilación.
Contorno naranjaLa ruta crítica: la cadena de proyectos, cada uno esperando al anterior, que determinó el tiempo total. Acelerar uno de ellos acelera la compilación; los demás proyectos se ejecutaron a la par.
Trozo rayadoActualizado: se omitió, no cambió nada en él.
Barra rojaEl proyecto no se pudo compilar.
▲ 2.4 sJunto a cada barra: su tiempo y, cuando es notable, el cambio respecto al mismo proyecto en la compilación comparable anterior.

Pase el puntero sobre una barra para ver los detalles: cuánto tardó el proyecto, desde cuándo hasta cuándo tras el inicio de la compilación, el cambio respecto a la compilación anterior y si estaba en la ruta crítica.

La ventana puede quedarse abierta mientras trabaja: pasa sola a cada nueva compilación. Arriba están las pestañas Escala de tiempo, Comparar e Historial.

Nunca actualizados

Algunos proyectos se compilan en cada compilación, aunque no haya cambiado nada en ellos. Cada vez cuesta unos segundos y nadie se da cuenta. BuildSmith sí: encima de la escala de tiempo de una compilación incremental, una franja indica cuántos proyectos así hay y cuánto cuestan en cada compilación. Al desplegarla muestra la lista de proyectos; sus filas en la escala de tiempo llevan la marca ⟳.

Una franja encima de la escala de tiempo: 3 proyectos nunca están actualizados, 6.4 s en cada compilación; la lista de proyectos y las causas habituales

La regla: se señala un proyecto cuando se compiló en cada una de las últimas 3 a 5 compilaciones incrementales de la misma configuración y rama, mientras más de la mitad de la solución estaba actualizada. Las recompilaciones no cuentan: en ellas todo se compila a propósito.

Las causas habituales:

Corregirlo ahorra ese tiempo en cada compilación. La franja se puede desactivar en la configuración: Señalar los proyectos que nunca están actualizados.

Historial

La pestaña Historial enumera las compilaciones registradas de la solución, de la más reciente a la más antigua, agrupadas por día. Cada fila muestra la hora, el tipo de compilación, la configuración y la rama, su etiqueta y una barra proporcional al tiempo de compilación: una compilación lenta destaca enseguida.

La pestaña Historial: un cuadro de búsqueda, intervalos de fechas, compilaciones marcadas, etiquetas, barras proporcionales al tiempo de compilación y el menú contextual

Buscar una compilación

Escriba en el cuadro de búsqueda: cada palabra debe encontrarse en la etiqueta, la rama, la configuración o el tipo de compilación. Acote por fecha con Hoy, Ayer y hoy, 7 días o Todo, o elija fechas en el calendario (Fechas…). Solo etiquetadas deja las compilaciones que ha etiquetado.

Abrir, etiquetar, conservar, eliminar

Haga clic en una compilación (o pulse Enter) para abrirla en la escala de tiempo. Con el botón derecho tiene Abrir en la escala de tiempo, Etiquetar…, Conservar (no eliminar nunca) y Eliminar. La tecla Delete elimina la compilación, con Deshacer durante unos segundos. El menú ⋯ elimina las compilaciones anteriores a una fecha o borra el historial de esta solución o de todas.

Marque compilaciones para compararlas o para eliminar varias a la vez. Marcar las etiquetadas marca cada compilación mostrada que tenga etiqueta: la forma más rápida de comparar «antes» y «después».

Cuánto tiempo se conservan las compilaciones

Las compilaciones se conservan solo en este equipo, en %LocalAppData%\BuildSmith, un historial por solución, durante 1 día, 3 días, 1 semana (el valor predeterminado), 2 semanas o 1 mes. Las compilaciones más antiguas se eliminan al abrir la solución o al terminar una compilación. Las compilaciones etiquetadas y conservadas permanecen, sea cual sea su antigüedad.

Etiquetas

🏷 en el encabezado (o Etiquetar… en el menú del Historial) asigna a una compilación un texto corto y un color: uno de cinco, o uno propio desde un pequeño selector con paleta y colores recientes. Las etiquetas usadas recientemente se vuelven a ofrecer con un clic, de modo que una serie de compilaciones puede compartir una misma etiqueta.

Una compilación etiquetada nunca se elimina por antigüedad (salvo que desactive Conservar compilaciones etiquetadas). Conservar (no eliminar nunca) fija una compilación sin etiqueta.

Registro

⏻ en el encabezado decide si se registran las compilaciones:

OpciónQué ocurre
Registrar compilacionesEl valor predeterminado: cada compilación se cronometra y se guarda en el historial.
No para esta soluciónEsta solución deja de registrarse; las demás siguen registrándose. La configuración enumera esas soluciones, con Volver a registrar.
Desactivado en todas partesBuildSmith duerme en todas las soluciones.

Dormido, BuildSmith no hace realmente nada: no se suscribe a los eventos de compilación ni escribe nada en la barra de estado ni en el disco. El historial se conserva y la ventana ofrece Volver a registrar compilaciones.

Comparar compilaciones

La pestaña Comparar pone compilaciones lado a lado: si la corrección sirvió, qué proyecto se volvió más lento tras la actualización, cómo evolucionó el tiempo de compilación durante la semana.

La pestaña Comparar: fichas de compilaciones, la tendencia de los tiempos de compilación y una tabla de proyectos por compilaciones con cambios en color, minigráficos y la ruta crítica

Elegir las compilaciones

Marque de 2 a 10 compilaciones en Historial y pulse ⇄ Comparar N. Sin marcas, la pestaña Comparar muestra la compilación mostrada frente a la comparable anterior. Las compilaciones aparecen arriba como fichas; ✕ quita una de la comparación.

La tendencia y la tabla

Un pequeño gráfico muestra el tiempo total de cada compilación. Debajo, una tabla de proyectos × compilaciones: cada celda se colorea según el cambio respecto a la primera compilación —más cálido es más lento, verde es más rápido— con un minigráfico, el cambio y ● donde el proyecto estaba en la ruta crítica. Los proyectos sin cambios notables se agrupan en … N más sin cambios notables.

Solo los proyectos que le interesan

Proyectos: … filtra la tabla: Todos los proyectos (N), Con cambios notables (N), En la ruta crítica (N) o Solo los marcados, con un cuadro de búsqueda. El filtro se recuerda por solución, y la tendencia suma entonces el tiempo de los proyectos filtrados: la tendencia de sus proyectos, no de toda la solución.

Un proyecto a lo largo de las compilaciones

Haga clic en un proyecto para ver sus barras en cada compilación comparada; una barra remarcada indica que estaba en la ruta crítica de esa compilación. ‹ Todos los proyectos vuelve atrás.

Copiar como Markdown

⧉ Copiar pone la tabla tal como la ve —las mismas compilaciones, el mismo filtro— en el Portapapeles como tabla de Markdown, lista para un pull request o un chat. En la vista de un solo proyecto copia ese proyecto.

Configuración

Herramientas › Opciones › SmithWorks › BuildSmith (o ⚙ en la ventana Escala de tiempo de compilación). Cada opción tiene una breve descripción de lo que hace.

OpciónPredeterminado
Registrar compilacionesactivado
No se registra para:No hay ninguna solución desactivada.
Conservar compilaciones durante:1 semana
Conservar compilaciones etiquetadasactivado
Tiempo en la barra de estadoactivado
Señalar los proyectos que nunca están actualizadosactivado
Pedir una valoración en el Marketplaceactivado

Borrar todo el historial (N soluciones, tamaño)… elimina las compilaciones registradas de todas las soluciones y pregunta si conservar las etiquetadas y las conservadas. Abajo: Restablecer valores predeterminados, Documentación, Valorar en Marketplace y Enviar comentarios.

La configuración y el historial se guardan en %LocalAppData%\BuildSmith.

La página de opciones de BuildSmith
La página de opciones.

Preguntas frecuentes

¿BuildSmith envía algún dato?

No. Los tiempos de compilación se toman de los eventos de compilación de Visual Studio y se guardan en su equipo, en %LocalAppData%\BuildSmith. Sin solicitudes de red, sin telemetría.

¿Por qué no aparece ningún cambio junto al tiempo?

Todavía no hay una compilación comparable: el mismo tipo (Compilar o Recompilar), configuración, plataforma y rama. Compile una vez más y aparecerá el cambio.

¿Qué es exactamente la ruta crítica?

La cadena de proyectos que la compilación tuvo que esperar: cada uno empezó solo cuando terminó el anterior. Su duración es lo mínimo que puede tardar la compilación con estos proyectos, tenga los núcleos que tenga. Acelerar un proyecto fuera de la ruta crítica no acorta la compilación.

La ventana se queda vacía tras una compilación.

Compruebe que el registro está activado (⏻ en la ventana, Registrar compilaciones en la configuración) y que esta solución no está en la lista No se registra para. Las compilaciones iniciadas fuera de Visual Studio (dotnet build en la línea de comandos) no se registran.

¿BuildSmith ralentiza la compilación?

No. Escucha el inicio y el fin de cada proyecto, que Visual Studio notifica de todos modos, y escribe un pequeño archivo tras la compilación. No cambia la compilación ni su registro.

¿Cuánto espacio en disco ocupa el historial?

Muy poco: una compilación es una lista corta de proyectos con sus tiempos. La configuración muestra el tamaño junto a Borrar todo el historial, y las compilaciones antiguas desaparecen solas tras el período elegido.

¿Dónde informo de un problema o propongo una característica?

Abra una incidencia en el repositorio Feedback de GitHub: hay formularios para errores e ideas (cambie los nombres privados). También puede usar la pestaña Q&A en Marketplace.

Historial de cambios

1.0.0