Hacé tu fork en GitHub

Un tour por el Wollok IDE


A continuación te vamos a contar cuáles son las principales herramientas con las que cuenta el entorno integrado de Wollok. También tenés este tutorial paso a paso que te ayudará a conocer las herramientas


Si querés trabajar con un tema oscuro, te recomendamos que te descargues este archivo de configuración y luego lo importes en tu entorno de trabajo, como lo muestra el siguiente video:


Una vez que importaste las preferencias, reiniciá Wollok, y al recargar vas a ver las herramientas adaptadas para visualizarse con un fondo oscuro:


El editor de Wollok ofrece desde ya coloreado de sintaxis, pero también viene con capacidades de autocompletado.


Por ejemplo, podemos crear a pepita, un ave que tiene energía y que sabe volar. Activamos el autocompletado de los elementos sintácticos de Wollok mediante las teclas Ctrl + Barra.
Responsive image

También con las teclas Ctrl + Barra podemos activar autocompletes más elaborados, como las estructuras de selección (if) o la creación de una clase

Aquí utilizamos asistentes de contenido más específicos para, por ejemplo, saber qué mensajes enviar a un objeto:


Familiarizarse con el editor es fundamental para sentirnos cómodos en el ambiente de trabajo. Por eso te queremos contar algunos de los shortcuts que va a hacerte más feliz la estadía.


Herramientas para buscar...


Ctrl + Shift + R: busca un recurso (archivo), filtrando por nombre o extensión.
Ctrl + Shift + F3: busca cualquier elemento creado por vos o que venga con la biblioteca de Wollok, como Date, Set o String.


Ctrl + O permite buscar dentro de un archivo todo tipo de elementos: definiciones de objetos, clases, variables o métodos.

Un popurri de uso de shortcuts para borrar, intercalar líneas o comentar/descomentarlas.

Resumen de shortcuts útiles

Teclas ¿Qué hacen?
Ctrl + Espacio Autocompletado
Ctrl + 1 Ayuda contextual para resolver un problema (ver Quick Fixes)
Ctrl + Shift + F3 Busca un elemento (objeto, clase, etc.) dentro del ambiente
Ctrl + O Busca una definición dentro de un archivo
F3 Va de una referencia a su definición
Alt + Flecha Arriba | Flecha Abajo Mueve toda la línea hacia arriba o abajo
Ctrl + D Elimina una línea
Ctrl + Shift + C Comenta una línea
Alt + Shift + R Renombra una referencia
F2 Renombra un archivo
Ctrl + S Guarda un archivo
Ctrl + Shift + S Guarda todos los archivos modificados
Ctrl + M Maximiza la ventana activa
Ctrl + Shift +/- Manejo de zoom de la ventana (Agranda o achica el font)
Ctrl + PageDown / PageUp Avanza / Retrocede un tab en los archivos abiertos dentro del Editor
Ctrl + Shift + L Muestra la lista de shortcuts activos

La detección temprana de errores es una herramienta que va orientando al desarrollador a construir software con mayor robustez. En Wollok este rol lo cumple el validador que está integrado totalmente con el editor.

Detecta construcciones erróneas (constructores en objetos o tests, referencias inválidas, envíos de mensajes incorrectos, entre otros), también chequea el uso o inicialización de variables y constantes como la mayoría de los entornos modernos. Pero Wollok lleva las validaciones a un nivel extra: evita malas prácticas como las construcciones "if (expresion) return true else false", redefinir métodos que solo llamen a super, definir constructores que no inicialicen referencias constantes, definir una estructura de clases con referencias circulares, etc.

Y lo más importante, cada año se incorporan y se revisan esas validaciones de acuerdo a los trabajos prácticos que realizan los estudiantes. Sí, el código escrito retroalimenta al lenguaje.


Una muestra de cómo funciona el validador. Al posicionarnos con el mouse sobre la parte izquierda, se expande la descripción de la advertencia (en amarillo) o el error (en rojo). En la solapa Problemas tenemos un resumen de todos los issues de cada uno de los proyectos.

¿Cómo visualizar la solapa Problemas?

Para activarla, se debe ir al menú Ventana > Mostrar vista > Otras > y buscamos "Problemas". Allí se agrupan los diferentes tipos de problema (error, advertencia, información).


¿Puedo ejecutar un programa con errores o advertencias?

La respuesta es sí: en el caso de las advertencias, se pasan por alto al ejecutar un programa, un test o la consola REPL. En el caso del error, te aparecerá un mensaje de confirmación, ya que el error puede ser que impida la normal ejecución del software que creaste.


Tareas pendientes en el IDE

Si en algún momento escribís código y no quedás del todo conforme, o bien querés avanzar y pensás mejorarlo más adelante, podés generar un recordatorio escribiendo un comentario con las palabras TODO o FIXME. Cuando abras la solapa Tareas (Ventana > Mostrar vista > Otras > buscamos Tareas) tendrás la lista completa de temas pendientes. Haciendo doble click sobre cada elemento te lleva directamente al código.



Escribimos en el código los tags TODO (pendiente) o FIXME (solucionar o mejorar) y aparecerá automáticamente en la vista Tareas.

Para configurar que otras palabras clave aparezcan en la solapa Tasks, activás el menú Ventana > Preferencias > Buscas Códigos de Tarea (Task tags) y agregás o modificás las etiquetas existentes.


Detectar los errores es el primer paso, Wollok permite aplicar soluciones predefinidas a problemas frecuentes. Para activarlo, basta con ubicarse en la parte subrayada en rojo dentro del código y presionar Ctrl + 1, o bien dejar que se active el menú contextual. Entonces se habilita una serie de opciones (quick fixes) que permiten resolver ese conflicto.


En el ejemplo vemos cómo desde un test podemos crear un wko, o una clase, y agregarle métodos nuevos.
Esto podés hacerlo desde un WKO, clase o mixin.

Crear una clase, un wko, agregar métodos, referencias (locales, de instancia, parámetros), eliminar construcciones redundantes, corregir llamadas a constructores, son solo alguna de las posibilidades que tenés, que te permiten concentrarte en el diseño y automatizar tareas repetitivas de implementación.



Formateo básico de un elemento de Wollok.

Wollok tiene un formateador basado en su sintaxis que estiliza el código y le da un formato homogéneo, algo necesario en un lenguaje educativo que propone proyectos donde se conforma un grupo de trabajo. Para activarlo, ubicado sobre un archivo, presioná las teclas Ctrl + Shift + F (Format).

Una alternativa a esto es activar la opción para que se formatée automáticamente el archivo al guardar. Para esto debemos ir a Settings > Wollok y habilitar la opción Autoformat the source code on save



Ejecutando en la consola un archivo .wlk.

Una de las primeras herramientas para trabajar es la consola REPL (nombre que surge del acrónimo Read, Evaluate, Print, Loop), que permite la interacción inicial entre el usuario y el intérprete Wollok.

Si bien tiene algunos alcances limitados (como las opciones de autocompletado), es una forma de comenzar a conocer cómo responden los objetos ante el envío de un mensaje.

Para utilizarla, basta con hacer click derecho sobre un archivo .wlk y elegir la opción "Ejecutar en consola REPL". También te aparecerá el botón "Play" en la barra de herramientas cuando estés en el Explorador de Paquetes.


Podés enviar mensajes a objetos, crear referencias constantes o variables, probar cómo funcionan los números, las fechas y otros objetos que vienen con Wollok, etc. Escribís la línea y al final presionás la tecla Enter. Con la flecha arriba te irán apareciendo los mensajes que enviaste anteriormente. También podés pegar código del portapapeles, y los errores se integran directamente con el editor.


Recordá que cuando modifiques un archivo .wlk, debés reiniciar la consola para que tome los cambios, vas a ver el aviso en la consola o bien en la barra de herramientas arriba a la derecha. Las opciones en ese caso son: reiniciar desde cero tomando los nuevos cambios, o ejecutar automáticamente los mismos comandos que la última sesión.


Exportar una sesión a un test

Podemos exportar una sesión de nuestra consola a un test, mediante el botón específico en la barra de herramientas como se muestra a continuación:


Ejecutar una sesión sin un archivo asociado

También tenés la posibilidad de ejecutar la consola sin necesidad de asociarlo a un archivo particular, mediante una opción específica en la barra:


Importando archivos desde la consola

Wollok es una herramienta de exploración, eso incluye hacer pruebas sobre un archivo de definiciones de un proyecto y luego ir importando otros archivos, como vemos en el ejemplo. Esta opción solo funciona si ejecutás la consola para un archivo .wlk de tu proyecto (no funciona cuando la consola no tiene asociado un archivo), y no podés importar archivos una vez que los modificaste, para eso te recomendamos que utilices los botones de reinicio.


Importando archivos dinámicamente (disponible desde la versión 1.8 Hypatia)

La consola interactiva es útil para dar los primeros pasos, pero cuando necesitamos poder automatizar nuestras pruebas, el Test Runner de Wollok es la herramienta más adecuada para poder validar el software que construimos.


Ejecutando un conjunto de tests: vemos que se puede navegar directamente al código donde se originó el error, copiar la pila de ejecución de un test que no terminó bien o ver el tiempo que demoró la ejecución de todos los tests. Y el ejercicio de modificar el código y ejecutar los tests es un proceso iterativo e incremental.

Si querés conocer más acerca del testeo unitario de Wollok te recomendamos que leas este apunte.


Mostrar solo los tests con errores o fallas


Cuando tenés muchos tests, podés filtrar solo aquellos que no anduvieron ok.

Ejecutar todos o algunos tests de un proyecto o directorio

Es posible ejecutar todos los tests de un proyecto, los tests de un directorio o bien diferentes archivos .wtest, como te lo mostramos en este video:


Ejecutando todos los tests de un proyecto, y luego seleccionamos dos de los tres archivos de test para ejecutarlos.

Ejecutar un solo test de un archivo

Es posible ejecutar un solo test dentro de un archivo, escribiendo la palabra "only" antes del test en cuestión. Eso te permitirá concentrarte en ese test e incluso lo podrás integrar con el diagrama dinámico, que se explica en la siguiente solapa.


Ejecutando un solo test en un archivo, eso activa la integración con el diagrama dinámico.

Diagrama Estático

Wollok trae también herramientas para comunicar el diseño, como el diagrama estático que está totalmente integrado con el editor. A medida que vamos escribiendo el diagrama estático se regenera y se guarda junto con el proyecto. Podemos configurar qué variables, métodos y elementos (WKO, clases, mixins) mostrar.


Una pequeña demostración del diagrama estático de Wollok

Para conocer en detalle todas las funcionalidades te recomendamos que leas este apunte.


Diagrama dinámico

Wollok cuenta además con un Diagrama dinámico que se integra con la consola REPL, que permite mostrar las referencias entre los diferentes objetos que están en el ambiente: los candados representan las referencias constantes, el diagrama permite ocultar objetos del diagrama y adaptarse mejor para personas con daltonismo.


Una pequeña demostración del diagrama dinámico de Wollok: en azul aparecen los objetos creados por nosotros, en verde los que trae la biblioteca de Wollok.